@lovrabet/rabetbase-cli 2.3.9-beta.3 → 2.3.10-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 (258) 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/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/get.js +1 -1
  53. package/lib/commands/config/index.js +1 -1
  54. package/lib/commands/config/list.js +1 -1
  55. package/lib/commands/config/set.js +1 -1
  56. package/lib/commands/config/shared.js +1 -1
  57. package/lib/commands/data/filter.js +1 -1
  58. package/lib/commands/data/getOne.js +1 -1
  59. package/lib/commands/data/index.js +1 -1
  60. package/lib/commands/data/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/db/analysis-batching.js +1 -1
  80. package/lib/commands/db/analyze-batch-plan.js +1 -1
  81. package/lib/commands/db/analyze-cancel.js +1 -1
  82. package/lib/commands/db/analyze-start.js +1 -1
  83. package/lib/commands/db/analyze-status.js +1 -1
  84. package/lib/commands/db/create.js +1 -1
  85. package/lib/commands/db/delete.js +1 -1
  86. package/lib/commands/db/detail.js +1 -1
  87. package/lib/commands/db/diff.js +1 -1
  88. package/lib/commands/db/index.js +1 -1
  89. package/lib/commands/db/list.js +1 -1
  90. package/lib/commands/db/shared.js +1 -1
  91. package/lib/commands/db/tables.js +1 -1
  92. package/lib/commands/db/test.js +1 -1
  93. package/lib/commands/db/update.js +1 -1
  94. package/lib/commands/doctor.js +1 -1
  95. package/lib/commands/file/index.js +1 -1
  96. package/lib/commands/init/index.js +1 -1
  97. package/lib/commands/issue/index.js +1 -1
  98. package/lib/commands/issue/nudge.js +1 -1
  99. package/lib/commands/issue/report.js +1 -1
  100. package/lib/commands/issue/shared.js +1 -1
  101. package/lib/commands/logs/index.js +1 -1
  102. package/lib/commands/menu/delete.js +1 -1
  103. package/lib/commands/menu/group-create.js +1 -1
  104. package/lib/commands/menu/group-update.js +1 -1
  105. package/lib/commands/menu/index.js +1 -1
  106. package/lib/commands/menu/list.js +1 -1
  107. package/lib/commands/menu/regroup-start.js +1 -1
  108. package/lib/commands/menu/shared/compare-table.js +1 -1
  109. package/lib/commands/menu/shared/delete-plan.js +1 -1
  110. package/lib/commands/menu/shared/facts.js +1 -1
  111. package/lib/commands/menu/shared/index.js +1 -1
  112. package/lib/commands/menu/shared/inquirer.js +1 -1
  113. package/lib/commands/menu/shared/local-pages.js +1 -1
  114. package/lib/commands/menu/shared/logic.js +1 -1
  115. package/lib/commands/menu/shared/mutations.js +1 -1
  116. package/lib/commands/menu/shared/service.js +1 -1
  117. package/lib/commands/menu/shared/sync-core.js +1 -1
  118. package/lib/commands/menu/shared/update-core.js +1 -1
  119. package/lib/commands/menu/shared/valid-url.js +1 -1
  120. package/lib/commands/menu/sync.js +1 -1
  121. package/lib/commands/menu/update.js +1 -1
  122. package/lib/commands/notification/config-list.js +1 -1
  123. package/lib/commands/notification/index.js +1 -1
  124. package/lib/commands/page/generate-start.js +1 -1
  125. package/lib/commands/page/generate-status.js +1 -1
  126. package/lib/commands/page/index.js +1 -1
  127. package/lib/commands/page/pull.js +1 -1
  128. package/lib/commands/page/push.js +1 -1
  129. package/lib/commands/page/relation-audit.js +1 -1
  130. package/lib/commands/page/shared.js +1 -1
  131. package/lib/commands/page/standard-page-status.js +1 -1
  132. package/lib/commands/page/sync.js +1 -1
  133. package/lib/commands/permit/index.js +1 -1
  134. package/lib/commands/permit/page-get.js +1 -1
  135. package/lib/commands/permit/page-set.js +1 -1
  136. package/lib/commands/permit/role-apis-set.js +1 -1
  137. package/lib/commands/permit/role-menus-set.js +1 -1
  138. package/lib/commands/permit/role-menus.js +1 -1
  139. package/lib/commands/permit/shared.js +1 -1
  140. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  141. package/lib/commands/project/create/format-elapsed.js +1 -1
  142. package/lib/commands/project/create/main.js +1 -1
  143. package/lib/commands/project/create/non-interactive.js +1 -1
  144. package/lib/commands/project/create/project-template-path.js +1 -1
  145. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  146. package/lib/commands/project/create/use-format-code.js +1 -1
  147. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  148. package/lib/commands/project/index.js +1 -1
  149. package/lib/commands/project/init.js +1 -1
  150. package/lib/commands/project/upgrade.js +1 -1
  151. package/lib/commands/registry.js +1 -1
  152. package/lib/commands/role/create.js +1 -1
  153. package/lib/commands/role/delete.js +1 -1
  154. package/lib/commands/role/detail.js +1 -1
  155. package/lib/commands/role/index.js +1 -1
  156. package/lib/commands/role/list.js +1 -1
  157. package/lib/commands/role/shared.js +1 -1
  158. package/lib/commands/role/update.js +1 -1
  159. package/lib/commands/role/user-add.js +1 -1
  160. package/lib/commands/role/user-remove.js +1 -1
  161. package/lib/commands/role/user-resolve.js +1 -1
  162. package/lib/commands/run/index.js +1 -1
  163. package/lib/commands/schema.js +1 -1
  164. package/lib/commands/sql/create.js +1 -1
  165. package/lib/commands/sql/delete.js +1 -1
  166. package/lib/commands/sql/detail.js +1 -1
  167. package/lib/commands/sql/exec.js +1 -1
  168. package/lib/commands/sql/index.js +1 -1
  169. package/lib/commands/sql/list.js +1 -1
  170. package/lib/commands/sql/pull.js +1 -1
  171. package/lib/commands/sql/push.js +1 -1
  172. package/lib/commands/sql/save.js +1 -1
  173. package/lib/commands/sql/shared.js +1 -1
  174. package/lib/commands/sql/status.js +1 -1
  175. package/lib/commands/sql/validate.js +1 -1
  176. package/lib/commands/task/index.js +1 -1
  177. package/lib/commands/task/status.js +1 -1
  178. package/lib/commands/workspace/add.js +1 -1
  179. package/lib/commands/workspace/index.js +1 -1
  180. package/lib/commands/workspace/remove.js +1 -1
  181. package/lib/config/schema.js +1 -1
  182. package/lib/constant/cdn.js +1 -1
  183. package/lib/constant/cli.js +1 -1
  184. package/lib/constant/defaults.js +1 -1
  185. package/lib/constant/domain.js +1 -1
  186. package/lib/constant/env.js +1 -1
  187. package/lib/constant/output.js +1 -1
  188. package/lib/constant/paths.js +1 -1
  189. package/lib/constant/risk.js +1 -1
  190. package/lib/context/app-resolver.js +1 -1
  191. package/lib/context/auth-resolver.js +1 -1
  192. package/lib/context/config-loader.js +1 -1
  193. package/lib/context.js +1 -1
  194. package/lib/core/alias-resolver.js +1 -1
  195. package/lib/core/api-client.js +1 -1
  196. package/lib/core/bff/config.js +1 -1
  197. package/lib/core/bff/file-system.js +1 -1
  198. package/lib/core/bff/hash.js +1 -1
  199. package/lib/core/bff/lock.js +1 -1
  200. package/lib/core/bff/utils.js +1 -1
  201. package/lib/core/db-resolver.js +1 -1
  202. package/lib/core/page/file-system.js +1 -1
  203. package/lib/core/page/hash.js +1 -1
  204. package/lib/core/page/lock.js +1 -1
  205. package/lib/core/sql-index-auditor.js +1 -1
  206. package/lib/core/sql-sync/config.js +1 -1
  207. package/lib/core/sql-sync/file-system.js +1 -1
  208. package/lib/core/sql-sync/hash.js +1 -1
  209. package/lib/core/sql-sync/lock.js +1 -1
  210. package/lib/core/sql-sync/utils.js +1 -1
  211. package/lib/core/sql-validator.js +1 -1
  212. package/lib/errors.js +1 -1
  213. package/lib/framework/build-all-flags.js +1 -1
  214. package/lib/framework/error-output.js +1 -1
  215. package/lib/framework/explicit-yes.js +1 -1
  216. package/lib/framework/flags.js +1 -1
  217. package/lib/framework/help.js +1 -1
  218. package/lib/framework/index.js +1 -1
  219. package/lib/framework/output.js +1 -1
  220. package/lib/framework/response.js +1 -1
  221. package/lib/framework/runner-alias.js +1 -1
  222. package/lib/framework/runner.js +1 -1
  223. package/lib/framework/schema-export.js +1 -1
  224. package/lib/framework/types.js +1 -1
  225. package/lib/generated/build-info.js +1 -1
  226. package/lib/help.js +1 -1
  227. package/lib/skills/main.js +1 -1
  228. package/lib/skills/npx-skills-add.js +1 -1
  229. package/lib/telemetry/cli-command-trace.js +1 -1
  230. package/lib/telemetry/cli-help-trace.js +1 -1
  231. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  232. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  233. package/lib/telemetry/send-cli-trace-log.js +1 -1
  234. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  235. package/lib/utils/ai_config.js +1 -1
  236. package/lib/utils/apply-jq-filter.js +1 -1
  237. package/lib/utils/cdn-config.js +1 -1
  238. package/lib/utils/check-sdk-version.js +1 -1
  239. package/lib/utils/cli-version-check.js +1 -1
  240. package/lib/utils/cli-version-policy.js +1 -1
  241. package/lib/utils/config.js +1 -1
  242. package/lib/utils/copy-directory.js +1 -1
  243. package/lib/utils/entity-with-id.js +1 -1
  244. package/lib/utils/file-utils.js +1 -1
  245. package/lib/utils/guides-cdn.js +1 -1
  246. package/lib/utils/http-client.js +1 -1
  247. package/lib/utils/is-non-interactive.js +1 -1
  248. package/lib/utils/logger.js +1 -1
  249. package/lib/utils/params.js +1 -1
  250. package/lib/utils/platform.js +1 -1
  251. package/lib/utils/rules-cdn.js +1 -1
  252. package/lib/utils/sleep.js +1 -1
  253. package/lib/utils/template-replacer.js +1 -1
  254. package/lib/utils/update-notice.js +1 -1
  255. package/lib/utils/version.js +1 -1
  256. package/lib/utils/with-active-cookie.js +1 -1
  257. package/lib/utils/write-cli-side-channel.js +1 -1
  258. package/package.json +1 -1
@@ -1 +1 @@
1
- const a151_0x2ce3ba=a151_0x5e64;(function(_0x851201,_0x32c69c){const _0x454492=a151_0x5e64,_0x21c8b4=_0x851201();while(!![]){try{const _0x527419=-parseInt(_0x454492(0x1e7))/0x1*(parseInt(_0x454492(0x223))/0x2)+-parseInt(_0x454492(0x1fe))/0x3*(parseInt(_0x454492(0x225))/0x4)+parseInt(_0x454492(0x1eb))/0x5*(-parseInt(_0x454492(0x1e8))/0x6)+-parseInt(_0x454492(0x200))/0x7*(parseInt(_0x454492(0x202))/0x8)+-parseInt(_0x454492(0x209))/0x9+parseInt(_0x454492(0x21f))/0xa*(-parseInt(_0x454492(0x21d))/0xb)+-parseInt(_0x454492(0x1ea))/0xc*(-parseInt(_0x454492(0x220))/0xd);if(_0x527419===_0x32c69c)break;else _0x21c8b4['push'](_0x21c8b4['shift']());}catch(_0x55c688){_0x21c8b4['push'](_0x21c8b4['shift']());}}}(a151_0x2f47,0x527f5));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';function a151_0x5e64(_0x10cadf,_0x15f3e6){_0x10cadf=_0x10cadf-0x1e0;const _0x2f47dd=a151_0x2f47();let _0x5e6409=_0x2f47dd[_0x10cadf];return _0x5e6409;}import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';function a151_0x2f47(){const _0x2516ee=['Schema','skill','skills','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','Permissions','Project','`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','Workspace','\x20\x20[write]','risk','Configuration','run','Notification\x20Configuration','push','`\x20has\x20been\x20removed.','2004673ltsHFN','isSingleCommand','30IGhaBG','2977091DmUgDG','BFF\x20Scripts','defaultCommand','57940mlAUnx','CLI\x20Built-in\x20Skill','4gukPfb','Instant\x20API','command','length','Run\x20any\x20package.json\x20script','Async\x20Tasks','API\x20Development','SQL\x20Queries','has','read','service','20TKJYOx','49386oopDJy','login','156arQfWe','235qYskOC','\x20\x20[high-risk-write]','App\x20Management','app\x20remote','Dataset\x20&\x20Operations','write','set','get','create','map','File','commands','wildcardDef','Code\x20Generation','Logs','Runtime\x20App\x20Config\x20Management','install','filter','<script>','2020191PHaImc','show','3206PpLAOk','skill\x20','7408eBvYRy','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','use','build','app','Self\x20Update','258219zkAMgu','project','Platform\x20Issue','Smart\x20List\x20Pages','description'];a151_0x2f47=function(){return _0x2516ee;};return a151_0x2f47();}import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x3248d8){const _0x41c6cb=a151_0x5e64;for(const _0x1212b3 of _0x3248d8){definitions['set'](_0x1212b3['service']+':'+_0x1212b3[_0x41c6cb(0x227)],_0x1212b3);let _0x5eb6c1=serviceGroups['get'](_0x1212b3[_0x41c6cb(0x1e6)]);!_0x5eb6c1&&(_0x5eb6c1=[],serviceGroups[_0x41c6cb(0x1f1)](_0x1212b3[_0x41c6cb(0x1e6)],_0x5eb6c1)),_0x5eb6c1[_0x41c6cb(0x21b)](_0x1212b3);}}function registerDeclarativeService(_0x20a712,_0x726c4b,_0x386567){const _0x4de8b0=a151_0x5e64;registerDefinitions(_0x726c4b);_0x386567?.[_0x4de8b0(0x1f7)]&&registerDefinitions([_0x386567[_0x4de8b0(0x1f7)]]);const _0x470bce=_0x1ac6a1=>_0x1ac6a1===_0x4de8b0(0x1e5)?'':_0x1ac6a1===_0x4de8b0(0x1f0)?_0x4de8b0(0x216):_0x4de8b0(0x1ec),_0x42c3cb={'service':_0x726c4b[0x0][_0x4de8b0(0x1e6)],'label':_0x20a712,'commands':_0x726c4b[_0x4de8b0(0x1fc)](_0x281a6b=>!_0x281a6b['hidden'])[_0x4de8b0(0x1f4)](_0x199f62=>({'command':_0x199f62[_0x4de8b0(0x227)],'description':_0x199f62[_0x4de8b0(0x20d)],'tag':_0x470bce(_0x199f62[_0x4de8b0(0x217)])})),'declarative':!![],'defaultCommand':_0x386567?.[_0x4de8b0(0x222)]??(_0x386567?.[_0x4de8b0(0x21e)]?_0x726c4b[0x0]['command']:undefined),'wildcardDef':_0x386567?.[_0x4de8b0(0x1f7)],'isSingleCommand':_0x386567?.[_0x4de8b0(0x21e)]};serviceRegistry[_0x4de8b0(0x21b)](_0x42c3cb),serviceByName['set'](_0x42c3cb[_0x4de8b0(0x1e6)],_0x42c3cb);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a151_0x2ce3ba(0x219),'isSingleCommand':!![]}),registerDeclarativeService(a151_0x2ce3ba(0x213),projectDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x215),workspaceDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x1ed),appDefinitions),registerDeclarativeService('Authentication',authDefinitions,{'defaultCommand':a151_0x2ce3ba(0x1e9)}),registerDeclarativeService(a151_0x2ce3ba(0x1ef),datasetDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x20c),pageDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x1e2),apiDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x226),dataDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x221),bffDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x21a),notificationDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x1e3),sqlDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x1e1),taskDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x212),permitDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x1fa),appConfigDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x20b),issueDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x1f5),fileDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x1f8),codegenDefinitions),registerDeclarativeService(a151_0x2ce3ba(0x218),configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a151_0x2ce3ba(0x20e),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a151_0x2ce3ba(0x208),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a151_0x2ce3ba(0x224),cliSkillDefinitions,{'defaultCommand':a151_0x2ce3ba(0x1fb)}),registerDeclarativeService(a151_0x2ce3ba(0x1f9),logsDefinitions,{'defaultCommand':a151_0x2ce3ba(0x1ff)}),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a151_0x2ce3ba(0x228)]-0x1];last[a151_0x2ce3ba(0x1f6)]=[{'command':a151_0x2ce3ba(0x1fd),'description':a151_0x2ce3ba(0x1e0),'tag':''}];}export const deprecatedAliases={'create':{'service':a151_0x2ce3ba(0x20a),'command':a151_0x2ce3ba(0x1f3)},'start':{'service':a151_0x2ce3ba(0x219),'command':'start'},'build':{'service':a151_0x2ce3ba(0x219),'command':a151_0x2ce3ba(0x206)},'preview':{'service':a151_0x2ce3ba(0x219),'command':'preview'},'logout':{'service':'auth','command':'logout'}};const CLI_SKILL_INSTALL_REMOVED_HINT=a151_0x2ce3ba(0x203),APP_REMOTE_REMOVED_HINT=a151_0x2ce3ba(0x204),APP_USE_REMOVED_HINT=a151_0x2ce3ba(0x211);export function resolveRemovedCommand(_0x5bfd37,_0x603a96){const _0x2f49c0=a151_0x2ce3ba;if(_0x5bfd37==='skill'){const _0x29e955=_0x603a96?_0x2f49c0(0x201)+_0x603a96:_0x2f49c0(0x20f);return{'command':_0x29e955,'message':'`rabetbase\x20'+_0x29e955+_0x2f49c0(0x21c),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x5bfd37===_0x2f49c0(0x210))return{'command':'skills','message':'`rabetbase\x20skills`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x5bfd37===_0x2f49c0(0x207)&&_0x603a96==='remote')return{'command':_0x2f49c0(0x1ee),'message':_0x2f49c0(0x214),'hint':APP_REMOTE_REMOVED_HINT};if(_0x5bfd37===_0x2f49c0(0x207)&&_0x603a96===_0x2f49c0(0x205))return{'command':'app\x20use','message':'`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a151_0x2ce3ba(0x1f3)},'sql':{'new':a151_0x2ce3ba(0x1f3)}};export function resolveDeprecatedSubcommand(_0x5afa23,_0x95c494){return deprecatedSubcommands[_0x5afa23]?.[_0x95c494];}export function findDefinition(_0x39ac45,_0x2a5258){const _0x250c12=a151_0x2ce3ba;return definitions[_0x250c12(0x1f2)](_0x39ac45+':'+_0x2a5258);}export function isKnownService(_0x26ffcf){const _0x396a92=a151_0x2ce3ba;return serviceByName[_0x396a92(0x1e4)](_0x26ffcf);}export function isDeclarativeService(_0xdff823){const _0x54be55=a151_0x2ce3ba;return serviceGroups[_0x54be55(0x1e4)](_0xdff823)||serviceByName['get'](_0xdff823)?.[_0x54be55(0x1f7)]!==undefined;}export function getServiceEntry(_0x550b2b){const _0x32dc26=a151_0x2ce3ba;return serviceByName[_0x32dc26(0x1f2)](_0x550b2b);}export function getLegacyHandler(_0x394387,_0x18c0d0){return undefined;}export function getAllDefinitions(){return Array['from'](definitions['values']());}
1
+ const a151_0x46e4f7=a151_0x330b;(function(_0x38df48,_0x2c30ba){const _0x309bcb=a151_0x330b,_0x116861=_0x38df48();while(!![]){try{const _0x187a2a=parseInt(_0x309bcb(0x8e))/0x1+parseInt(_0x309bcb(0xbb))/0x2*(-parseInt(_0x309bcb(0x93))/0x3)+-parseInt(_0x309bcb(0x8a))/0x4+parseInt(_0x309bcb(0x8b))/0x5*(parseInt(_0x309bcb(0xc6))/0x6)+parseInt(_0x309bcb(0xa2))/0x7+parseInt(_0x309bcb(0xbf))/0x8*(-parseInt(_0x309bcb(0x99))/0x9)+-parseInt(_0x309bcb(0xca))/0xa;if(_0x187a2a===_0x2c30ba)break;else _0x116861['push'](_0x116861['shift']());}catch(_0x3b3441){_0x116861['push'](_0x116861['shift']());}}}(a151_0x2eb4,0xea0a0));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';function a151_0x330b(_0x24c3e6,_0x13bf47){_0x24c3e6=_0x24c3e6-0x86;const _0x2eb4f9=a151_0x2eb4();let _0x330ba7=_0x2eb4f9[_0x24c3e6];return _0x330ba7;}import{taskDefinitions}from'../commands/task/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x230396){const _0x5d1eb7=a151_0x330b;for(const _0x54837a of _0x230396){definitions[_0x5d1eb7(0xc0)](_0x54837a[_0x5d1eb7(0x8d)]+':'+_0x54837a[_0x5d1eb7(0xbe)],_0x54837a);let _0x4ed916=serviceGroups[_0x5d1eb7(0xa6)](_0x54837a['service']);!_0x4ed916&&(_0x4ed916=[],serviceGroups['set'](_0x54837a[_0x5d1eb7(0x8d)],_0x4ed916)),_0x4ed916[_0x5d1eb7(0x9b)](_0x54837a);}}function registerDeclarativeService(_0x1158c7,_0x4e2e66,_0x390081){const _0x429acc=a151_0x330b;registerDefinitions(_0x4e2e66);_0x390081?.[_0x429acc(0xa9)]&&registerDefinitions([_0x390081[_0x429acc(0xa9)]]);const _0x217135=_0x1aeffe=>_0x1aeffe===_0x429acc(0x9e)?'':_0x1aeffe===_0x429acc(0xb0)?_0x429acc(0xbc):_0x429acc(0xc9),_0xc6a7b8={'service':_0x4e2e66[0x0][_0x429acc(0x8d)],'label':_0x1158c7,'commands':_0x4e2e66[_0x429acc(0xab)](_0x2afda2=>!_0x2afda2[_0x429acc(0xd1)])[_0x429acc(0x91)](_0x340573=>({'command':_0x340573['command'],'description':_0x340573[_0x429acc(0xa7)],'tag':_0x217135(_0x340573[_0x429acc(0x94)])})),'declarative':!![],'defaultCommand':_0x390081?.[_0x429acc(0x95)]??(_0x390081?.[_0x429acc(0xcd)]?_0x4e2e66[0x0][_0x429acc(0xbe)]:undefined),'wildcardDef':_0x390081?.[_0x429acc(0xa9)],'isSingleCommand':_0x390081?.[_0x429acc(0xcd)]};serviceRegistry['push'](_0xc6a7b8),serviceByName[_0x429acc(0xc0)](_0xc6a7b8[_0x429acc(0x8d)],_0xc6a7b8);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a151_0x46e4f7(0x96),'isSingleCommand':!![]}),registerDeclarativeService(a151_0x46e4f7(0xc2),projectDefinitions),registerDeclarativeService(a151_0x46e4f7(0x92),workspaceDefinitions),registerDeclarativeService(a151_0x46e4f7(0xad),appDefinitions),registerDeclarativeService(a151_0x46e4f7(0xaa),authDefinitions,{'defaultCommand':a151_0x46e4f7(0x97)}),registerDeclarativeService(a151_0x46e4f7(0xa8),datasetDefinitions),registerDeclarativeService(a151_0x46e4f7(0xae),pageDefinitions),registerDeclarativeService('API\x20Development',apiDefinitions),registerDeclarativeService(a151_0x46e4f7(0xa3),dataDefinitions),registerDeclarativeService(a151_0x46e4f7(0x9a),bffDefinitions),registerDeclarativeService(a151_0x46e4f7(0xb9),notificationDefinitions),registerDeclarativeService(a151_0x46e4f7(0xcc),sqlDefinitions),registerDeclarativeService(a151_0x46e4f7(0x8f),dbDefinitions),registerDeclarativeService(a151_0x46e4f7(0xc5),menuDefinitions),registerDeclarativeService(a151_0x46e4f7(0xa5),taskDefinitions),registerDeclarativeService(a151_0x46e4f7(0xc1),roleDefinitions),registerDeclarativeService('Permissions',permitDefinitions),registerDeclarativeService(a151_0x46e4f7(0xb5),appConfigDefinitions),registerDeclarativeService(a151_0x46e4f7(0xb4),issueDefinitions),registerDeclarativeService(a151_0x46e4f7(0x9c),fileDefinitions),registerDeclarativeService(a151_0x46e4f7(0xba),codegenDefinitions),registerDeclarativeService(a151_0x46e4f7(0xc4),configDefinitions),registerDeclarativeService(a151_0x46e4f7(0xbd),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a151_0x46e4f7(0x9d),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a151_0x46e4f7(0xa4),cliSkillDefinitions,{'defaultCommand':a151_0x46e4f7(0x98)}),registerDeclarativeService(a151_0x46e4f7(0x89),logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last['commands']=[{'command':a151_0x46e4f7(0xd0),'description':a151_0x46e4f7(0xb2),'tag':''}];}export const deprecatedAliases={'create':{'service':a151_0x46e4f7(0xb7),'command':a151_0x46e4f7(0x87)},'start':{'service':a151_0x46e4f7(0x96),'command':a151_0x46e4f7(0x90)},'build':{'service':a151_0x46e4f7(0x96),'command':'build'},'preview':{'service':a151_0x46e4f7(0x96),'command':a151_0x46e4f7(0xc7)},'logout':{'service':a151_0x46e4f7(0xb8),'command':a151_0x46e4f7(0xb3)}};const CLI_SKILL_INSTALL_REMOVED_HINT='Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.',APP_REMOTE_REMOVED_HINT=a151_0x46e4f7(0x8c),APP_USE_REMOVED_HINT='Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.';export function resolveRemovedCommand(_0x384cd7,_0x2500ce){const _0x500010=a151_0x46e4f7;if(_0x384cd7===_0x500010(0xc3)){const _0x4ba9bc=_0x2500ce?'skill\x20'+_0x2500ce:_0x500010(0xc3);return{'command':_0x4ba9bc,'message':_0x500010(0xa0)+_0x4ba9bc+_0x500010(0xaf),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0x384cd7===_0x500010(0xcb))return{'command':_0x500010(0xcb),'message':_0x500010(0xac),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0x384cd7===_0x500010(0x88)&&_0x2500ce===_0x500010(0xb6))return{'command':_0x500010(0xa1),'message':'`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','hint':APP_REMOTE_REMOVED_HINT};if(_0x384cd7==='app'&&_0x2500ce===_0x500010(0xb1))return{'command':_0x500010(0x9f),'message':_0x500010(0x86),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':'create'},'sql':{'new':a151_0x46e4f7(0x87)}};export function resolveDeprecatedSubcommand(_0x591241,_0x452025){return deprecatedSubcommands[_0x591241]?.[_0x452025];}function a151_0x2eb4(){const _0x108cc4=['Schema','read','app\x20use','`rabetbase\x20','app\x20remote','10510556wtQvhk','Instant\x20API','CLI\x20Built-in\x20Skill','Async\x20Tasks','get','description','Dataset\x20&\x20Operations','wildcardDef','Authentication','filter','`rabetbase\x20skills`\x20has\x20been\x20removed.','App\x20Management','Smart\x20List\x20Pages','`\x20has\x20been\x20removed.','write','use','Run\x20any\x20package.json\x20script','logout','Platform\x20Issue','Runtime\x20App\x20Config\x20Management','remote','project','auth','Notification\x20Configuration','Code\x20Generation','250586xMRybq','\x20\x20[write]','Diagnostics','command','8185816XsQcOc','set','Roles','Project','skill','Configuration','Menu','10931574FDSsgx','preview','values','\x20\x20[high-risk-write]','13212870IaNARz','skills','SQL\x20Queries','isSingleCommand','has','from','<script>','hidden','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','create','app','Logs','5187752nQtDjH','5cWJjgt','Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.','service','1401932cmQJKv','Database\x20Connections','start','map','Workspace','3ogVdiF','risk','defaultCommand','run','login','install','9AymJsS','BFF\x20Scripts','push','File'];a151_0x2eb4=function(){return _0x108cc4;};return a151_0x2eb4();}export function findDefinition(_0x6b87ad,_0x2599d7){const _0x148525=a151_0x46e4f7;return definitions[_0x148525(0xa6)](_0x6b87ad+':'+_0x2599d7);}export function isKnownService(_0xcde6b6){const _0x39eb8a=a151_0x46e4f7;return serviceByName[_0x39eb8a(0xce)](_0xcde6b6);}export function isDeclarativeService(_0x150bd5){const _0x570d44=a151_0x46e4f7;return serviceGroups['has'](_0x150bd5)||serviceByName[_0x570d44(0xa6)](_0x150bd5)?.[_0x570d44(0xa9)]!==undefined;}export function getServiceEntry(_0x44f226){return serviceByName['get'](_0x44f226);}export function getLegacyHandler(_0x5c391f,_0x4e5500){return undefined;}export function getAllDefinitions(){const _0x30430e=a151_0x46e4f7;return Array[_0x30430e(0xcf)](definitions[_0x30430e(0xc8)]());}
@@ -1 +1 @@
1
- const a152_0xc23fe=a152_0x2d3f;function a152_0x182f(){const _0x102039=['trim','Created\x20role\x20','str','1030059ybePhs','22786ZewWql','role','remark','6ZQNZLg','appCode','create','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','CUSTOM','9055850MjiWRT','name','\x20(id=','/smartapi/permit/role/create','roleName','2239925ddjwsw','flagMissing','validation','7474124lQZCVw','POST','219ERwLwZ','Pass\x20--name\x20<roleName>.','72kyFiKq','842781NYYfJm','write','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','1194688vEvyDE'];a152_0x182f=function(){return _0x102039;};return a152_0x182f();}(function(_0x3305f5,_0x408302){const _0x27a34d=a152_0x2d3f,_0x19f7e4=_0x3305f5();while(!![]){try{const _0x41941c=-parseInt(_0x27a34d(0xeb))/0x1+parseInt(_0x27a34d(0xd6))/0x2*(-parseInt(_0x27a34d(0xe8))/0x3)+-parseInt(_0x27a34d(0xee))/0x4+parseInt(_0x27a34d(0xe3))/0x5*(-parseInt(_0x27a34d(0xd9))/0x6)+parseInt(_0x27a34d(0xe6))/0x7+-parseInt(_0x27a34d(0xea))/0x8*(-parseInt(_0x27a34d(0xd5))/0x9)+parseInt(_0x27a34d(0xde))/0xa;if(_0x41941c===_0x408302)break;else _0x19f7e4['push'](_0x19f7e4['shift']());}catch(_0x433ac7){_0x19f7e4['push'](_0x19f7e4['shift']());}}}(a152_0x182f,0x8e269));import{createAppRole}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';function a152_0x2d3f(_0x4948e3,_0x6e05f6){_0x4948e3=_0x4948e3-0xd2;const _0x182f06=a152_0x182f();let _0x2d3ff4=_0x182f06[_0x4948e3];return _0x2d3ff4;}import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH=a152_0xc23fe(0xe1);function readName(_0x3f32be){const _0x365ed7=a152_0xc23fe,_0x7d4782=_0x3f32be[_0x365ed7(0xd4)](_0x365ed7(0xdf))[_0x365ed7(0xd2)]();if(!_0x7d4782)throw CliErrors[_0x365ed7(0xe4)](_0x365ed7(0xdf),_0x365ed7(0xe9));if(_0x7d4782['length']>0x40)throw CliErrors[_0x365ed7(0xe5)](_0x365ed7(0xdc));return _0x7d4782;}export const roleCreate={'service':a152_0xc23fe(0xd7),'command':a152_0xc23fe(0xdb),'description':a152_0xc23fe(0xed),'risk':a152_0xc23fe(0xec),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2cb53a){readName(_0x2cb53a);},async 'dryRun'(_0x5e7e28){const _0x517ea6=a152_0xc23fe,_0x260095=readName(_0x5e7e28),_0x3ad8d8=_0x5e7e28[_0x517ea6(0xd4)](_0x517ea6(0xd8))[_0x517ea6(0xd2)]()||undefined;return asDryRunResult({'operation':_0x517ea6(0xdb),'selector':{'appCode':_0x5e7e28[_0x517ea6(0xda)],'roleName':_0x260095},'before':null,'after':{'roleName':_0x260095,'roleType':_0x517ea6(0xdd),'remark':_0x3ad8d8},'dryRun':!![],'backend':{'method':_0x517ea6(0xe7),'path':CREATE_PATH},'warnings':[]},{'method':'POST','url':CREATE_PATH});},async 'execute'(_0x913f67){const _0x29b41b=a152_0xc23fe,_0x268750=readName(_0x913f67),_0x35652e=_0x913f67['str']('remark')['trim']()||undefined,_0x365f9c=await createAppRole({'appCode':_0x913f67[_0x29b41b(0xda)],'roleName':_0x268750,..._0x35652e?{'remark':_0x35652e}:{}});return{'ok':!![],'data':{'operation':_0x29b41b(0xdb),'selector':{'appCode':_0x913f67[_0x29b41b(0xda)],'roleId':_0x365f9c['id'],'roleName':_0x268750},'before':null,'after':projectRole(_0x365f9c),'dryRun':![],'backend':{'method':'POST','path':CREATE_PATH},'warnings':[]},'message':_0x29b41b(0xd3)+_0x365f9c[_0x29b41b(0xe2)]+_0x29b41b(0xe0)+_0x365f9c['id']+')'};}};
1
+ const a152_0x143bab=a152_0xba8f;(function(_0x16791c,_0x3a1de6){const _0x3613df=a152_0xba8f,_0x206f12=_0x16791c();while(!![]){try{const _0x57f19c=parseInt(_0x3613df(0x1ea))/0x1*(parseInt(_0x3613df(0x1fd))/0x2)+-parseInt(_0x3613df(0x1fa))/0x3+parseInt(_0x3613df(0x1f6))/0x4+parseInt(_0x3613df(0x1ee))/0x5*(parseInt(_0x3613df(0x1f1))/0x6)+-parseInt(_0x3613df(0x1fc))/0x7+parseInt(_0x3613df(0x1f4))/0x8+parseInt(_0x3613df(0x1f2))/0x9*(parseInt(_0x3613df(0x202))/0xa);if(_0x57f19c===_0x3a1de6)break;else _0x206f12['push'](_0x206f12['shift']());}catch(_0x5318c4){_0x206f12['push'](_0x206f12['shift']());}}}(a152_0xd462,0xd3b4d));import{createAppRole}from'../../core/api-client.js';function a152_0xba8f(_0x54a304,_0x1f82d6){_0x54a304=_0x54a304-0x1ea;const _0xd46205=a152_0xd462();let _0xba8f75=_0xd46205[_0x54a304];return _0xba8f75;}function a152_0xd462(){const _0x44d110=['8458496TFkFSB','POST','1730012yKLeXU','Created\x20role\x20','CUSTOM','write','3256464LNkEay','flagMissing','11490913fOaTqF','142018yHvfTN','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','validation','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','roleName','3624430ORNdXO','role','create','9kjzbEB','str','name','remark','10osFGNy','trim','length','2221242yCtGws','18BmfKeg','appCode'];a152_0xd462=function(){return _0x44d110;};return a152_0xd462();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH='/smartapi/permit/role/create';function readName(_0x3c747c){const _0x9c6dd8=a152_0xba8f,_0x302660=_0x3c747c[_0x9c6dd8(0x1eb)](_0x9c6dd8(0x1ec))[_0x9c6dd8(0x1ef)]();if(!_0x302660)throw CliErrors[_0x9c6dd8(0x1fb)]('name','Pass\x20--name\x20<roleName>.');if(_0x302660[_0x9c6dd8(0x1f0)]>0x40)throw CliErrors[_0x9c6dd8(0x1ff)](_0x9c6dd8(0x1fe));return _0x302660;}export const roleCreate={'service':a152_0x143bab(0x203),'command':'create','description':a152_0x143bab(0x200),'risk':a152_0x143bab(0x1f9),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x26a829){readName(_0x26a829);},async 'dryRun'(_0x333dd8){const _0xb702c8=a152_0x143bab,_0x5a2d32=readName(_0x333dd8),_0x480ff2=_0x333dd8[_0xb702c8(0x1eb)](_0xb702c8(0x1ed))[_0xb702c8(0x1ef)]()||undefined;return asDryRunResult({'operation':_0xb702c8(0x204),'selector':{'appCode':_0x333dd8['appCode'],'roleName':_0x5a2d32},'before':null,'after':{'roleName':_0x5a2d32,'roleType':_0xb702c8(0x1f8),'remark':_0x480ff2},'dryRun':!![],'backend':{'method':_0xb702c8(0x1f5),'path':CREATE_PATH},'warnings':[]},{'method':_0xb702c8(0x1f5),'url':CREATE_PATH});},async 'execute'(_0x4d9593){const _0x22819b=a152_0x143bab,_0x33aa7d=readName(_0x4d9593),_0x2f881d=_0x4d9593[_0x22819b(0x1eb)]('remark')[_0x22819b(0x1ef)]()||undefined,_0x2948cb=await createAppRole({'appCode':_0x4d9593[_0x22819b(0x1f3)],'roleName':_0x33aa7d,..._0x2f881d?{'remark':_0x2f881d}:{}});return{'ok':!![],'data':{'operation':_0x22819b(0x204),'selector':{'appCode':_0x4d9593['appCode'],'roleId':_0x2948cb['id'],'roleName':_0x33aa7d},'before':null,'after':projectRole(_0x2948cb),'dryRun':![],'backend':{'method':_0x22819b(0x1f5),'path':CREATE_PATH},'warnings':[]},'message':_0x22819b(0x1f7)+_0x2948cb[_0x22819b(0x201)]+'\x20(id='+_0x2948cb['id']+')'};}};
@@ -1 +1 @@
1
- const a153_0x16da2b=a153_0x4741;(function(_0x33d244,_0x4e1287){const _0x1aaffa=a153_0x4741,_0x177e02=_0x33d244();while(!![]){try{const _0x15cb89=-parseInt(_0x1aaffa(0x88))/0x1+parseInt(_0x1aaffa(0x8e))/0x2+parseInt(_0x1aaffa(0x87))/0x3*(-parseInt(_0x1aaffa(0x97))/0x4)+-parseInt(_0x1aaffa(0x94))/0x5*(parseInt(_0x1aaffa(0x8a))/0x6)+-parseInt(_0x1aaffa(0x83))/0x7+-parseInt(_0x1aaffa(0x8b))/0x8*(-parseInt(_0x1aaffa(0x86))/0x9)+parseInt(_0x1aaffa(0x91))/0xa*(parseInt(_0x1aaffa(0x8c))/0xb);if(_0x15cb89===_0x4e1287)break;else _0x177e02['push'](_0x177e02['shift']());}catch(_0x1b4020){_0x177e02['push'](_0x177e02['shift']());}}}(a153_0x6883,0x33235));import{deleteAppRole}from'../../core/api-client.js';function a153_0x4741(_0x1dafe8,_0x6b91b1){_0x1dafe8=_0x1dafe8-0x80;const _0x68832e=a153_0x6883();let _0x4741e1=_0x68832e[_0x1dafe8];return _0x4741e1;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH=a153_0x16da2b(0x90);export const roleDelete={'service':a153_0x16da2b(0x96),'command':a153_0x16da2b(0x8d),'description':a153_0x16da2b(0x89),'risk':a153_0x16da2b(0x95),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x2d6a17){const _0xa650b2=a153_0x16da2b,_0x3b7b16=_0x2d6a17[_0xa650b2(0x85)]('id'),_0xd6d07d=await getRoleById(_0x2d6a17['appCode'],_0x3b7b16);return assertCustomRole(_0xd6d07d,_0xa650b2(0x8d)),asDryRunResult({'operation':_0xa650b2(0x8d),'selector':{'appCode':_0x2d6a17[_0xa650b2(0x82)],'roleId':_0x3b7b16,'roleName':_0xd6d07d['roleName']},'before':projectRole(_0xd6d07d),'after':null,'dryRun':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0xd6d07d[_0xa650b2(0x84)]>0x0?[_0xa650b2(0x92)+_0xd6d07d[_0xa650b2(0x84)]+_0xa650b2(0x81)]:[]},{'method':'POST','url':DELETE_PATH});},async 'execute'(_0xdff810){const _0x4e1674=a153_0x16da2b,_0x2642ad=_0xdff810['num']('id'),_0x45700f=await getRoleById(_0xdff810['appCode'],_0x2642ad);return assertCustomRole(_0x45700f,_0x4e1674(0x8d)),await deleteAppRole(_0x2642ad),{'ok':!![],'data':{'operation':'delete','selector':{'appCode':_0xdff810[_0x4e1674(0x82)],'roleId':_0x2642ad,'roleName':_0x45700f[_0x4e1674(0x80)]},'before':projectRole(_0x45700f),'after':null,'dryRun':![],'backend':{'method':_0x4e1674(0x98),'path':DELETE_PATH},'warnings':[]},'message':_0x4e1674(0x8f)+_0x45700f['roleName']+_0x4e1674(0x93)+_0x2642ad+')'};}};function a153_0x6883(){const _0x2e0a24=['145242iaxKud','248AGYucH','253cbcVQa','delete','680186KdJhNS','Deleted\x20role\x20','/smartapi/permit/role/delete','152110viBJnr','Role\x20still\x20has\x20','\x20(id=','40OQpDtm','high-risk-write','role','40cQpXYa','POST','roleName','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','appCode','514731stpdJR','userCount','num','8316mGJfLy','46830qVyBZa','85840okVtxa','Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes'];a153_0x6883=function(){return _0x2e0a24;};return a153_0x6883();}
1
+ const a153_0x5c3b11=a153_0x3e76;(function(_0x284702,_0x1398b3){const _0x3c92ed=a153_0x3e76,_0x386a43=_0x284702();while(!![]){try{const _0x1ab8cc=-parseInt(_0x3c92ed(0x123))/0x1+-parseInt(_0x3c92ed(0x133))/0x2*(parseInt(_0x3c92ed(0x125))/0x3)+-parseInt(_0x3c92ed(0x131))/0x4*(-parseInt(_0x3c92ed(0x12c))/0x5)+-parseInt(_0x3c92ed(0x12d))/0x6*(parseInt(_0x3c92ed(0x124))/0x7)+-parseInt(_0x3c92ed(0x134))/0x8*(parseInt(_0x3c92ed(0x12b))/0x9)+-parseInt(_0x3c92ed(0x121))/0xa+parseInt(_0x3c92ed(0x12a))/0xb;if(_0x1ab8cc===_0x1398b3)break;else _0x386a43['push'](_0x386a43['shift']());}catch(_0x5db3e3){_0x386a43['push'](_0x386a43['shift']());}}}(a153_0x16f4,0x99c2f));import{deleteAppRole}from'../../core/api-client.js';function a153_0x16f4(){const _0x525229=['2295738gippYK','10LRMSAT','6WzvUWc','num','high-risk-write','\x20(id=','1627228kQgmVC','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','758882HdzjmB','32OoNtKI','POST','roleName','Deleted\x20role\x20','/smartapi/permit/role/delete','12221460RDeHvo','userCount','743810odCdjL','1381394nkNSCS','3uuuqyK','delete','Role\x20still\x20has\x20','role','appCode','37171860CBtxCq'];a153_0x16f4=function(){return _0x525229;};return a153_0x16f4();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a153_0x3e76(_0x2d55df,_0x240b9f){_0x2d55df=_0x2d55df-0x11e;const _0x16f494=a153_0x16f4();let _0x3e7642=_0x16f494[_0x2d55df];return _0x3e7642;}import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';const DELETE_PATH=a153_0x5c3b11(0x120);export const roleDelete={'service':a153_0x5c3b11(0x128),'command':a153_0x5c3b11(0x126),'description':'Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','risk':a153_0x5c3b11(0x12f),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x19153b){const _0x1b92f7=a153_0x5c3b11,_0x5d4115=_0x19153b[_0x1b92f7(0x12e)]('id'),_0x7daaf=await getRoleById(_0x19153b[_0x1b92f7(0x129)],_0x5d4115);return assertCustomRole(_0x7daaf,_0x1b92f7(0x126)),asDryRunResult({'operation':_0x1b92f7(0x126),'selector':{'appCode':_0x19153b[_0x1b92f7(0x129)],'roleId':_0x5d4115,'roleName':_0x7daaf[_0x1b92f7(0x11e)]},'before':projectRole(_0x7daaf),'after':null,'dryRun':!![],'backend':{'method':_0x1b92f7(0x135),'path':DELETE_PATH},'warnings':_0x7daaf[_0x1b92f7(0x122)]>0x0?[_0x1b92f7(0x127)+_0x7daaf[_0x1b92f7(0x122)]+_0x1b92f7(0x132)]:[]},{'method':_0x1b92f7(0x135),'url':DELETE_PATH});},async 'execute'(_0x500551){const _0x5d6d04=a153_0x5c3b11,_0xcc5072=_0x500551['num']('id'),_0x4d169d=await getRoleById(_0x500551[_0x5d6d04(0x129)],_0xcc5072);return assertCustomRole(_0x4d169d,_0x5d6d04(0x126)),await deleteAppRole(_0xcc5072),{'ok':!![],'data':{'operation':_0x5d6d04(0x126),'selector':{'appCode':_0x500551[_0x5d6d04(0x129)],'roleId':_0xcc5072,'roleName':_0x4d169d['roleName']},'before':projectRole(_0x4d169d),'after':null,'dryRun':![],'backend':{'method':_0x5d6d04(0x135),'path':DELETE_PATH},'warnings':[]},'message':_0x5d6d04(0x11f)+_0x4d169d[_0x5d6d04(0x11e)]+_0x5d6d04(0x130)+_0xcc5072+')'};}};
@@ -1 +1 @@
1
- const a154_0x38d39e=a154_0x4a80;(function(_0x3db55c,_0x108e52){const _0x2ad58d=a154_0x4a80,_0x1f3cd6=_0x3db55c();while(!![]){try{const _0x40e6b0=-parseInt(_0x2ad58d(0x88))/0x1+-parseInt(_0x2ad58d(0x8b))/0x2*(parseInt(_0x2ad58d(0x8a))/0x3)+-parseInt(_0x2ad58d(0x87))/0x4+-parseInt(_0x2ad58d(0x89))/0x5*(parseInt(_0x2ad58d(0x85))/0x6)+parseInt(_0x2ad58d(0x90))/0x7+parseInt(_0x2ad58d(0x91))/0x8*(parseInt(_0x2ad58d(0x86))/0x9)+parseInt(_0x2ad58d(0x8e))/0xa;if(_0x40e6b0===_0x108e52)break;else _0x1f3cd6['push'](_0x1f3cd6['shift']());}catch(_0x45cac8){_0x1f3cd6['push'](_0x1f3cd6['shift']());}}}(a154_0x2c22,0x4e6a1));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a154_0x4a80(_0x421438,_0x26aee2){_0x421438=_0x421438-0x83;const _0x2c223c=a154_0x2c22();let _0x4a8055=_0x2c223c[_0x421438];return _0x4a8055;}function a154_0x2c22(){const _0x496123=['role','821334TCXZYE','16596zgqiIH','1168804HybiKV','185446JSDTMS','20nyYYyR','256833HdwJPZ','6wKLyuB','Show\x20a\x20single\x20role\x27s\x20detail','detail','8239260BUThFb','roleType','1569757JQzpsZ','2408RPQwXU','read','roleName'];a154_0x2c22=function(){return _0x496123;};return a154_0x2c22();}import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a154_0x38d39e(0x84),'command':a154_0x38d39e(0x8d),'description':a154_0x38d39e(0x8c),'risk':a154_0x38d39e(0x92),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x3bf319){const _0x15d194=a154_0x38d39e,_0x237acc=_0x3bf319['num']('id'),_0x51b70e=await getRoleById(_0x3bf319['appCode'],_0x237acc);return{'ok':!![],'data':{'role':projectRole(_0x51b70e)},'message':'Role\x20'+_0x51b70e[_0x15d194(0x83)]+'\x20('+_0x51b70e[_0x15d194(0x8f)]+')'};}};
1
+ function a154_0x5f2c(){const _0xb60ca3=['Role\x20','appCode','roleType','224216PIWXIv','43756wIghmT','roleName','357024jAuVCf','77xgOlgR','read','79146VXfIym','23768MVuDTd','175aoMWDo','role','99ndCtDD','456310eLjHVG','num','38511juxejD'];a154_0x5f2c=function(){return _0xb60ca3;};return a154_0x5f2c();}function a154_0x43e5(_0x216814,_0x9902ef){_0x216814=_0x216814-0x14a;const _0x5f2c03=a154_0x5f2c();let _0x43e561=_0x5f2c03[_0x216814];return _0x43e561;}const a154_0x4a0e77=a154_0x43e5;(function(_0x285908,_0x28eca9){const _0x5eb8b3=a154_0x43e5,_0x1feb6f=_0x285908();while(!![]){try{const _0x399400=parseInt(_0x5eb8b3(0x14d))/0x1+parseInt(_0x5eb8b3(0x150))/0x2+parseInt(_0x5eb8b3(0x15a))/0x3+-parseInt(_0x5eb8b3(0x14e))/0x4*(-parseInt(_0x5eb8b3(0x155))/0x5)+parseInt(_0x5eb8b3(0x153))/0x6+-parseInt(_0x5eb8b3(0x151))/0x7*(parseInt(_0x5eb8b3(0x154))/0x8)+parseInt(_0x5eb8b3(0x157))/0x9*(-parseInt(_0x5eb8b3(0x158))/0xa);if(_0x399400===_0x28eca9)break;else _0x1feb6f['push'](_0x1feb6f['shift']());}catch(_0x53bf2c){_0x1feb6f['push'](_0x1feb6f['shift']());}}}(a154_0x5f2c,0x43a07));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a154_0x4a0e77(0x156),'command':'detail','description':'Show\x20a\x20single\x20role\x27s\x20detail','risk':a154_0x4a0e77(0x152),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x45fb62){const _0x589a91=a154_0x4a0e77,_0xe0b568=_0x45fb62[_0x589a91(0x159)]('id'),_0x1f50a1=await getRoleById(_0x45fb62[_0x589a91(0x14b)],_0xe0b568);return{'ok':!![],'data':{'role':projectRole(_0x1f50a1)},'message':_0x589a91(0x14a)+_0x1f50a1[_0x589a91(0x14f)]+'\x20('+_0x1f50a1[_0x589a91(0x14c)]+')'};}};
@@ -1 +1 @@
1
- (function(_0x5cae77,_0x2f2113){const _0x1c6578=a155_0x88d8,_0x539608=_0x5cae77();while(!![]){try{const _0x57bcea=parseInt(_0x1c6578(0x1c2))/0x1+parseInt(_0x1c6578(0x1c6))/0x2*(parseInt(_0x1c6578(0x1c3))/0x3)+-parseInt(_0x1c6578(0x1c8))/0x4+-parseInt(_0x1c6578(0x1ca))/0x5*(parseInt(_0x1c6578(0x1c7))/0x6)+parseInt(_0x1c6578(0x1c5))/0x7*(parseInt(_0x1c6578(0x1c4))/0x8)+-parseInt(_0x1c6578(0x1cb))/0x9+parseInt(_0x1c6578(0x1c9))/0xa;if(_0x57bcea===_0x2f2113)break;else _0x539608['push'](_0x539608['shift']());}catch(_0xa6ae36){_0x539608['push'](_0x539608['shift']());}}}(a155_0x1765,0x9a7b4));import{roleList}from'../../commands/role/list.js';function a155_0x88d8(_0x215fca,_0x2284a3){_0x215fca=_0x215fca-0x1c2;const _0x176544=a155_0x1765();let _0x88d8e4=_0x176544[_0x215fca];return _0x88d8e4;}import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';function a155_0x1765(){const _0x2dd5c3=['3905448hSZNHb','14hyZtKL','2kqaUOS','24LhSBqh','4605252MtpEsY','7138920aXiTBX','1088440jfSGrQ','2880063IgtnFE','822035xBNILs','1387617byHMWn'];a155_0x1765=function(){return _0x2dd5c3;};return a155_0x1765();}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
+ (function(_0x33e2d8,_0x41e13e){const _0x48b84c=a155_0x57f4,_0x4e1457=_0x33e2d8();while(!![]){try{const _0x20dea6=-parseInt(_0x48b84c(0x1c1))/0x1*(parseInt(_0x48b84c(0x1c6))/0x2)+-parseInt(_0x48b84c(0x1c2))/0x3+-parseInt(_0x48b84c(0x1c8))/0x4*(-parseInt(_0x48b84c(0x1be))/0x5)+-parseInt(_0x48b84c(0x1c7))/0x6+parseInt(_0x48b84c(0x1c3))/0x7*(-parseInt(_0x48b84c(0x1bf))/0x8)+-parseInt(_0x48b84c(0x1c0))/0x9+parseInt(_0x48b84c(0x1c5))/0xa*(parseInt(_0x48b84c(0x1c4))/0xb);if(_0x20dea6===_0x41e13e)break;else _0x4e1457['push'](_0x4e1457['shift']());}catch(_0x211657){_0x4e1457['push'](_0x4e1457['shift']());}}}(a155_0x8b82,0x606e5));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';function a155_0x57f4(_0x2fc5c3,_0xc1d3a7){_0x2fc5c3=_0x2fc5c3-0x1be;const _0x8b8261=a155_0x8b82();let _0x57f465=_0x8b8261[_0x2fc5c3];return _0x57f465;}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';function a155_0x8b82(){const _0x152b02=['5051736WOwNqu','1TdYXDe','2146785tiueLH','21vXlBHL','55jkvXPB','5704990QverdK','1185044XCOTBk','4224960hJFFtY','120HWqLIN','98500DtPeCX','1266488ZzkcwR'];a155_0x8b82=function(){return _0x152b02;};return a155_0x8b82();}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 a156_0x491182=a156_0xff1a;(function(_0x5e6102,_0x42f89f){const _0x10c9c3=a156_0xff1a,_0x3e7620=_0x5e6102();while(!![]){try{const _0x27648d=-parseInt(_0x10c9c3(0x184))/0x1+parseInt(_0x10c9c3(0x180))/0x2*(parseInt(_0x10c9c3(0x183))/0x3)+parseInt(_0x10c9c3(0x18d))/0x4+parseInt(_0x10c9c3(0x18c))/0x5*(parseInt(_0x10c9c3(0x173))/0x6)+-parseInt(_0x10c9c3(0x179))/0x7*(parseInt(_0x10c9c3(0x170))/0x8)+-parseInt(_0x10c9c3(0x17b))/0x9+parseInt(_0x10c9c3(0x185))/0xa*(-parseInt(_0x10c9c3(0x182))/0xb);if(_0x27648d===_0x42f89f)break;else _0x3e7620['push'](_0x3e7620['shift']());}catch(_0x549d90){_0x3e7620['push'](_0x3e7620['shift']());}}}(a156_0x29af,0x31f4c));function a156_0xff1a(_0x283f5a,_0x1f22b5){_0x283f5a=_0x283f5a-0x170;const _0x29af6a=a156_0x29af();let _0xff1a65=_0x29af6a[_0x283f5a];return _0xff1a65;}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=[a156_0x491182(0x174),a156_0x491182(0x177),a156_0x491182(0x18b),a156_0x491182(0x18a)];export const roleList={'service':a156_0x491182(0x18e),'command':'list','description':'List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','risk':a156_0x491182(0x17e),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a156_0x491182(0x181),'type':a156_0x491182(0x186),'required':![],'description':a156_0x491182(0x187),'enum':ROLE_TYPES},{'name':a156_0x491182(0x188),'type':a156_0x491182(0x17a),'description':a156_0x491182(0x189),'default':0x1},{'name':a156_0x491182(0x178),'type':a156_0x491182(0x17a),'description':a156_0x491182(0x191),'default':0x64}],async 'validate'(_0x9aa01b){const _0x12dbe2=a156_0x491182,_0xd23da9=_0x9aa01b['str'](_0x12dbe2(0x181))[_0x12dbe2(0x175)]();if(_0xd23da9&&!ROLE_TYPES['includes'](_0xd23da9[_0x12dbe2(0x172)]()))throw CliErrors['validation']('Invalid\x20--type\x20\x22'+_0xd23da9+'\x22.',_0x12dbe2(0x195)+ROLE_TYPES['join'](',\x20')+'.');const _0x6a2110=_0x9aa01b[_0x12dbe2(0x18f)]('page',0x1),_0x4fb863=_0x9aa01b[_0x12dbe2(0x18f)](_0x12dbe2(0x178),0x64);if(_0x6a2110<0x1)throw CliErrors[_0x12dbe2(0x193)](_0x12dbe2(0x17d));if(_0x4fb863<0x1||_0x4fb863>0x64)throw CliErrors[_0x12dbe2(0x193)]('--pagesize\x20must\x20be\x20between\x201\x20and\x20100.');},async 'execute'(_0x29e345){const _0x21e2de=a156_0x491182,_0x271440=_0x29e345[_0x21e2de(0x18f)](_0x21e2de(0x188),0x1)||0x1,_0xda5d52=_0x29e345[_0x21e2de(0x18f)](_0x21e2de(0x178),0x64)||0x64,_0xe1b9b0=_0x29e345['str']('type')[_0x21e2de(0x175)]()['toUpperCase'](),{items:_0x3bec4d,paging:_0x1b47c8}=await listAppRoles(_0x29e345[_0x21e2de(0x194)],{'currentPage':_0x271440,'pageSize':_0xda5d52}),_0x89a639=_0xe1b9b0?_0x3bec4d[_0x21e2de(0x190)](_0x4f4047=>_0x4f4047[_0x21e2de(0x192)]===_0xe1b9b0):_0x3bec4d,_0x3d806e=_0x89a639[_0x21e2de(0x176)](projectRole);return{'ok':!![],'data':{'roles':_0x3d806e,'paging':_0x1b47c8},'message':_0x21e2de(0x17c)+_0x3d806e[_0x21e2de(0x17f)]+_0x21e2de(0x171)};}};function a156_0x29af(){const _0x985816=['242856kvjSSt','20zmVafb','string','Filter\x20by\x20role\x20type','page','Page\x20index\x20(1-based)','CUSTOM','USER','9915phxBJK','1570208KihsqY','role','num','filter','Page\x20size\x20(1-100)','roleType','validation','appCode','Use\x20one\x20of:\x20','97840wKfqws','\x20role(s)','toUpperCase','1020eNBFrV','ADMIN','trim','map','DEV','pagesize','7HzDfMk','number','1705689qyTRyH','Found\x20','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','read','length','286dPDXlS','type','2651671bDdymM','8427lokrrm'];a156_0x29af=function(){return _0x985816;};return a156_0x29af();}
1
+ const a156_0x26a59a=a156_0x3cf1;(function(_0x1013d0,_0x40d7e1){const _0x336c6f=a156_0x3cf1,_0x2382c2=_0x1013d0();while(!![]){try{const _0x1812ca=parseInt(_0x336c6f(0x165))/0x1*(parseInt(_0x336c6f(0x173))/0x2)+parseInt(_0x336c6f(0x16a))/0x3+-parseInt(_0x336c6f(0x17b))/0x4*(parseInt(_0x336c6f(0x183))/0x5)+-parseInt(_0x336c6f(0x161))/0x6*(parseInt(_0x336c6f(0x162))/0x7)+-parseInt(_0x336c6f(0x180))/0x8+-parseInt(_0x336c6f(0x16d))/0x9+parseInt(_0x336c6f(0x17f))/0xa;if(_0x1812ca===_0x40d7e1)break;else _0x2382c2['push'](_0x2382c2['shift']());}catch(_0x5c57d6){_0x2382c2['push'](_0x2382c2['shift']());}}}(a156_0x5e0a,0x73371));import{listAppRoles}from'../../core/api-client.js';function a156_0x5e0a(){const _0x5ca767=['81355VgYJXP','12QTxEEy','1629943zNcQwt','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','length','1LZImKt','USER','trim','CUSTOM','pagesize','869817TBStAv','number','ADMIN','696132UjIOOP','str','DEV','validation','Use\x20one\x20of:\x20','string','48302YujRxC','filter','Page\x20size\x20(1-100)','join','roleType','toUpperCase','page','Found\x20','172xlOZiG','Filter\x20by\x20role\x20type','appCode','type','17547500ynfkGe','2833760vvpfgM','list','num'];a156_0x5e0a=function(){return _0x5ca767;};return a156_0x5e0a();}function a156_0x3cf1(_0x1fb961,_0x1d1c1b){_0x1fb961=_0x1fb961-0x161;const _0x5e0a14=a156_0x5e0a();let _0x3cf124=_0x5e0a14[_0x1fb961];return _0x3cf124;}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a156_0x26a59a(0x16c),a156_0x26a59a(0x16f),a156_0x26a59a(0x166),a156_0x26a59a(0x168)];export const roleList={'service':'role','command':a156_0x26a59a(0x181),'description':'List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a156_0x26a59a(0x17e),'type':a156_0x26a59a(0x172),'required':![],'description':a156_0x26a59a(0x17c),'enum':ROLE_TYPES},{'name':a156_0x26a59a(0x179),'type':a156_0x26a59a(0x16b),'description':'Page\x20index\x20(1-based)','default':0x1},{'name':a156_0x26a59a(0x169),'type':a156_0x26a59a(0x16b),'description':a156_0x26a59a(0x175),'default':0x64}],async 'validate'(_0x1365a3){const _0x1c931b=a156_0x26a59a,_0xd1c16a=_0x1365a3[_0x1c931b(0x16e)](_0x1c931b(0x17e))[_0x1c931b(0x167)]();if(_0xd1c16a&&!ROLE_TYPES['includes'](_0xd1c16a[_0x1c931b(0x178)]()))throw CliErrors[_0x1c931b(0x170)]('Invalid\x20--type\x20\x22'+_0xd1c16a+'\x22.',_0x1c931b(0x171)+ROLE_TYPES[_0x1c931b(0x176)](',\x20')+'.');const _0x589bc0=_0x1365a3[_0x1c931b(0x182)](_0x1c931b(0x179),0x1),_0xb6bbe8=_0x1365a3[_0x1c931b(0x182)](_0x1c931b(0x169),0x64);if(_0x589bc0<0x1)throw CliErrors[_0x1c931b(0x170)]('--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.');if(_0xb6bbe8<0x1||_0xb6bbe8>0x64)throw CliErrors['validation'](_0x1c931b(0x163));},async 'execute'(_0x5ce750){const _0x16eeac=a156_0x26a59a,_0x169e08=_0x5ce750[_0x16eeac(0x182)](_0x16eeac(0x179),0x1)||0x1,_0x42a90d=_0x5ce750[_0x16eeac(0x182)]('pagesize',0x64)||0x64,_0x2869ad=_0x5ce750['str'](_0x16eeac(0x17e))['trim']()[_0x16eeac(0x178)](),{items:_0x1a59de,paging:_0x178106}=await listAppRoles(_0x5ce750[_0x16eeac(0x17d)],{'currentPage':_0x169e08,'pageSize':_0x42a90d}),_0xfd94db=_0x2869ad?_0x1a59de[_0x16eeac(0x174)](_0x5a0f5a=>_0x5a0f5a[_0x16eeac(0x177)]===_0x2869ad):_0x1a59de,_0x3fda81=_0xfd94db['map'](projectRole);return{'ok':!![],'data':{'roles':_0x3fda81,'paging':_0x178106},'message':_0x16eeac(0x17a)+_0x3fda81[_0x16eeac(0x164)]+'\x20role(s)'};}};
@@ -1 +1 @@
1
- const a157_0x47db1b=a157_0x35ed;(function(_0xa585f5,_0x9ae274){const _0x568d4c=a157_0x35ed,_0x490a9a=_0xa585f5();while(!![]){try{const _0x1b86c2=-parseInt(_0x568d4c(0x150))/0x1+-parseInt(_0x568d4c(0x148))/0x2*(parseInt(_0x568d4c(0x173))/0x3)+-parseInt(_0x568d4c(0x136))/0x4*(-parseInt(_0x568d4c(0x15a))/0x5)+-parseInt(_0x568d4c(0x169))/0x6*(parseInt(_0x568d4c(0x129))/0x7)+parseInt(_0x568d4c(0x159))/0x8+parseInt(_0x568d4c(0x167))/0x9*(-parseInt(_0x568d4c(0x176))/0xa)+parseInt(_0x568d4c(0x161))/0xb;if(_0x1b86c2===_0x9ae274)break;else _0x490a9a['push'](_0x490a9a['shift']());}catch(_0xedce1f){_0x490a9a['push'](_0x490a9a['shift']());}}}(a157_0x3da6,0x48992));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':a157_0x47db1b(0x160),'required':!![],'description':a157_0x47db1b(0x13d)};export const ROLE_REF_FLAG={'name':a157_0x47db1b(0x126),'type':a157_0x47db1b(0x13f),'required':!![],'description':a157_0x47db1b(0x139)};export const USER_REF_FLAG={'name':a157_0x47db1b(0x152),'type':a157_0x47db1b(0x13f),'required':!![],'description':a157_0x47db1b(0x134)};export const NAME_FLAG={'name':'name','type':a157_0x47db1b(0x13f),'required':!![],'description':a157_0x47db1b(0x15c)};export const USER_NAME_FLAG={'name':'name','type':a157_0x47db1b(0x13f),'required':!![],'description':a157_0x47db1b(0x172)};export const REMARK_FLAG={'name':a157_0x47db1b(0x162),'type':a157_0x47db1b(0x13f),'required':![],'description':a157_0x47db1b(0x12d)};export const EXPECT_USER_COUNT_FLAG={'name':a157_0x47db1b(0x16f),'type':'number','required':![],'description':a157_0x47db1b(0x15d)};function a157_0x35ed(_0x395130,_0x42b388){_0x395130=_0x395130-0x125;const _0x3da65a=a157_0x3da6();let _0x35ed4c=_0x3da65a[_0x395130];return _0x35ed4c;}export const BUILTIN_ROLE_TYPES=['ADMIN',a157_0x47db1b(0x12e),a157_0x47db1b(0x16a)];export function isBuiltinRole(_0x4ea701){const _0x5c566a=a157_0x47db1b;return BUILTIN_ROLE_TYPES[_0x5c566a(0x145)](_0x4ea701);}export function assertCustomRole(_0xa33889,_0x4369c0){const _0x5c7601=a157_0x47db1b;if(_0xa33889[_0x5c7601(0x156)]!==_0x5c7601(0x151))throw CliErrors[_0x5c7601(0x14c)](_0x5c7601(0x16d)+_0x4369c0+_0x5c7601(0x146)+_0xa33889[_0x5c7601(0x13a)]+'\x20('+_0xa33889[_0x5c7601(0x156)]+').','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function assertPermConfigurable(_0x1dfe08){const _0x17a8d8=a157_0x47db1b;if(_0x1dfe08[_0x17a8d8(0x156)]===_0x17a8d8(0x12e)||_0x1dfe08['roleType']===_0x17a8d8(0x15b))throw CliErrors[_0x17a8d8(0x14c)](_0x17a8d8(0x155)+_0x1dfe08[_0x17a8d8(0x13a)]+'\x20('+_0x1dfe08[_0x17a8d8(0x156)]+').',_0x17a8d8(0x147));}export function projectRole(_0x1f4517){const _0xc4b04c=a157_0x47db1b;return{'id':_0x1f4517['id'],'roleName':_0x1f4517[_0xc4b04c(0x13a)],'roleType':_0x1f4517[_0xc4b04c(0x156)],'remark':_0x1f4517[_0xc4b04c(0x162)],'userCount':_0x1f4517['userCount'],'permitCount':_0x1f4517[_0xc4b04c(0x14d)],'builtin':isBuiltinRole(_0x1f4517['roleType'])};}export async function resolveRoleRef(_0x30505b,_0x4d0bd7){const _0xe0511a=a157_0x47db1b,_0x1a7648=_0x4d0bd7['trim']();if(!_0x1a7648)throw CliErrors[_0xe0511a(0x14c)](_0xe0511a(0x166),_0xe0511a(0x13e));if(/^\d+$/[_0xe0511a(0x142)](_0x1a7648))return getRoleById(_0x30505b,Number(_0x1a7648));const _0x589ee4=await listAllAppRoles(_0x30505b),_0xdccd7e=_0x589ee4[_0xe0511a(0x131)](_0x43ce67=>_0x43ce67[_0xe0511a(0x13a)]===_0x1a7648);if(_0xdccd7e[_0xe0511a(0x170)]===0x0)throw CliErrors['validation'](_0xe0511a(0x177)+_0x1a7648+_0xe0511a(0x12a)+_0x30505b+'.',_0xe0511a(0x12b));if(_0xdccd7e[_0xe0511a(0x170)]>0x1){const _0x58e47c=_0xdccd7e['map'](_0x3af98d=>_0x3af98d['id'])[_0xe0511a(0x157)](',\x20');throw CliErrors[_0xe0511a(0x14c)](_0xe0511a(0x177)+_0x1a7648+_0xe0511a(0x14e)+_0x58e47c+').','Disambiguate\x20with\x20--role\x20<id>.');}return _0xdccd7e[0x0];}export async function getRoleById(_0x5e6e99,_0x480693){const _0x4bdc15=a157_0x47db1b,_0xdaf2c8=await getAppRole(_0x480693);if(!_0xdaf2c8)throw CliErrors[_0x4bdc15(0x14c)](_0x4bdc15(0x130)+_0x480693+_0x4bdc15(0x174)+_0x5e6e99+'.',_0x4bdc15(0x14b));return _0xdaf2c8;}async function listAllAppRoles(_0x54e081){const _0x32aa8f=a157_0x47db1b,_0x108608=0x64,_0x54f9a8=[];for(let _0x334ada=0x1;;_0x334ada+=0x1){const {items:_0x2b6bc4,paging:_0x445f0f}=await listAppRoles(_0x54e081,{'currentPage':_0x334ada,'pageSize':_0x108608});_0x54f9a8[_0x32aa8f(0x14a)](..._0x2b6bc4);if(_0x2b6bc4[_0x32aa8f(0x170)]<_0x108608||_0x445f0f&&_0x54f9a8[_0x32aa8f(0x170)]>=_0x445f0f[_0x32aa8f(0x175)])return _0x54f9a8;}}export async function resolveTenantCode(){const _0x35dbf6=a157_0x47db1b,_0x2779b8=await getSessionUserInfo(),_0x23641a=_0x2779b8?.['user']?.[_0x35dbf6(0x171)]?.[_0x35dbf6(0x143)];if(!_0x23641a)throw CliErrors['authRequired'](_0x35dbf6(0x163));return _0x23641a;}function matchMember(_0x2d04f6,_0x237dc3){const _0x40bb7c=a157_0x47db1b,_0x2c357f=_0x237dc3[_0x40bb7c(0x133)]()['toLowerCase']();return(_0x2d04f6['nickname']??'')['toLowerCase']()===_0x2c357f||(_0x2d04f6[_0x40bb7c(0x153)]??'')[_0x40bb7c(0x141)]()===_0x2c357f;}export async function resolveUserRef(_0x428331){const _0x518ce6=a157_0x47db1b,_0x5d5c1a=_0x428331[_0x518ce6(0x133)]();if(!_0x5d5c1a)throw CliErrors[_0x518ce6(0x14c)](_0x518ce6(0x125),_0x518ce6(0x135));const _0x491de4=await resolveTenantCode(),_0x557287=await getTenantMembers(_0x491de4);if(/^\d+$/[_0x518ce6(0x142)](_0x5d5c1a)){const _0x1e8e26=Number(_0x5d5c1a),_0x213c26=_0x557287[_0x518ce6(0x12c)](_0x5634e3=>_0x5634e3[_0x518ce6(0x168)]===_0x1e8e26);return{'userId':_0x1e8e26,'username':_0x213c26?.[_0x518ce6(0x153)]??String(_0x1e8e26),'nickname':_0x213c26?.[_0x518ce6(0x149)],'matchedBy':'id'};}const _0x424066=_0x557287[_0x518ce6(0x131)](_0x342b61=>matchMember(_0x342b61,_0x5d5c1a));if(_0x424066[_0x518ce6(0x170)]===0x0)throw CliErrors[_0x518ce6(0x14c)](_0x518ce6(0x154)+_0x5d5c1a+'\x22.','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.');if(_0x424066[_0x518ce6(0x170)]>0x1){const _0x4911ca=_0x424066['map'](_0x272685=>(_0x272685['nickname']??_0x272685[_0x518ce6(0x153)]??'?')+'('+_0x272685['userId']+')')[_0x518ce6(0x157)](',\x20');throw CliErrors[_0x518ce6(0x14c)]('Multiple\x20tenant\x20members\x20match\x20\x22'+_0x5d5c1a+_0x518ce6(0x16e)+_0x4911ca+'.','Disambiguate\x20with\x20--user\x20<id>.');}const _0x4d9a61=_0x424066[0x0];return{'userId':_0x4d9a61[_0x518ce6(0x168)],'username':_0x4d9a61[_0x518ce6(0x153)]??String(_0x4d9a61[_0x518ce6(0x168)]),'nickname':_0x4d9a61[_0x518ce6(0x149)],'matchedBy':_0x518ce6(0x13c)};}export const UPDATE_USER_LIST_PATH=a157_0x47db1b(0x165);function userIdsOf(_0x43d612){const _0x131bd2=a157_0x47db1b;return(_0x43d612?.[_0x131bd2(0x16c)]??[])[_0x131bd2(0x12f)](_0x4936c9=>_0x4936c9['userId']);}function a157_0x3da6(){const _0x501bf7=['3641984jDTtzn','1551605Bsohtp','ADMIN','Role\x20name','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','User\x20','\x20member(s)\x20but\x20role\x20has\x20','number','9595960EhBDmv','remark','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','str','/smartapi/permit/user-role/update-user-list','Missing\x20role\x20reference.','54lIMzNd','userId','26766LwVrqg','USER','expectUserCount','userList','Cannot\x20','\x22:\x20','expect-user-count','length','tenant','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','6oGupEJ','\x20not\x20found\x20in\x20app\x20','totalCount','336320vKdmfm','Role\x20name\x20\x22','Anti-drift\x20check\x20failed:\x20expected\x20','Missing\x20user\x20reference.','role','appCode','flagMissing','91RFnYtl','\x22\x20not\x20found\x20in\x20app\x20','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','find','Optional\x20role\x20remark/description','DEV','map','Role\x20id\x20','filter','\x20is\x20already\x20a\x20member\x20of\x20role\x20','trim','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','Pass\x20--user\x20<id|name>.','4tyvKji',';\x20no\x20change.','\x20is\x20not\x20a\x20member\x20of\x20role\x20','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','roleName','dryRun','name','Role\x20id\x20(from\x20`role\x20list`)','Pass\x20--role\x20<id|name>.','string','user-add','toLowerCase','test','tenant_code','findIndex','includes','\x20built-in\x20role\x20','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','534922JHHinP','nickname','push','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','validation','permitCount','\x22\x20is\x20ambiguous\x20(ids:\x20','POST','545860DqpKJX','CUSTOM','user','username','No\x20tenant\x20member\x20matches\x20\x22','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','roleType','join','\x20not\x20found\x20in\x20the\x20user-role\x20list.'];a157_0x3da6=function(){return _0x501bf7;};return a157_0x3da6();}export function computeRoleUserMutation(_0x58d045){const _0x3d8a67=a157_0x47db1b,{operation:_0x2025fe,appCode:_0xa49190,roleUsers:_0x144466,targetRoleId:_0x417b61,user:_0x6adc83}=_0x58d045,_0x75f037=_0x144466['find'](_0x3f1277=>_0x3f1277['id']===_0x417b61);if(!_0x75f037)throw CliErrors['validation']('Role\x20id\x20'+_0x417b61+_0x3d8a67(0x158),_0x3d8a67(0x14b));const _0x390e60=userIdsOf(_0x75f037),_0x679d35=[];if(_0x58d045[_0x3d8a67(0x16b)]!==undefined&&_0x58d045[_0x3d8a67(0x16b)]!==_0x390e60[_0x3d8a67(0x170)])throw CliErrors[_0x3d8a67(0x14c)](_0x3d8a67(0x178)+_0x58d045[_0x3d8a67(0x16b)]+_0x3d8a67(0x15f)+_0x390e60['length']+'.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.');const _0x243086=_0x390e60['includes'](_0x6adc83[_0x3d8a67(0x168)]);let _0x1e0eb7=![];const _0x514d9c=[..._0x75f037[_0x3d8a67(0x16c)]];if(_0x2025fe===_0x3d8a67(0x140))_0x243086?_0x679d35[_0x3d8a67(0x14a)](_0x3d8a67(0x15e)+_0x6adc83[_0x3d8a67(0x168)]+_0x3d8a67(0x132)+_0x75f037[_0x3d8a67(0x13a)]+_0x3d8a67(0x137)):(_0x514d9c[_0x3d8a67(0x14a)]({'userId':_0x6adc83[_0x3d8a67(0x168)],'username':_0x6adc83[_0x3d8a67(0x153)],..._0x6adc83[_0x3d8a67(0x149)]?{'nickname':_0x6adc83[_0x3d8a67(0x149)]}:{}}),_0x1e0eb7=!![]);else{if(!_0x243086)_0x679d35[_0x3d8a67(0x14a)](_0x3d8a67(0x15e)+_0x6adc83[_0x3d8a67(0x168)]+_0x3d8a67(0x138)+_0x75f037[_0x3d8a67(0x13a)]+_0x3d8a67(0x137));else{const _0x563ba1=_0x514d9c[_0x3d8a67(0x144)](_0x19d584=>_0x19d584[_0x3d8a67(0x168)]===_0x6adc83[_0x3d8a67(0x168)]);if(_0x563ba1>=0x0)_0x514d9c['splice'](_0x563ba1,0x1);_0x1e0eb7=!![];}}const _0x1281c8=_0x144466['map'](_0x13ec87=>_0x13ec87['id']===_0x417b61?{..._0x13ec87,'userList':_0x514d9c}:_0x13ec87),_0x493e59=_0x514d9c[_0x3d8a67(0x12f)](_0xf71b07=>_0xf71b07[_0x3d8a67(0x168)]),_0x4da149={'operation':_0x2025fe,'selector':{'appCode':_0xa49190,'roleId':_0x417b61,'roleName':_0x75f037[_0x3d8a67(0x13a)],'userId':_0x6adc83[_0x3d8a67(0x168)]},'before':{'userIds':_0x390e60},'after':{'userIds':_0x493e59},'dryRun':_0x58d045[_0x3d8a67(0x13b)],'backend':{'method':_0x3d8a67(0x14f),'path':UPDATE_USER_LIST_PATH},'warnings':_0x679d35};return{'roleList':_0x1281c8,'mutation':_0x4da149,'changed':_0x1e0eb7};}export async function loadRoleUsers(_0x1c2ab6){return listRoleUsers(_0x1c2ab6);}export function readRoleRef(_0x43babe){const _0x1b36e8=a157_0x47db1b,_0x1da103=_0x43babe['str']('role')[_0x1b36e8(0x133)]();if(!_0x1da103)throw CliErrors[_0x1b36e8(0x128)]('role','Pass\x20--role\x20<id|name>.');return _0x1da103;}export async function prepareUserMutation(_0x20a5ce,_0x539c70,_0x59a48d){const _0x3a4154=a157_0x47db1b,_0x3cbf02=readRoleRef(_0x20a5ce),_0x3458e6=_0x20a5ce[_0x3a4154(0x164)](_0x3a4154(0x152))[_0x3a4154(0x133)]();if(!_0x3458e6)throw CliErrors[_0x3a4154(0x128)](_0x3a4154(0x152),_0x3a4154(0x135));const _0x4781a0=_0x20a5ce['flag']('expect-user-count'),_0xdafdad=_0x4781a0===undefined||_0x4781a0===null?undefined:Number(_0x4781a0),_0x4e3dac=await resolveRoleRef(_0x20a5ce['appCode'],_0x3cbf02),_0x26d2a1=await resolveUserRef(_0x3458e6),_0x195981=await loadRoleUsers(_0x20a5ce[_0x3a4154(0x127)]);return computeRoleUserMutation({'operation':_0x539c70,'appCode':_0x20a5ce[_0x3a4154(0x127)],'roleUsers':_0x195981,'targetRoleId':_0x4e3dac['id'],'user':{'userId':_0x26d2a1[_0x3a4154(0x168)],'username':_0x26d2a1[_0x3a4154(0x153)],'nickname':_0x26d2a1[_0x3a4154(0x149)]},'dryRun':_0x59a48d,..._0xdafdad!==undefined?{'expectUserCount':_0xdafdad}:{}});}
1
+ const a157_0x559311=a157_0x4a51;(function(_0x3d8846,_0x11f055){const _0x23695c=a157_0x4a51,_0xa4df02=_0x3d8846();while(!![]){try{const _0x5487f9=-parseInt(_0x23695c(0x187))/0x1*(parseInt(_0x23695c(0x1d0))/0x2)+parseInt(_0x23695c(0x18a))/0x3*(-parseInt(_0x23695c(0x19c))/0x4)+parseInt(_0x23695c(0x1a5))/0x5*(parseInt(_0x23695c(0x1a6))/0x6)+-parseInt(_0x23695c(0x198))/0x7+parseInt(_0x23695c(0x1ae))/0x8*(parseInt(_0x23695c(0x1d2))/0x9)+parseInt(_0x23695c(0x197))/0xa*(parseInt(_0x23695c(0x1c6))/0xb)+parseInt(_0x23695c(0x1bb))/0xc;if(_0x5487f9===_0x11f055)break;else _0xa4df02['push'](_0xa4df02['shift']());}catch(_0x2d37a1){_0xa4df02['push'](_0xa4df02['shift']());}}}(a157_0x4c2e,0xaf51f));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':a157_0x559311(0x1b2),'required':!![],'description':a157_0x559311(0x1b4)};export const ROLE_REF_FLAG={'name':a157_0x559311(0x1b5),'type':a157_0x559311(0x18f),'required':!![],'description':a157_0x559311(0x193)};export const USER_REF_FLAG={'name':a157_0x559311(0x1ab),'type':a157_0x559311(0x18f),'required':!![],'description':a157_0x559311(0x195)};export const NAME_FLAG={'name':a157_0x559311(0x1ad),'type':a157_0x559311(0x18f),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a157_0x559311(0x1ad),'type':a157_0x559311(0x18f),'required':!![],'description':'Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId'};export const REMARK_FLAG={'name':a157_0x559311(0x1b6),'type':a157_0x559311(0x18f),'required':![],'description':a157_0x559311(0x1d3)};export const EXPECT_USER_COUNT_FLAG={'name':a157_0x559311(0x1cc),'type':a157_0x559311(0x1b2),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=[a157_0x559311(0x186),a157_0x559311(0x1b7),a157_0x559311(0x1bc)];export function isBuiltinRole(_0x59a6d2){const _0x4373cb=a157_0x559311;return BUILTIN_ROLE_TYPES[_0x4373cb(0x1c5)](_0x59a6d2);}export function assertCustomRole(_0x4f991b,_0x3b7bbc){const _0x45e5ab=a157_0x559311;if(_0x4f991b[_0x45e5ab(0x1cb)]!=='CUSTOM')throw CliErrors[_0x45e5ab(0x1b3)]('Cannot\x20'+_0x3b7bbc+_0x45e5ab(0x18d)+_0x4f991b[_0x45e5ab(0x183)]+'\x20('+_0x4f991b[_0x45e5ab(0x1cb)]+').',_0x45e5ab(0x184));}export function assertPermConfigurable(_0x177bf4){const _0x1644e9=a157_0x559311;if(_0x177bf4['roleType']==='DEV'||_0x177bf4[_0x1644e9(0x1cb)]==='ADMIN')throw CliErrors[_0x1644e9(0x1b3)](_0x1644e9(0x1b0)+_0x177bf4[_0x1644e9(0x183)]+'\x20('+_0x177bf4[_0x1644e9(0x1cb)]+').',_0x1644e9(0x1c4));}export function projectRole(_0x2d6552){const _0x596f18=a157_0x559311;return{'id':_0x2d6552['id'],'roleName':_0x2d6552[_0x596f18(0x183)],'roleType':_0x2d6552[_0x596f18(0x1cb)],'remark':_0x2d6552[_0x596f18(0x1b6)],'userCount':_0x2d6552[_0x596f18(0x19e)],'permitCount':_0x2d6552[_0x596f18(0x189)],'builtin':isBuiltinRole(_0x2d6552[_0x596f18(0x1cb)])};}export async function resolveRoleRef(_0x1a25d0,_0x2fac47){const _0x1e8e31=a157_0x559311,_0x182d0d=_0x2fac47[_0x1e8e31(0x1bf)]();if(!_0x182d0d)throw CliErrors[_0x1e8e31(0x1b3)]('Missing\x20role\x20reference.',_0x1e8e31(0x194));if(/^\d+$/[_0x1e8e31(0x1ca)](_0x182d0d))return getRoleById(_0x1a25d0,Number(_0x182d0d));const _0x2c0814=await listAllAppRoles(_0x1a25d0),_0x101234=_0x2c0814[_0x1e8e31(0x1a2)](_0x26dcae=>_0x26dcae[_0x1e8e31(0x183)]===_0x182d0d);if(_0x101234['length']===0x0)throw CliErrors[_0x1e8e31(0x1b3)](_0x1e8e31(0x18e)+_0x182d0d+'\x22\x20not\x20found\x20in\x20app\x20'+_0x1a25d0+'.',_0x1e8e31(0x1a4));if(_0x101234[_0x1e8e31(0x19b)]>0x1){const _0x3c1ecb=_0x101234[_0x1e8e31(0x1c8)](_0x3ce1d0=>_0x3ce1d0['id'])[_0x1e8e31(0x199)](',\x20');throw CliErrors[_0x1e8e31(0x1b3)](_0x1e8e31(0x18e)+_0x182d0d+'\x22\x20is\x20ambiguous\x20(ids:\x20'+_0x3c1ecb+').',_0x1e8e31(0x1af));}return _0x101234[0x0];}export async function getRoleById(_0x20cf2b,_0x272c74){const _0x4cc440=a157_0x559311,_0x59a676=await getAppRole(_0x272c74);if(!_0x59a676)throw CliErrors[_0x4cc440(0x1b3)](_0x4cc440(0x190)+_0x272c74+_0x4cc440(0x1b1)+_0x20cf2b+'.',_0x4cc440(0x1c3));return _0x59a676;}async function listAllAppRoles(_0x3e607b){const _0x282e70=a157_0x559311,_0x5e0e0e=0x64,_0x5306e8=[];for(let _0x203bf3=0x1;;_0x203bf3+=0x1){const {items:_0x31c27e,paging:_0x2c729b}=await listAppRoles(_0x3e607b,{'currentPage':_0x203bf3,'pageSize':_0x5e0e0e});_0x5306e8[_0x282e70(0x1a3)](..._0x31c27e);if(_0x31c27e['length']<_0x5e0e0e||_0x2c729b&&_0x5306e8[_0x282e70(0x19b)]>=_0x2c729b[_0x282e70(0x1a8)])return _0x5306e8;}}function a157_0x4c2e(){const _0x58459e=['6636126jagNKW','userId','totalCount','findIndex','\x20is\x20already\x20a\x20member\x20of\x20role\x20','user','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','name','9048uUiPhy','Disambiguate\x20with\x20--role\x20<id>.','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','\x20not\x20found\x20in\x20app\x20','number','validation','Role\x20id\x20(from\x20`role\x20list`)','role','remark','DEV','flagMissing','authRequired','dryRun','19216032zFtzsQ','USER','expectUserCount','Missing\x20user\x20reference.','trim','\x20member(s)\x20but\x20role\x20has\x20',';\x20no\x20change.','Disambiguate\x20with\x20--user\x20<id>.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','includes','44YobDAf','No\x20tenant\x20member\x20matches\x20\x22','map','toLowerCase','test','roleType','expect-user-count','/smartapi/permit/user-role/update-user-list','Pass\x20--user\x20<id|name>.','splice','2wFtPZR','nickname','1017TdUULy','Optional\x20role\x20remark/description','username','roleName','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','str','ADMIN','926531JuYWMq','POST','permitCount','277422oFtOYa','Multiple\x20tenant\x20members\x20match\x20\x22','flag','\x20built-in\x20role\x20','Role\x20name\x20\x22','string','Role\x20id\x20','user-add','User\x20','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','Pass\x20--role\x20<id|name>.','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','tenant','1391680OYNXyV','4462514osqrYs','join','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','length','48ahiHZe','userList','userCount','appCode','find','\x22:\x20','filter','push','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','5ODReiZ'];a157_0x4c2e=function(){return _0x58459e;};return a157_0x4c2e();}export async function resolveTenantCode(){const _0x5a2751=a157_0x559311,_0x3e9c40=await getSessionUserInfo(),_0x55a966=_0x3e9c40?.['user']?.[_0x5a2751(0x196)]?.['tenant_code'];if(!_0x55a966)throw CliErrors[_0x5a2751(0x1b9)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x55a966;}function a157_0x4a51(_0x25ef1d,_0x4a060e){_0x25ef1d=_0x25ef1d-0x183;const _0x4c2e24=a157_0x4c2e();let _0x4a51f4=_0x4c2e24[_0x25ef1d];return _0x4a51f4;}function matchMember(_0x568842,_0x5b4464){const _0x13ae4f=a157_0x559311,_0x44bb66=_0x5b4464[_0x13ae4f(0x1bf)]()[_0x13ae4f(0x1c9)]();return(_0x568842['nickname']??'')[_0x13ae4f(0x1c9)]()===_0x44bb66||(_0x568842[_0x13ae4f(0x1d4)]??'')['toLowerCase']()===_0x44bb66;}export async function resolveUserRef(_0x86ee8f){const _0x1155e3=a157_0x559311,_0xbac35b=_0x86ee8f[_0x1155e3(0x1bf)]();if(!_0xbac35b)throw CliErrors[_0x1155e3(0x1b3)](_0x1155e3(0x1be),'Pass\x20--user\x20<id|name>.');const _0x3a0773=await resolveTenantCode(),_0x2fae41=await getTenantMembers(_0x3a0773);if(/^\d+$/[_0x1155e3(0x1ca)](_0xbac35b)){const _0x5bf274=Number(_0xbac35b),_0x25a606=_0x2fae41[_0x1155e3(0x1a0)](_0x1b0226=>_0x1b0226[_0x1155e3(0x1a7)]===_0x5bf274);return{'userId':_0x5bf274,'username':_0x25a606?.['username']??String(_0x5bf274),'nickname':_0x25a606?.[_0x1155e3(0x1d1)],'matchedBy':'id'};}const _0x3a65e8=_0x2fae41[_0x1155e3(0x1a2)](_0x1c719b=>matchMember(_0x1c719b,_0xbac35b));if(_0x3a65e8[_0x1155e3(0x19b)]===0x0)throw CliErrors[_0x1155e3(0x1b3)](_0x1155e3(0x1c7)+_0xbac35b+'\x22.',_0x1155e3(0x1ac));if(_0x3a65e8[_0x1155e3(0x19b)]>0x1){const _0xa61708=_0x3a65e8['map'](_0xab2d51=>(_0xab2d51[_0x1155e3(0x1d1)]??_0xab2d51['username']??'?')+'('+_0xab2d51['userId']+')')[_0x1155e3(0x199)](',\x20');throw CliErrors[_0x1155e3(0x1b3)](_0x1155e3(0x18b)+_0xbac35b+_0x1155e3(0x1a1)+_0xa61708+'.',_0x1155e3(0x1c2));}const _0x53f1de=_0x3a65e8[0x0];return{'userId':_0x53f1de[_0x1155e3(0x1a7)],'username':_0x53f1de[_0x1155e3(0x1d4)]??String(_0x53f1de[_0x1155e3(0x1a7)]),'nickname':_0x53f1de['nickname'],'matchedBy':_0x1155e3(0x1ad)};}export const UPDATE_USER_LIST_PATH=a157_0x559311(0x1cd);function userIdsOf(_0x17f4b9){const _0x5eabc8=a157_0x559311;return(_0x17f4b9?.[_0x5eabc8(0x19d)]??[])['map'](_0x2f58b3=>_0x2f58b3[_0x5eabc8(0x1a7)]);}export function computeRoleUserMutation(_0x7ebd3a){const _0x5e087b=a157_0x559311,{operation:_0x5069b4,appCode:_0x4aa053,roleUsers:_0x57b51f,targetRoleId:_0x285342,user:_0x66a382}=_0x7ebd3a,_0x1c364b=_0x57b51f[_0x5e087b(0x1a0)](_0x4fb4df=>_0x4fb4df['id']===_0x285342);if(!_0x1c364b)throw CliErrors[_0x5e087b(0x1b3)](_0x5e087b(0x190)+_0x285342+'\x20not\x20found\x20in\x20the\x20user-role\x20list.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');const _0x37aa99=userIdsOf(_0x1c364b),_0x50ab50=[];if(_0x7ebd3a['expectUserCount']!==undefined&&_0x7ebd3a[_0x5e087b(0x1bd)]!==_0x37aa99['length'])throw CliErrors['validation']('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x7ebd3a[_0x5e087b(0x1bd)]+_0x5e087b(0x1c0)+_0x37aa99[_0x5e087b(0x19b)]+'.',_0x5e087b(0x19a));const _0x7601d7=_0x37aa99['includes'](_0x66a382[_0x5e087b(0x1a7)]);let _0x124ef4=![];const _0xadd49d=[..._0x1c364b[_0x5e087b(0x19d)]];if(_0x5069b4===_0x5e087b(0x191))_0x7601d7?_0x50ab50[_0x5e087b(0x1a3)](_0x5e087b(0x192)+_0x66a382[_0x5e087b(0x1a7)]+_0x5e087b(0x1aa)+_0x1c364b[_0x5e087b(0x183)]+_0x5e087b(0x1c1)):(_0xadd49d[_0x5e087b(0x1a3)]({'userId':_0x66a382[_0x5e087b(0x1a7)],'username':_0x66a382[_0x5e087b(0x1d4)],..._0x66a382['nickname']?{'nickname':_0x66a382[_0x5e087b(0x1d1)]}:{}}),_0x124ef4=!![]);else{if(!_0x7601d7)_0x50ab50[_0x5e087b(0x1a3)](_0x5e087b(0x192)+_0x66a382['userId']+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0x1c364b[_0x5e087b(0x183)]+_0x5e087b(0x1c1));else{const _0x33f715=_0xadd49d[_0x5e087b(0x1a9)](_0x17afed=>_0x17afed[_0x5e087b(0x1a7)]===_0x66a382[_0x5e087b(0x1a7)]);if(_0x33f715>=0x0)_0xadd49d[_0x5e087b(0x1cf)](_0x33f715,0x1);_0x124ef4=!![];}}const _0x234111=_0x57b51f[_0x5e087b(0x1c8)](_0x142653=>_0x142653['id']===_0x285342?{..._0x142653,'userList':_0xadd49d}:_0x142653),_0x197fcf=_0xadd49d[_0x5e087b(0x1c8)](_0x5a792b=>_0x5a792b['userId']),_0x3220ff={'operation':_0x5069b4,'selector':{'appCode':_0x4aa053,'roleId':_0x285342,'roleName':_0x1c364b['roleName'],'userId':_0x66a382[_0x5e087b(0x1a7)]},'before':{'userIds':_0x37aa99},'after':{'userIds':_0x197fcf},'dryRun':_0x7ebd3a[_0x5e087b(0x1ba)],'backend':{'method':_0x5e087b(0x188),'path':UPDATE_USER_LIST_PATH},'warnings':_0x50ab50};return{'roleList':_0x234111,'mutation':_0x3220ff,'changed':_0x124ef4};}export async function loadRoleUsers(_0x4bbb59){return listRoleUsers(_0x4bbb59);}export function readRoleRef(_0x4fb169){const _0x24a97d=a157_0x559311,_0x22b73a=_0x4fb169[_0x24a97d(0x185)](_0x24a97d(0x1b5))[_0x24a97d(0x1bf)]();if(!_0x22b73a)throw CliErrors[_0x24a97d(0x1b8)](_0x24a97d(0x1b5),_0x24a97d(0x194));return _0x22b73a;}export async function prepareUserMutation(_0x4b6343,_0x117fb3,_0x49efae){const _0x51e00f=a157_0x559311,_0x514564=readRoleRef(_0x4b6343),_0x2a4ec9=_0x4b6343['str'](_0x51e00f(0x1ab))[_0x51e00f(0x1bf)]();if(!_0x2a4ec9)throw CliErrors[_0x51e00f(0x1b8)](_0x51e00f(0x1ab),_0x51e00f(0x1ce));const _0x1588e8=_0x4b6343[_0x51e00f(0x18c)]('expect-user-count'),_0x3e7fc9=_0x1588e8===undefined||_0x1588e8===null?undefined:Number(_0x1588e8),_0x76542c=await resolveRoleRef(_0x4b6343[_0x51e00f(0x19f)],_0x514564),_0x52d2ff=await resolveUserRef(_0x2a4ec9),_0x3f2862=await loadRoleUsers(_0x4b6343[_0x51e00f(0x19f)]);return computeRoleUserMutation({'operation':_0x117fb3,'appCode':_0x4b6343[_0x51e00f(0x19f)],'roleUsers':_0x3f2862,'targetRoleId':_0x76542c['id'],'user':{'userId':_0x52d2ff[_0x51e00f(0x1a7)],'username':_0x52d2ff[_0x51e00f(0x1d4)],'nickname':_0x52d2ff[_0x51e00f(0x1d1)]},'dryRun':_0x49efae,..._0x3e7fc9!==undefined?{'expectUserCount':_0x3e7fc9}:{}});}
@@ -1 +1 @@
1
- const a158_0x59e65c=a158_0x4ee3;(function(_0x435493,_0x3ba21a){const _0x209253=a158_0x4ee3,_0x11ad08=_0x435493();while(!![]){try{const _0x18f1a1=parseInt(_0x209253(0x11c))/0x1+-parseInt(_0x209253(0x115))/0x2+parseInt(_0x209253(0x129))/0x3*(-parseInt(_0x209253(0x11b))/0x4)+parseInt(_0x209253(0x125))/0x5*(-parseInt(_0x209253(0x12b))/0x6)+parseInt(_0x209253(0x120))/0x7+-parseInt(_0x209253(0x128))/0x8*(-parseInt(_0x209253(0x112))/0x9)+-parseInt(_0x209253(0x118))/0xa*(-parseInt(_0x209253(0x110))/0xb);if(_0x18f1a1===_0x3ba21a)break;else _0x11ad08['push'](_0x11ad08['shift']());}catch(_0x329b70){_0x11ad08['push'](_0x11ad08['shift']());}}}(a158_0x6263,0xa733e));function a158_0x6263(){const _0x5223f2=['num','1745pOTLXM','New\x20role\x20name','Nothing\x20to\x20update.','3448qdkJfs','1611BmklVT','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','14430dpFDoM','validation','appCode','remark','1494966BLVprK','name','22284jJDfkO','\x20(id=','--name\x20cannot\x20be\x20empty.','2060148ddITyb','length','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','70yirIGW','string','flag','8228xxxZTD','1362315xPLARD','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','update','roleName','1946539uUSmzE','POST','role','trim'];a158_0x6263=function(){return _0x5223f2;};return a158_0x6263();}import{updateAppRole}from'../../core/api-client.js';function a158_0x4ee3(_0x33d2dc,_0x232cfc){_0x33d2dc=_0x33d2dc-0x10e;const _0x62635a=a158_0x6263();let _0x4ee364=_0x62635a[_0x33d2dc];return _0x4ee364;}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(_0x23602e){const _0x8f436b=a158_0x4ee3,_0x3a6b83=_0x23602e['flag']('name'),_0x147659=_0x23602e[_0x8f436b(0x11a)](_0x8f436b(0x10f)),_0x595a11={};if(_0x3a6b83!==undefined&&_0x3a6b83!==null){const _0x51400a=String(_0x3a6b83)[_0x8f436b(0x123)]();if(!_0x51400a)throw CliErrors['validation'](_0x8f436b(0x114));if(_0x51400a[_0x8f436b(0x116)]>0x40)throw CliErrors[_0x8f436b(0x12c)](_0x8f436b(0x12a));_0x595a11['roleName']=_0x51400a;}_0x147659!==undefined&&_0x147659!==null&&(_0x595a11['remark']=String(_0x147659));if(_0x595a11[_0x8f436b(0x11f)]===undefined&&_0x595a11[_0x8f436b(0x10f)]===undefined)throw CliErrors['validation'](_0x8f436b(0x127),_0x8f436b(0x117));return _0x595a11;}export const roleUpdate={'service':a158_0x59e65c(0x122),'command':'update','description':a158_0x59e65c(0x11d),'risk':'write','flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a158_0x59e65c(0x111),'type':a158_0x59e65c(0x119),'required':![],'description':a158_0x59e65c(0x126)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x51ac96){readPatch(_0x51ac96);},async 'dryRun'(_0x22c08b){const _0x293e4b=a158_0x59e65c,_0xd210aa=_0x22c08b[_0x293e4b(0x124)]('id'),_0x4f8756=readPatch(_0x22c08b),_0x4195e6=await getRoleById(_0x22c08b['appCode'],_0xd210aa);return assertCustomRole(_0x4195e6,_0x293e4b(0x11e)),asDryRunResult({'operation':_0x293e4b(0x11e),'selector':{'appCode':_0x22c08b['appCode'],'roleId':_0xd210aa,'roleName':_0x4195e6[_0x293e4b(0x11f)]},'before':projectRole(_0x4195e6),'after':projectRole({..._0x4195e6,..._0x4f8756['roleName']!==undefined?{'roleName':_0x4f8756[_0x293e4b(0x11f)]}:{},..._0x4f8756[_0x293e4b(0x10f)]!==undefined?{'remark':_0x4f8756['remark']}:{}}),'dryRun':!![],'backend':{'method':_0x293e4b(0x121),'path':UPDATE_PATH},'warnings':[]},{'method':_0x293e4b(0x121),'url':UPDATE_PATH});},async 'execute'(_0x328439){const _0x2e6bd0=a158_0x59e65c,_0x2a15e3=_0x328439[_0x2e6bd0(0x124)]('id'),_0x57c5c5=readPatch(_0x328439),_0x3a7011=await getRoleById(_0x328439[_0x2e6bd0(0x10e)],_0x2a15e3);assertCustomRole(_0x3a7011,'update'),await updateAppRole({'id':_0x2a15e3,'appCode':_0x328439[_0x2e6bd0(0x10e)],..._0x57c5c5[_0x2e6bd0(0x11f)]!==undefined?{'roleName':_0x57c5c5[_0x2e6bd0(0x11f)]}:{},..._0x57c5c5[_0x2e6bd0(0x10f)]!==undefined?{'remark':_0x57c5c5[_0x2e6bd0(0x10f)]}:{}});const _0x5dd79a=await getRoleById(_0x328439[_0x2e6bd0(0x10e)],_0x2a15e3);return{'ok':!![],'data':{'operation':_0x2e6bd0(0x11e),'selector':{'appCode':_0x328439['appCode'],'roleId':_0x2a15e3,'roleName':_0x5dd79a[_0x2e6bd0(0x11f)]},'before':projectRole(_0x3a7011),'after':projectRole(_0x5dd79a),'dryRun':![],'backend':{'method':_0x2e6bd0(0x121),'path':UPDATE_PATH},'warnings':[]},'message':'Updated\x20role\x20'+_0x5dd79a['roleName']+_0x2e6bd0(0x113)+_0x2a15e3+')'};}};
1
+ const a158_0x5f3d2d=a158_0x2480;(function(_0x3231ee,_0x41658f){const _0x28d008=a158_0x2480,_0x5da9d3=_0x3231ee();while(!![]){try{const _0x23f8a2=parseInt(_0x28d008(0x1c6))/0x1*(-parseInt(_0x28d008(0x1cb))/0x2)+parseInt(_0x28d008(0x1dd))/0x3+parseInt(_0x28d008(0x1d6))/0x4+parseInt(_0x28d008(0x1ca))/0x5+-parseInt(_0x28d008(0x1c8))/0x6*(parseInt(_0x28d008(0x1de))/0x7)+parseInt(_0x28d008(0x1c9))/0x8+-parseInt(_0x28d008(0x1c0))/0x9;if(_0x23f8a2===_0x41658f)break;else _0x5da9d3['push'](_0x5da9d3['shift']());}catch(_0x3d2af1){_0x5da9d3['push'](_0x5da9d3['shift']());}}}(a158_0x9310,0xc0fd1));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';function a158_0x2480(_0x10e80e,_0x20d5fb){_0x10e80e=_0x10e80e-0x1bf;const _0x9310da=a158_0x9310();let _0x24801d=_0x9310da[_0x10e80e];return _0x24801d;}function a158_0x9310(){const _0x269cd5=['roleName','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','trim','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','appCode','--name\x20cannot\x20be\x20empty.','/smartapi/permit/role/update','update','name','\x20(id=','2333348fSsfGO','Updated\x20role\x20','flag','New\x20role\x20name','validation','string','remark','2092098qpFILf','21WQhzuI','POST','8869743BJbNnH','write','Nothing\x20to\x20update.','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','role','length','310659VAWuTS','num','869622nXNzKe','3836568ZqyusE','5359315YwXpwJ','4zGcefb'];a158_0x9310=function(){return _0x269cd5;};return a158_0x9310();}const UPDATE_PATH=a158_0x5f3d2d(0x1d2);function readPatch(_0x11387c){const _0x227f15=a158_0x5f3d2d,_0x2e893f=_0x11387c[_0x227f15(0x1d8)](_0x227f15(0x1d4)),_0x1cc968=_0x11387c[_0x227f15(0x1d8)](_0x227f15(0x1dc)),_0x508c8c={};if(_0x2e893f!==undefined&&_0x2e893f!==null){const _0x130235=String(_0x2e893f)[_0x227f15(0x1ce)]();if(!_0x130235)throw CliErrors[_0x227f15(0x1da)](_0x227f15(0x1d1));if(_0x130235[_0x227f15(0x1c5)]>0x40)throw CliErrors['validation'](_0x227f15(0x1cf));_0x508c8c[_0x227f15(0x1cc)]=_0x130235;}_0x1cc968!==undefined&&_0x1cc968!==null&&(_0x508c8c[_0x227f15(0x1dc)]=String(_0x1cc968));if(_0x508c8c[_0x227f15(0x1cc)]===undefined&&_0x508c8c[_0x227f15(0x1dc)]===undefined)throw CliErrors[_0x227f15(0x1da)](_0x227f15(0x1c2),_0x227f15(0x1cd));return _0x508c8c;}export const roleUpdate={'service':a158_0x5f3d2d(0x1c4),'command':'update','description':a158_0x5f3d2d(0x1c3),'risk':a158_0x5f3d2d(0x1c1),'flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a158_0x5f3d2d(0x1d4),'type':a158_0x5f3d2d(0x1db),'required':![],'description':a158_0x5f3d2d(0x1d9)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x111491){readPatch(_0x111491);},async 'dryRun'(_0x103a1f){const _0x1cb627=a158_0x5f3d2d,_0x274fa4=_0x103a1f[_0x1cb627(0x1c7)]('id'),_0xf7b5e0=readPatch(_0x103a1f),_0x18e3df=await getRoleById(_0x103a1f[_0x1cb627(0x1d0)],_0x274fa4);return assertCustomRole(_0x18e3df,_0x1cb627(0x1d3)),asDryRunResult({'operation':_0x1cb627(0x1d3),'selector':{'appCode':_0x103a1f[_0x1cb627(0x1d0)],'roleId':_0x274fa4,'roleName':_0x18e3df[_0x1cb627(0x1cc)]},'before':projectRole(_0x18e3df),'after':projectRole({..._0x18e3df,..._0xf7b5e0[_0x1cb627(0x1cc)]!==undefined?{'roleName':_0xf7b5e0[_0x1cb627(0x1cc)]}:{},..._0xf7b5e0['remark']!==undefined?{'remark':_0xf7b5e0[_0x1cb627(0x1dc)]}:{}}),'dryRun':!![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},{'method':_0x1cb627(0x1bf),'url':UPDATE_PATH});},async 'execute'(_0x3d0c50){const _0x434dc2=a158_0x5f3d2d,_0x93cd40=_0x3d0c50[_0x434dc2(0x1c7)]('id'),_0x3150d1=readPatch(_0x3d0c50),_0x4c9079=await getRoleById(_0x3d0c50[_0x434dc2(0x1d0)],_0x93cd40);assertCustomRole(_0x4c9079,'update'),await updateAppRole({'id':_0x93cd40,'appCode':_0x3d0c50['appCode'],..._0x3150d1[_0x434dc2(0x1cc)]!==undefined?{'roleName':_0x3150d1[_0x434dc2(0x1cc)]}:{},..._0x3150d1[_0x434dc2(0x1dc)]!==undefined?{'remark':_0x3150d1[_0x434dc2(0x1dc)]}:{}});const _0x46bcda=await getRoleById(_0x3d0c50[_0x434dc2(0x1d0)],_0x93cd40);return{'ok':!![],'data':{'operation':_0x434dc2(0x1d3),'selector':{'appCode':_0x3d0c50['appCode'],'roleId':_0x93cd40,'roleName':_0x46bcda[_0x434dc2(0x1cc)]},'before':projectRole(_0x4c9079),'after':projectRole(_0x46bcda),'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},'message':_0x434dc2(0x1d7)+_0x46bcda['roleName']+_0x434dc2(0x1d5)+_0x93cd40+')'};}};
@@ -1 +1 @@
1
- const a159_0x248b28=a159_0x1bc6;(function(_0x1bee0a,_0x5ea78f){const _0x28acbb=a159_0x1bc6,_0x45adaf=_0x1bee0a();while(!![]){try{const _0x44ae3a=parseInt(_0x28acbb(0x67))/0x1*(parseInt(_0x28acbb(0x76))/0x2)+parseInt(_0x28acbb(0x6b))/0x3+parseInt(_0x28acbb(0x79))/0x4+parseInt(_0x28acbb(0x6e))/0x5*(-parseInt(_0x28acbb(0x66))/0x6)+parseInt(_0x28acbb(0x78))/0x7+parseInt(_0x28acbb(0x6d))/0x8*(-parseInt(_0x28acbb(0x77))/0x9)+-parseInt(_0x28acbb(0x69))/0xa*(parseInt(_0x28acbb(0x6c))/0xb);if(_0x44ae3a===_0x5ea78f)break;else _0x45adaf['push'](_0x45adaf['shift']());}catch(_0x6823d5){_0x45adaf['push'](_0x45adaf['shift']());}}}(a159_0xd5e7,0x8200a));import{updateRoleUsers}from'../../core/api-client.js';function a159_0x1bc6(_0x1a1a30,_0x21e65d){_0x1a1a30=_0x1a1a30-0x65;const _0xd5e789=a159_0xd5e7();let _0x1bc664=_0xd5e789[_0x1a1a30];return _0x1bc664;}function a159_0xd5e7(){const _0x3ffdba=['\x20already\x20in\x20role\x20','selector','618NUvOTL','1yOSOKw','POST','1807730VinbUx','userId','293607fCUVEB','11GhFMLX','8KaoKQC','51525lltBMo','Added\x20user\x20','\x20to\x20role\x20','roleName','No\x20change:\x20user\x20','appCode','user-add','high-risk-write','1254158qmRFxc','5811885JAXdVM','4521461rLWHZv','4198288vSfHsu','role'];a159_0xd5e7=function(){return _0x3ffdba;};return a159_0xd5e7();}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 roleUserAdd={'service':a159_0x248b28(0x7a),'command':a159_0x248b28(0x74),'description':'Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','risk':a159_0x248b28(0x75),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x36b0ba){const _0x56cbbc=a159_0x248b28,{mutation:_0x1df2b6}=await prepareUserMutation(_0x36b0ba,_0x56cbbc(0x74),!![]);return asDryRunResult(_0x1df2b6,{'method':_0x56cbbc(0x68),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0xe8020e){const _0x38dce0=a159_0x248b28,{roleList:_0x75f5cc,mutation:_0xc0cd62,changed:_0x546f9a}=await prepareUserMutation(_0xe8020e,'user-add',![]);return _0x546f9a&&await updateRoleUsers(_0xe8020e[_0x38dce0(0x73)],_0x75f5cc),{'ok':!![],'data':_0xc0cd62,'message':_0x546f9a?_0x38dce0(0x6f)+_0xc0cd62[_0x38dce0(0x65)][_0x38dce0(0x6a)]+_0x38dce0(0x70)+_0xc0cd62[_0x38dce0(0x65)][_0x38dce0(0x71)]:_0x38dce0(0x72)+_0xc0cd62['selector'][_0x38dce0(0x6a)]+_0x38dce0(0x7b)+_0xc0cd62[_0x38dce0(0x65)][_0x38dce0(0x71)]};}};
1
+ const a159_0x1f929c=a159_0x4493;function a159_0x4493(_0x3cd316,_0xdf649){_0x3cd316=_0x3cd316-0x189;const _0x268ff3=a159_0x268f();let _0x4493f2=_0x268ff3[_0x3cd316];return _0x4493f2;}(function(_0x4b9f44,_0x1da483){const _0x40f5e6=a159_0x4493,_0x813a42=_0x4b9f44();while(!![]){try{const _0x31727e=-parseInt(_0x40f5e6(0x19e))/0x1+-parseInt(_0x40f5e6(0x19d))/0x2*(parseInt(_0x40f5e6(0x199))/0x3)+-parseInt(_0x40f5e6(0x18c))/0x4*(-parseInt(_0x40f5e6(0x18d))/0x5)+parseInt(_0x40f5e6(0x19b))/0x6*(-parseInt(_0x40f5e6(0x195))/0x7)+-parseInt(_0x40f5e6(0x193))/0x8*(parseInt(_0x40f5e6(0x18b))/0x9)+parseInt(_0x40f5e6(0x19c))/0xa+parseInt(_0x40f5e6(0x189))/0xb;if(_0x31727e===_0x1da483)break;else _0x813a42['push'](_0x813a42['shift']());}catch(_0x9a0505){_0x813a42['push'](_0x813a42['shift']());}}}(a159_0x268f,0xa3853));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 a159_0x268f(){const _0x225d2b=['10767040cHhosX','118KxOXht','283102SYAQqn','appCode','11570339pkRgxt','selector','459lmCmKT','9316JxUsIA','1630RbRRyn','role','\x20already\x20in\x20role\x20','Added\x20user\x20','POST','userId','111272MeojpS','user-add','49XDyZUC','roleName','\x20to\x20role\x20','high-risk-write','43386uxNzJy','No\x20change:\x20user\x20','319122DPPvpy'];a159_0x268f=function(){return _0x225d2b;};return a159_0x268f();}export const roleUserAdd={'service':a159_0x1f929c(0x18e),'command':a159_0x1f929c(0x194),'description':'Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','risk':a159_0x1f929c(0x198),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x4397dc){const _0x5a327a=a159_0x1f929c,{mutation:_0x597cec}=await prepareUserMutation(_0x4397dc,_0x5a327a(0x194),!![]);return asDryRunResult(_0x597cec,{'method':_0x5a327a(0x191),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x5c29a8){const _0x493eaa=a159_0x1f929c,{roleList:_0x3fa3bc,mutation:_0x810a3f,changed:_0x8661a8}=await prepareUserMutation(_0x5c29a8,'user-add',![]);return _0x8661a8&&await updateRoleUsers(_0x5c29a8[_0x493eaa(0x19f)],_0x3fa3bc),{'ok':!![],'data':_0x810a3f,'message':_0x8661a8?_0x493eaa(0x190)+_0x810a3f['selector'][_0x493eaa(0x192)]+_0x493eaa(0x197)+_0x810a3f[_0x493eaa(0x18a)][_0x493eaa(0x196)]:_0x493eaa(0x19a)+_0x810a3f[_0x493eaa(0x18a)][_0x493eaa(0x192)]+_0x493eaa(0x18f)+_0x810a3f['selector'][_0x493eaa(0x196)]};}};
@@ -1 +1 @@
1
- function a160_0xc295(_0x205f08,_0x19c205){_0x205f08=_0x205f08-0x167;const _0x18ca54=a160_0x18ca();let _0xc295d2=_0x18ca54[_0x205f08];return _0xc295d2;}const a160_0x106787=a160_0xc295;(function(_0xa0586e,_0x30774c){const _0x539071=a160_0xc295,_0x5653bc=_0xa0586e();while(!![]){try{const _0x3af7d7=-parseInt(_0x539071(0x177))/0x1+parseInt(_0x539071(0x178))/0x2+-parseInt(_0x539071(0x171))/0x3*(parseInt(_0x539071(0x173))/0x4)+-parseInt(_0x539071(0x16e))/0x5*(-parseInt(_0x539071(0x176))/0x6)+-parseInt(_0x539071(0x167))/0x7+-parseInt(_0x539071(0x16d))/0x8+parseInt(_0x539071(0x16c))/0x9;if(_0x3af7d7===_0x30774c)break;else _0x5653bc['push'](_0x5653bc['shift']());}catch(_0x1e2581){_0x5653bc['push'](_0x5653bc['shift']());}}}(a160_0x18ca,0x64786));function a160_0x18ca(){const _0x16aed5=['19236618xNnMYt','5257720wntkFp','151005zcrQfb','user-remove','\x20from\x20role\x20','2613rtsIkY','userId','3116PfbmbY','role','Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','96CZnwSZ','212428emwlIA','102200ueNxmD','No\x20change:\x20user\x20','4984280fsbPHl','selector','\x20not\x20in\x20role\x20','roleName','Removed\x20user\x20'];a160_0x18ca=function(){return _0x16aed5;};return a160_0x18ca();}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':a160_0x106787(0x174),'command':a160_0x106787(0x16f),'description':a160_0x106787(0x175),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x4e3b56){const _0x529d7e=a160_0x106787,{mutation:_0x5a32dd}=await prepareUserMutation(_0x4e3b56,_0x529d7e(0x16f),!![]);return asDryRunResult(_0x5a32dd,{'method':'POST','url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x61cbfb){const _0x434d6b=a160_0x106787,{roleList:_0x9bf496,mutation:_0xf6ffc5,changed:_0x39f608}=await prepareUserMutation(_0x61cbfb,_0x434d6b(0x16f),![]);return _0x39f608&&await updateRoleUsers(_0x61cbfb['appCode'],_0x9bf496),{'ok':!![],'data':_0xf6ffc5,'message':_0x39f608?_0x434d6b(0x16b)+_0xf6ffc5['selector'][_0x434d6b(0x172)]+_0x434d6b(0x170)+_0xf6ffc5[_0x434d6b(0x168)][_0x434d6b(0x16a)]:_0x434d6b(0x179)+_0xf6ffc5[_0x434d6b(0x168)][_0x434d6b(0x172)]+_0x434d6b(0x169)+_0xf6ffc5[_0x434d6b(0x168)][_0x434d6b(0x16a)]};}};
1
+ const a160_0x220751=a160_0x1195;(function(_0x12112e,_0x19a859){const _0x4ddc13=a160_0x1195,_0x33e653=_0x12112e();while(!![]){try{const _0x2bca9d=parseInt(_0x4ddc13(0x146))/0x1*(parseInt(_0x4ddc13(0x13f))/0x2)+parseInt(_0x4ddc13(0x14a))/0x3*(-parseInt(_0x4ddc13(0x13c))/0x4)+-parseInt(_0x4ddc13(0x14d))/0x5*(parseInt(_0x4ddc13(0x140))/0x6)+-parseInt(_0x4ddc13(0x147))/0x7+parseInt(_0x4ddc13(0x142))/0x8+parseInt(_0x4ddc13(0x14c))/0x9+-parseInt(_0x4ddc13(0x144))/0xa;if(_0x2bca9d===_0x19a859)break;else _0x33e653['push'](_0x33e653['shift']());}catch(_0x3461c2){_0x33e653['push'](_0x33e653['shift']());}}}(a160_0x59cc,0xddef9));import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a160_0x1195(_0x7af55f,_0x327019){_0x7af55f=_0x7af55f-0x13c;const _0x59ccc9=a160_0x59cc();let _0x1195ff=_0x59ccc9[_0x7af55f];return _0x1195ff;}function a160_0x59cc(){const _0x5c52e0=['Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','21520tBYAvT','roleName','1BdPmqO','10539200FYlsdl','POST','user-remove','33vjfbez','Removed\x20user\x20','9848817RlQZQb','5sMfHIC','\x20from\x20role\x20','\x20not\x20in\x20role\x20','userId','369956wNgoOm','role','high-risk-write','2716122QRpUQQ','1915098TPRfCw','selector','10407912ObDUmt'];a160_0x59cc=function(){return _0x5c52e0;};return a160_0x59cc();}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':a160_0x220751(0x13d),'command':a160_0x220751(0x149),'description':a160_0x220751(0x143),'risk':a160_0x220751(0x13e),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x19de15){const _0x4737f5=a160_0x220751,{mutation:_0x3f0204}=await prepareUserMutation(_0x19de15,_0x4737f5(0x149),!![]);return asDryRunResult(_0x3f0204,{'method':_0x4737f5(0x148),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x3588b7){const _0x118fb7=a160_0x220751,{roleList:_0x46222c,mutation:_0x34389e,changed:_0xfbafe5}=await prepareUserMutation(_0x3588b7,'user-remove',![]);return _0xfbafe5&&await updateRoleUsers(_0x3588b7['appCode'],_0x46222c),{'ok':!![],'data':_0x34389e,'message':_0xfbafe5?_0x118fb7(0x14b)+_0x34389e[_0x118fb7(0x141)]['userId']+_0x118fb7(0x14e)+_0x34389e[_0x118fb7(0x141)][_0x118fb7(0x145)]:'No\x20change:\x20user\x20'+_0x34389e[_0x118fb7(0x141)][_0x118fb7(0x150)]+_0x118fb7(0x14f)+_0x34389e[_0x118fb7(0x141)][_0x118fb7(0x145)]};}};
@@ -1 +1 @@
1
- const a161_0x41315b=a161_0x1ae9;(function(_0x1f5d5a,_0x3dd326){const _0xdcd8da=a161_0x1ae9,_0x12706c=_0x1f5d5a();while(!![]){try{const _0x7a8340=-parseInt(_0xdcd8da(0x139))/0x1*(-parseInt(_0xdcd8da(0x130))/0x2)+-parseInt(_0xdcd8da(0x13e))/0x3+-parseInt(_0xdcd8da(0x146))/0x4*(parseInt(_0xdcd8da(0x140))/0x5)+parseInt(_0xdcd8da(0x145))/0x6*(parseInt(_0xdcd8da(0x12e))/0x7)+parseInt(_0xdcd8da(0x12f))/0x8*(parseInt(_0xdcd8da(0x138))/0x9)+-parseInt(_0xdcd8da(0x13c))/0xa*(parseInt(_0xdcd8da(0x13f))/0xb)+parseInt(_0xdcd8da(0x144))/0xc*(parseInt(_0xdcd8da(0x143))/0xd);if(_0x7a8340===_0x3dd326)break;else _0x12706c['push'](_0x12706c['shift']());}catch(_0x3dff10){_0x12706c['push'](_0x12706c['shift']());}}}(a161_0x248f,0x6aa8a));import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a161_0x1ae9(_0x36a2ab,_0x172038){_0x36a2ab=_0x36a2ab-0x12e;const _0x248ff3=a161_0x248f();let _0x1ae958=_0x248ff3[_0x36a2ab];return _0x1ae958;}function a161_0x248f(){const _0x4c5793=['408rXxVkV','4MpLAas','39795pRzssL','250232wiPqZM','969454zTdsQL','Pass\x20--name\x20<nickname|username>.','nickname','Resolved\x20\x22','trim','read','name','str','45mbRUho','1wiqqBJ','userId','username','1963270nmAVIh','flagMissing','183756kLuBQG','11vLyhjD','3611315YXJSHV','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','user-resolve','13XxQnII','4668168XmcSli'];a161_0x248f=function(){return _0x4c5793;};return a161_0x248f();}import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':'role','command':a161_0x41315b(0x142),'description':a161_0x41315b(0x141),'risk':a161_0x41315b(0x135),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x47cddb){const _0xe40e77=a161_0x41315b;if(!_0x47cddb[_0xe40e77(0x137)]('name')[_0xe40e77(0x134)]())throw CliErrors[_0xe40e77(0x13d)](_0xe40e77(0x136),_0xe40e77(0x131));},async 'execute'(_0x5b0c2b){const _0x4b68da=a161_0x41315b,_0x167cc5=_0x5b0c2b[_0x4b68da(0x137)]('name')[_0x4b68da(0x134)](),_0x3201d9=await resolveUserRef(_0x167cc5);return{'ok':!![],'data':{'user':{'userId':_0x3201d9[_0x4b68da(0x13a)],'username':_0x3201d9[_0x4b68da(0x13b)],'nickname':_0x3201d9[_0x4b68da(0x132)],'matchedBy':_0x3201d9['matchedBy']}},'message':_0x4b68da(0x133)+_0x167cc5+'\x22\x20→\x20userId\x20'+_0x3201d9[_0x4b68da(0x13a)]};}};
1
+ const a161_0x4c89e2=a161_0x59e7;(function(_0x2144eb,_0x1a9a42){const _0x3f886f=a161_0x59e7,_0x25462f=_0x2144eb();while(!![]){try{const _0x219572=-parseInt(_0x3f886f(0x1ca))/0x1*(-parseInt(_0x3f886f(0x1c7))/0x2)+parseInt(_0x3f886f(0x1c2))/0x3+parseInt(_0x3f886f(0x1b8))/0x4*(parseInt(_0x3f886f(0x1bd))/0x5)+parseInt(_0x3f886f(0x1b6))/0x6+-parseInt(_0x3f886f(0x1c8))/0x7+parseInt(_0x3f886f(0x1b9))/0x8+-parseInt(_0x3f886f(0x1c1))/0x9*(parseInt(_0x3f886f(0x1be))/0xa);if(_0x219572===_0x1a9a42)break;else _0x25462f['push'](_0x25462f['shift']());}catch(_0x1d1f34){_0x25462f['push'](_0x25462f['shift']());}}}(a161_0x4924,0xa2cb5));function a161_0x4924(){const _0x3ee02c=['3651949SABNpB','trim','687955uGtFAF','\x22\x20→\x20userId\x20','Pass\x20--name\x20<nickname|username>.','flagMissing','1018734IELigN','matchedBy','488352KkxlFR','7346152uqwJCA','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','str','username','25qjRoda','1170lHOKYF','user-resolve','read','169047rSlFnB','2999010HOzNQZ','name','role','Resolved\x20\x22','nickname','2GlHxVy'];a161_0x4924=function(){return _0x3ee02c;};return a161_0x4924();}import{CliErrors}from'../../errors.js';function a161_0x59e7(_0xdbac75,_0x2fc92f){_0xdbac75=_0xdbac75-0x1b3;const _0x4924bf=a161_0x4924();let _0x59e72e=_0x4924bf[_0xdbac75];return _0x59e72e;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':a161_0x4c89e2(0x1c4),'command':a161_0x4c89e2(0x1bf),'description':a161_0x4c89e2(0x1ba),'risk':a161_0x4c89e2(0x1c0),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x393c7e){const _0x247f16=a161_0x4c89e2;if(!_0x393c7e['str'](_0x247f16(0x1c3))[_0x247f16(0x1c9)]())throw CliErrors[_0x247f16(0x1b5)]('name',_0x247f16(0x1b4));},async 'execute'(_0x23b1a8){const _0x275747=a161_0x4c89e2,_0x5708ef=_0x23b1a8[_0x275747(0x1bb)](_0x275747(0x1c3))[_0x275747(0x1c9)](),_0x2dae55=await resolveUserRef(_0x5708ef);return{'ok':!![],'data':{'user':{'userId':_0x2dae55['userId'],'username':_0x2dae55[_0x275747(0x1bc)],'nickname':_0x2dae55[_0x275747(0x1c6)],'matchedBy':_0x2dae55[_0x275747(0x1b7)]}},'message':_0x275747(0x1c5)+_0x5708ef+_0x275747(0x1b3)+_0x2dae55['userId']};}};
@@ -1 +1 @@
1
- const a162_0x2faa03=a162_0x1d1a;(function(_0x3708b9,_0x4cc552){const _0x511f14=a162_0x1d1a,_0xb92d8f=_0x3708b9();while(!![]){try{const _0x25a6d2=parseInt(_0x511f14(0x1d6))/0x1*(-parseInt(_0x511f14(0x1e3))/0x2)+parseInt(_0x511f14(0x1dd))/0x3*(-parseInt(_0x511f14(0x1bf))/0x4)+-parseInt(_0x511f14(0x1e8))/0x5*(-parseInt(_0x511f14(0x1ec))/0x6)+parseInt(_0x511f14(0x1ee))/0x7+-parseInt(_0x511f14(0x1cf))/0x8*(-parseInt(_0x511f14(0x1d7))/0x9)+-parseInt(_0x511f14(0x1cc))/0xa*(parseInt(_0x511f14(0x1d2))/0xb)+-parseInt(_0x511f14(0x1c7))/0xc;if(_0x25a6d2===_0x4cc552)break;else _0xb92d8f['push'](_0xb92d8f['shift']());}catch(_0x5e420f){_0xb92d8f['push'](_0xb92d8f['shift']());}}}(a162_0x240a,0x40f91));function a162_0x240a(){const _0x1e468e=['script','belowMinimum','read','6WXfVDV','dev','3110492EHrZab','\x20run\x20preview\x20--watch','node_modules','\x0a\x20\x20Available\x20scripts:\x0a','.bin','vite\x20build\x20--watch\x20exited\x20with\x20code\x20','pnpm-lock.yaml','\x22\x20not\x20found\x20in\x20package.json.','join','\x20run\x20','No\x20package.json\x20found\x20in\x20current\x20directory.','bool','\x20\x20\x20\x20','\x0a\x20\x20Usage:\x20','boolean','utf-8','92GIQeDA','yarn.lock','npm','Available:\x20','bun.lock','Run\x20a\x20package.json\x20script','\x20run\x20<script>\x0a','preview','4830408bAtIGu','vite','run','slice','push','342730ImTmRt','parse','start','8936IaXEHt','inherit','Script\x20name\x20defined\x20in\x20package.json','11kRTpep','\x20run\x20preview','keys','package.json','1hyAkLv','2547TwMNWu','--watch','args','validation','Script\x20\x22','watch','44079CQMsyl','needsUpgrade','build','vite\x20preview\x20exited\x20with\x20code\x20','\x20run\x20start','scripts','155886dMXkvP','log','has','yarn','error','1791755ZzFFmz'];a162_0x240a=function(){return _0x1e468e;};return a162_0x240a();}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 a162_0x1d1a(_0x51a1b9,_0x447f73){_0x51a1b9=_0x51a1b9-0x1b9;const _0x240a3d=a162_0x240a();let _0x1d1a09=_0x240a3d[_0x51a1b9];return _0x1d1a09;}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([a162_0x2faa03(0x1ce),a162_0x2faa03(0x1ed)]);function readPackageScripts(_0x611547){const _0x335817=a162_0x2faa03,_0x1c3ed6=resolve(_0x611547,_0x335817(0x1d5));if(!existsSync(_0x1c3ed6))return null;try{const _0x3bb99a=JSON[_0x335817(0x1cd)](readFileSync(_0x1c3ed6,_0x335817(0x1be)));return _0x3bb99a[_0x335817(0x1e2)]??{};}catch{return null;}}function detectPackageManager(_0x1e7a71){const _0x29b23d=a162_0x2faa03;if(existsSync(resolve(_0x1e7a71,'bun.lockb'))||existsSync(resolve(_0x1e7a71,_0x29b23d(0x1c3))))return'bun';if(existsSync(resolve(_0x1e7a71,_0x29b23d(0x1f4))))return'pnpm';if(existsSync(resolve(_0x1e7a71,_0x29b23d(0x1c0))))return _0x29b23d(0x1e6);return _0x29b23d(0x1c1);}async function versionCheck(_0x246b78){const _0x5880ae=a162_0x2faa03,_0x1ab83c=await checkCliVersion();(_0x1ab83c[_0x5880ae(0x1de)]||_0x1ab83c[_0x5880ae(0x1ea)])&&(printCliUpgradeWarning(_0x1ab83c),assertCliVersionSupported(_0x1ab83c));const _0x40ceb6=await checkSdkVersion(_0x246b78);if(_0x40ceb6[_0x5880ae(0x1de)])printSdkUpgradeWarning(_0x40ceb6);}function spawnScript(_0x5bc59b,_0x390da6,_0x545b24,_0x304890){return new Promise((_0x5edcf2,_0x36605b)=>{const _0x27fb4b=a162_0x1d1a,_0x1434bc=[_0x27fb4b(0x1c9),_0x390da6,..._0x545b24],_0x5916c0=spawn(_0x5bc59b,_0x1434bc,{'cwd':_0x304890,'stdio':'inherit','shell':!![],'env':{...process.env,'PATH':''+join(_0x304890,_0x27fb4b(0x1f0),_0x27fb4b(0x1f2))+delimiter+process.env.PATH}});_0x5916c0['on']('close',_0x5c0c36=>{const _0x13543f=_0x27fb4b;if(_0x5c0c36===0x0||_0x5c0c36===null)_0x5edcf2();else _0x36605b(new Error(_0x5bc59b+_0x13543f(0x1f7)+_0x390da6+'\x20exited\x20with\x20code\x20'+_0x5c0c36));}),_0x5916c0['on'](_0x27fb4b(0x1e7),_0x36605b);});}function spawnViteBuildWatch(_0x269ffa){return new Promise((_0x37aae4,_0x100aa7)=>{const _0x36b5d3=a162_0x1d1a,_0x2538db=spawn('vite',[_0x36b5d3(0x1df),_0x36b5d3(0x1d8)],{'cwd':_0x269ffa,'stdio':_0x36b5d3(0x1d0),'shell':!![],'env':{...process.env,'PATH':''+join(_0x269ffa,_0x36b5d3(0x1f0),_0x36b5d3(0x1f2))+delimiter+process.env.PATH}});_0x2538db['on']('close',_0x5d870f=>{const _0x58d50d=_0x36b5d3;if(_0x5d870f===0x0||_0x5d870f===null)_0x37aae4();else _0x100aa7(new Error(_0x58d50d(0x1f3)+_0x5d870f));}),_0x2538db['on']('error',_0x100aa7);});}function spawnVitePreview(_0x36e717){return new Promise((_0x447458,_0x52de85)=>{const _0x202c22=a162_0x1d1a,_0x230a2b=spawn(_0x202c22(0x1c8),[_0x202c22(0x1c6)],{'cwd':_0x36e717,'stdio':_0x202c22(0x1d0),'shell':!![],'env':{...process.env,'PATH':''+join(_0x36e717,_0x202c22(0x1f0),'.bin')+delimiter+process.env.PATH}});_0x230a2b['on']('close',_0x2ae814=>{const _0x245fde=_0x202c22;if(_0x2ae814===0x0||_0x2ae814===null)_0x447458();else _0x52de85(new Error(_0x245fde(0x1e0)+_0x2ae814));}),_0x230a2b['on'](_0x202c22(0x1e7),_0x52de85);});}const runFlags=[{'name':a162_0x2faa03(0x1dc),'type':a162_0x2faa03(0x1bd),'description':'Enable\x20watch\x20mode\x20for\x20preview','default':![]}];export const runDefinition={'service':a162_0x2faa03(0x1c9),'command':a162_0x2faa03(0x1c9),'description':a162_0x2faa03(0x1c4),'risk':a162_0x2faa03(0x1eb),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a162_0x2faa03(0x1e9),'description':a162_0x2faa03(0x1d1),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x73a8c9=a162_0x2faa03,_0x86eb52=[];return _0x86eb52[_0x73a8c9(0x1cb)]('\x20\x20EXAMPLES'),_0x86eb52[_0x73a8c9(0x1cb)](_0x73a8c9(0x1bb)+CLI_BIN_NAME+_0x73a8c9(0x1e1)),_0x86eb52[_0x73a8c9(0x1cb)](_0x73a8c9(0x1bb)+CLI_BIN_NAME+'\x20run\x20build'),_0x86eb52[_0x73a8c9(0x1cb)]('\x20\x20\x20\x20'+CLI_BIN_NAME+_0x73a8c9(0x1d3)),_0x86eb52[_0x73a8c9(0x1cb)](_0x73a8c9(0x1bb)+CLI_BIN_NAME+_0x73a8c9(0x1ef)),_0x86eb52[_0x73a8c9(0x1f6)]('\x0a');},async 'execute'(_0xf2e787){const _0x8c963a=a162_0x2faa03,_0x51c871=process['cwd'](),_0x33a8f7=_0xf2e787[_0x8c963a(0x1d9)][0x0],_0x59ea25=_0xf2e787[_0x8c963a(0x1d9)][_0x8c963a(0x1ca)](0x1),_0x1101d3=readPackageScripts(_0x51c871);if(!_0x1101d3)throw CliErrors[_0x8c963a(0x1da)](_0x8c963a(0x1b9));if(!_0x33a8f7){const _0x4cbfd3=Object[_0x8c963a(0x1d4)](_0x1101d3);if(_0x4cbfd3['length']===0x0)console[_0x8c963a(0x1e4)]('No\x20scripts\x20defined\x20in\x20package.json.');else{console[_0x8c963a(0x1e4)](_0x8c963a(0x1f1));for(const _0x2dfede of _0x4cbfd3){console['log'](_0x8c963a(0x1bb)+_0x2dfede);}console[_0x8c963a(0x1e4)](_0x8c963a(0x1bc)+CLI_BIN_NAME+_0x8c963a(0x1c5));}return{'ok':!![]};}if(!_0x1101d3[_0x33a8f7])throw CliErrors[_0x8c963a(0x1da)](_0x8c963a(0x1db)+_0x33a8f7+_0x8c963a(0x1f5),_0x8c963a(0x1c2)+(Object[_0x8c963a(0x1d4)](_0x1101d3)[_0x8c963a(0x1f6)](',\x20')||'(none)'));const _0x1e67b9=detectPackageManager(_0x51c871);VERSION_CHECK_SCRIPTS[_0x8c963a(0x1e5)](_0x33a8f7)&&await versionCheck(_0x51c871);if(_0x33a8f7===_0x8c963a(0x1c6)&&_0xf2e787[_0x8c963a(0x1ba)](_0x8c963a(0x1dc)))return await Promise['all']([spawnViteBuildWatch(_0x51c871),spawnVitePreview(_0x51c871)]),{'ok':!![]};return await spawnScript(_0x1e67b9,_0x33a8f7,_0x59ea25,_0x51c871),{'ok':!![]};}};
1
+ const a162_0x73eeeb=a162_0x136c;(function(_0xb4a620,_0x4963a2){const _0x2db335=a162_0x136c,_0xb4dff4=_0xb4a620();while(!![]){try{const _0x237b8e=-parseInt(_0x2db335(0x157))/0x1*(parseInt(_0x2db335(0x14d))/0x2)+-parseInt(_0x2db335(0x16b))/0x3*(parseInt(_0x2db335(0x171))/0x4)+-parseInt(_0x2db335(0x163))/0x5*(parseInt(_0x2db335(0x15b))/0x6)+-parseInt(_0x2db335(0x175))/0x7+parseInt(_0x2db335(0x14c))/0x8*(-parseInt(_0x2db335(0x167))/0x9)+-parseInt(_0x2db335(0x149))/0xa+parseInt(_0x2db335(0x17b))/0xb*(parseInt(_0x2db335(0x140))/0xc);if(_0x237b8e===_0x4963a2)break;else _0xb4dff4['push'](_0xb4dff4['shift']());}catch(_0xb6dd3b){_0xb4dff4['push'](_0xb4dff4['shift']());}}}(a162_0x261c,0x72afa));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';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([a162_0x73eeeb(0x16a),a162_0x73eeeb(0x164)]);function readPackageScripts(_0x2fb808){const _0xe12604=a162_0x73eeeb,_0x4e291d=resolve(_0x2fb808,'package.json');if(!existsSync(_0x4e291d))return null;try{const _0x166829=JSON[_0xe12604(0x17e)](readFileSync(_0x4e291d,_0xe12604(0x141)));return _0x166829['scripts']??{};}catch{return null;}}function detectPackageManager(_0x146413){const _0x33f941=a162_0x73eeeb;if(existsSync(resolve(_0x146413,_0x33f941(0x159)))||existsSync(resolve(_0x146413,'bun.lock')))return _0x33f941(0x151);if(existsSync(resolve(_0x146413,_0x33f941(0x142))))return _0x33f941(0x148);if(existsSync(resolve(_0x146413,_0x33f941(0x15a))))return _0x33f941(0x14e);return'npm';}function a162_0x136c(_0x4a8d2d,_0x25a34f){_0x4a8d2d=_0x4a8d2d-0x140;const _0x261cf4=a162_0x261c();let _0x136cb4=_0x261cf4[_0x4a8d2d];return _0x136cb4;}async function versionCheck(_0x4d19f0){const _0x165a52=a162_0x73eeeb,_0x454fe8=await checkCliVersion();(_0x454fe8[_0x165a52(0x174)]||_0x454fe8[_0x165a52(0x160)])&&(printCliUpgradeWarning(_0x454fe8),assertCliVersionSupported(_0x454fe8));const _0x50da0a=await checkSdkVersion(_0x4d19f0);if(_0x50da0a[_0x165a52(0x174)])printSdkUpgradeWarning(_0x50da0a);}function spawnScript(_0x57b495,_0x38bf6d,_0x1c387b,_0x1e8c31){return new Promise((_0x445c83,_0x85e18e)=>{const _0x4581f3=a162_0x136c,_0x139cc6=[_0x4581f3(0x15c),_0x38bf6d,..._0x1c387b],_0x5548f1=spawn(_0x57b495,_0x139cc6,{'cwd':_0x1e8c31,'stdio':_0x4581f3(0x153),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1e8c31,_0x4581f3(0x16d),_0x4581f3(0x179))+delimiter+process.env.PATH}});_0x5548f1['on'](_0x4581f3(0x143),_0x3e0d12=>{const _0x3d1c89=_0x4581f3;if(_0x3e0d12===0x0||_0x3e0d12===null)_0x445c83();else _0x85e18e(new Error(_0x57b495+_0x3d1c89(0x173)+_0x38bf6d+_0x3d1c89(0x152)+_0x3e0d12));}),_0x5548f1['on'](_0x4581f3(0x14b),_0x85e18e);});}function spawnViteBuildWatch(_0x1cf76a){return new Promise((_0x204202,_0x47480d)=>{const _0x198ee5=a162_0x136c,_0x2a00ef=spawn('vite',['build',_0x198ee5(0x170)],{'cwd':_0x1cf76a,'stdio':_0x198ee5(0x153),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1cf76a,'node_modules',_0x198ee5(0x179))+delimiter+process.env.PATH}});_0x2a00ef['on']('close',_0x49e58e=>{const _0x507044=_0x198ee5;if(_0x49e58e===0x0||_0x49e58e===null)_0x204202();else _0x47480d(new Error(_0x507044(0x168)+_0x49e58e));}),_0x2a00ef['on'](_0x198ee5(0x14b),_0x47480d);});}function spawnVitePreview(_0x1b6474){return new Promise((_0xcc32ea,_0x291469)=>{const _0x1df550=a162_0x136c,_0x9e7e9f=spawn('vite',[_0x1df550(0x16c)],{'cwd':_0x1b6474,'stdio':_0x1df550(0x153),'shell':!![],'env':{...process.env,'PATH':''+join(_0x1b6474,_0x1df550(0x16d),_0x1df550(0x179))+delimiter+process.env.PATH}});_0x9e7e9f['on'](_0x1df550(0x143),_0xc24cf6=>{const _0x1cc84e=_0x1df550;if(_0xc24cf6===0x0||_0xc24cf6===null)_0xcc32ea();else _0x291469(new Error(_0x1cc84e(0x155)+_0xc24cf6));}),_0x9e7e9f['on'](_0x1df550(0x14b),_0x291469);});}const runFlags=[{'name':a162_0x73eeeb(0x17a),'type':'boolean','description':a162_0x73eeeb(0x146),'default':![]}];export const runDefinition={'service':a162_0x73eeeb(0x15c),'command':a162_0x73eeeb(0x15c),'description':a162_0x73eeeb(0x16f),'risk':a162_0x73eeeb(0x147),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a162_0x73eeeb(0x161),'description':a162_0x73eeeb(0x17c),'required':![]}],'flags':runFlags,'helpExtra':()=>{const _0x5b5a08=a162_0x73eeeb,_0x25c3cc=[];return _0x25c3cc[_0x5b5a08(0x14a)]('\x20\x20EXAMPLES'),_0x25c3cc[_0x5b5a08(0x14a)](_0x5b5a08(0x17f)+CLI_BIN_NAME+_0x5b5a08(0x169)),_0x25c3cc[_0x5b5a08(0x14a)](_0x5b5a08(0x17f)+CLI_BIN_NAME+_0x5b5a08(0x15d)),_0x25c3cc[_0x5b5a08(0x14a)](_0x5b5a08(0x17f)+CLI_BIN_NAME+_0x5b5a08(0x166)),_0x25c3cc[_0x5b5a08(0x14a)](_0x5b5a08(0x17f)+CLI_BIN_NAME+_0x5b5a08(0x145)),_0x25c3cc[_0x5b5a08(0x16e)]('\x0a');},async 'execute'(_0x2583a8){const _0x124b88=a162_0x73eeeb,_0x13a7a7=process[_0x124b88(0x156)](),_0x1d0c94=_0x2583a8[_0x124b88(0x165)][0x0],_0x341d4f=_0x2583a8[_0x124b88(0x165)][_0x124b88(0x178)](0x1),_0x5b404c=readPackageScripts(_0x13a7a7);if(!_0x5b404c)throw CliErrors[_0x124b88(0x15e)](_0x124b88(0x17d));if(!_0x1d0c94){const _0x33e67=Object[_0x124b88(0x177)](_0x5b404c);if(_0x33e67[_0x124b88(0x150)]===0x0)console[_0x124b88(0x15f)](_0x124b88(0x176));else{console[_0x124b88(0x15f)](_0x124b88(0x172));for(const _0x4599ac of _0x33e67){console[_0x124b88(0x15f)](_0x124b88(0x17f)+_0x4599ac);}console[_0x124b88(0x15f)](_0x124b88(0x180)+CLI_BIN_NAME+_0x124b88(0x162));}return{'ok':!![]};}if(!_0x5b404c[_0x1d0c94])throw CliErrors['validation'](_0x124b88(0x14f)+_0x1d0c94+'\x22\x20not\x20found\x20in\x20package.json.','Available:\x20'+(Object['keys'](_0x5b404c)[_0x124b88(0x16e)](',\x20')||_0x124b88(0x154)));const _0x1fa3ec=detectPackageManager(_0x13a7a7);VERSION_CHECK_SCRIPTS[_0x124b88(0x144)](_0x1d0c94)&&await versionCheck(_0x13a7a7);if(_0x1d0c94===_0x124b88(0x16c)&&_0x2583a8[_0x124b88(0x181)](_0x124b88(0x17a)))return await Promise[_0x124b88(0x158)]([spawnViteBuildWatch(_0x13a7a7),spawnVitePreview(_0x13a7a7)]),{'ok':!![]};return await spawnScript(_0x1fa3ec,_0x1d0c94,_0x341d4f,_0x13a7a7),{'ok':!![]};}};function a162_0x261c(){const _0x3354dd=['vite\x20build\x20--watch\x20exited\x20with\x20code\x20','\x20run\x20start','start','109719jQjcIk','preview','node_modules','join','Run\x20a\x20package.json\x20script','--watch','80BinWTZ','\x0a\x20\x20Available\x20scripts:\x0a','\x20run\x20','needsUpgrade','2890195QWpHuG','No\x20scripts\x20defined\x20in\x20package.json.','keys','slice','.bin','watch','22mKLinM','Script\x20name\x20defined\x20in\x20package.json','No\x20package.json\x20found\x20in\x20current\x20directory.','parse','\x20\x20\x20\x20','\x0a\x20\x20Usage:\x20','bool','21460164oftmED','utf-8','pnpm-lock.yaml','close','has','\x20run\x20preview\x20--watch','Enable\x20watch\x20mode\x20for\x20preview','read','pnpm','6426760hceiwq','push','error','16KVhezM','4UPFGZA','yarn','Script\x20\x22','length','bun','\x20exited\x20with\x20code\x20','inherit','(none)','vite\x20preview\x20exited\x20with\x20code\x20','cwd','223577HxLbDp','all','bun.lockb','yarn.lock','25266MukiCB','run','\x20run\x20build','validation','log','belowMinimum','script','\x20run\x20<script>\x0a','905TcpJFK','dev','args','\x20run\x20preview','497583dYFTeW'];a162_0x261c=function(){return _0x3354dd;};return a162_0x261c();}
@@ -1 +1 @@
1
- const a163_0x53f834=a163_0x3003;(function(_0x268542,_0x622f40){const _0x47d969=a163_0x3003,_0x1c1698=_0x268542();while(!![]){try{const _0x32e661=-parseInt(_0x47d969(0x140))/0x1+-parseInt(_0x47d969(0x145))/0x2+-parseInt(_0x47d969(0x142))/0x3+parseInt(_0x47d969(0x13f))/0x4*(parseInt(_0x47d969(0x144))/0x5)+parseInt(_0x47d969(0x147))/0x6+-parseInt(_0x47d969(0x146))/0x7*(parseInt(_0x47d969(0x13e))/0x8)+parseInt(_0x47d969(0x143))/0x9;if(_0x32e661===_0x622f40)break;else _0x1c1698['push'](_0x1c1698['shift']());}catch(_0x36cb47){_0x1c1698['push'](_0x1c1698['shift']());}}}(a163_0x4bbf,0x460c1));import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x4b04d){const _0x578ab9=await buildSchemaPayload();return{'ok':!![],'data':_0x578ab9};}function a163_0x4bbf(){const _0x19ed5e=['7JsGICn','294402SHCEgG','read','schema','1728032UgQRyE','29336bxVYAl','165770DbGzcw','json','133566tSiyRi','4596759udPNEt','335GHBBlg','675974kOchmv'];a163_0x4bbf=function(){return _0x19ed5e;};return a163_0x4bbf();}function a163_0x3003(_0x400812,_0x30723a){_0x400812=_0x400812-0x13d;const _0x4bbff0=a163_0x4bbf();let _0x30036d=_0x4bbff0[_0x400812];return _0x30036d;}export const schemaDefinition={'service':a163_0x53f834(0x13d),'command':'export','description':'Export\x20machine-readable\x20command\x20schema\x20(JSON)','risk':a163_0x53f834(0x148),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':a163_0x53f834(0x141),'flags':[],'execute':execute};
1
+ const a163_0xdc77b7=a163_0x3822;(function(_0x54f659,_0x1b77c1){const _0x3efe46=a163_0x3822,_0x45f972=_0x54f659();while(!![]){try{const _0x3672e2=parseInt(_0x3efe46(0x127))/0x1+-parseInt(_0x3efe46(0x11a))/0x2*(parseInt(_0x3efe46(0x125))/0x3)+-parseInt(_0x3efe46(0x11d))/0x4*(-parseInt(_0x3efe46(0x121))/0x5)+parseInt(_0x3efe46(0x11e))/0x6*(parseInt(_0x3efe46(0x129))/0x7)+parseInt(_0x3efe46(0x11b))/0x8*(-parseInt(_0x3efe46(0x123))/0x9)+parseInt(_0x3efe46(0x119))/0xa*(-parseInt(_0x3efe46(0x11f))/0xb)+-parseInt(_0x3efe46(0x126))/0xc*(parseInt(_0x3efe46(0x122))/0xd);if(_0x3672e2===_0x1b77c1)break;else _0x45f972['push'](_0x45f972['shift']());}catch(_0x3260e2){_0x45f972['push'](_0x45f972['shift']());}}}(a163_0x1b8a,0x319aa));function a163_0x1b8a(){const _0x2e2077=['Export\x20machine-readable\x20command\x20schema\x20(JSON)','1370204TreMuW','6LYyvwU','2301046GignrQ','read','5HWBLTN','61217hqjPim','713799LNHTCb','export','466881AZwtOd','60RxuifZ','188788TMvNHh','schema','976556XDdikz','10pSUBLz','2MaVPza','8pGmIeg'];a163_0x1b8a=function(){return _0x2e2077;};return a163_0x1b8a();}function a163_0x3822(_0x3b0c96,_0x252317){_0x3b0c96=_0x3b0c96-0x119;const _0x1b8a99=a163_0x1b8a();let _0x38224f=_0x1b8a99[_0x3b0c96];return _0x38224f;}import{buildSchemaPayload}from'../framework/schema-export.js';async function execute(_0x924fbb){const _0x172860=await buildSchemaPayload();return{'ok':!![],'data':_0x172860};}export const schemaDefinition={'service':a163_0xdc77b7(0x128),'command':a163_0xdc77b7(0x124),'description':a163_0xdc77b7(0x11c),'risk':a163_0xdc77b7(0x120),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'defaultOutputFormat':'json','flags':[],'execute':execute};
@@ -1 +1 @@
1
- const a164_0x5a2ef4=a164_0x4e09;(function(_0x15ee02,_0x26fc7d){const _0x3bb970=a164_0x4e09,_0x18fbf3=_0x15ee02();while(!![]){try{const _0x2e61fa=parseInt(_0x3bb970(0x1cb))/0x1+-parseInt(_0x3bb970(0x19f))/0x2*(parseInt(_0x3bb970(0x1c9))/0x3)+-parseInt(_0x3bb970(0x1cf))/0x4+parseInt(_0x3bb970(0x1a3))/0x5*(-parseInt(_0x3bb970(0x1a4))/0x6)+-parseInt(_0x3bb970(0x1b9))/0x7+parseInt(_0x3bb970(0x1b2))/0x8+parseInt(_0x3bb970(0x1a1))/0x9;if(_0x2e61fa===_0x26fc7d)break;else _0x18fbf3['push'](_0x18fbf3['shift']());}catch(_0x1e5697){_0x18fbf3['push'](_0x18fbf3['shift']());}}}(a164_0xe0ab,0xee62c));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';function a164_0xe0ab(){const _0x183e8b=['dbName','create','nonInteractive','407958CGgkIm','/smartapi/custom/saveUserCustomSql','230046HwUzyC','__manual__','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','普通\x20SQL(sql)','323980oKtfNd','POST','SQL\x20名称不能为空','number','\x20\x20SELECT\x201\x20AS\x20id','length','trim','File\x20already\x20exists:\x20','flagMissing','db-id','catch','sqlRoot','sql','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','dbId\x20不能为空','new','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','12rWeFaJ','mybatisXml','32513715ONQDpQ','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','3707095TMKXwv','6eXKGKV','MyBatis\x20XML(mybatisXml)','sqls','sqlRootDir','sqlName','sqlCode','</select>','utf8','lockFilePath','dbId\x20必须为正整数','SELECT\x201\x20AS\x20id;','请选择目标数据库:','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','parse','736192nHudVf','Local\x20SQL\x20file\x20mode','Created\x20SQL\x20query\x20','mode','请输入目标数据库\x20dbId:','appCode','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','9239629Fpuyrq','<server-generated-sqlCode>','description','name','toISOString','string','SQL\x20query\x20display\x20name','str','validation','isFinite','适合带动态标签的\x20MyBatis\x20XML\x20SQL','dbId','join'];a164_0xe0ab=function(){return _0x183e8b;};return a164_0xe0ab();}import{getDbName,listDatabases}from'../../core/db-resolver.js';import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';function a164_0x4e09(_0x4a8015,_0x26e290){_0x4a8015=_0x4a8015-0x19f;const _0xe0ab30=a164_0xe0ab();let _0x4e0999=_0xe0ab30[_0x4a8015];return _0x4e0999;}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(_0x43970a){const _0x17abc5=a164_0x4e09;if(_0x43970a===_0x17abc5(0x1a0))return[_0x17abc5(0x1a2),_0x17abc5(0x1d3),_0x17abc5(0x1aa),''][_0x17abc5(0x1c5)]('\x0a');return[_0x17abc5(0x1ae),'']['join']('\x0a');}export const sqlCreate={'service':a164_0x5a2ef4(0x1db),'command':a164_0x5a2ef4(0x1c7),'description':a164_0x5a2ef4(0x1dc),'risk':'high-risk-write','flags':[{'name':a164_0x5a2ef4(0x1bc),'type':a164_0x5a2ef4(0x1be),'description':a164_0x5a2ef4(0x1bf)},{'name':a164_0x5a2ef4(0x1d8),'type':'number','description':'Target\x20database\x20ID'},{'name':a164_0x5a2ef4(0x1b5),'type':a164_0x5a2ef4(0x1be),'enum':['sql','mybatisXml'],'description':a164_0x5a2ef4(0x1b3)}],async 'validate'(_0x1098b2){const _0x5a7845=a164_0x5a2ef4;if(!_0x1098b2[_0x5a7845(0x1c8)])return;if(!_0x1098b2[_0x5a7845(0x1c0)](_0x5a7845(0x1bc))[_0x5a7845(0x1d5)]())throw CliErrors['flagMissing'](_0x5a7845(0x1bc),_0x5a7845(0x1cd));const _0x3a61dc=resolveProvidedDbId(_0x1098b2);if(typeof _0x3a61dc!=='number'||!Number[_0x5a7845(0x1c2)](_0x3a61dc)||_0x3a61dc<=0x0)throw CliErrors['flagMissing'](_0x5a7845(0x1d8),_0x5a7845(0x1b0));if(!_0x1098b2['str'](_0x5a7845(0x1b5))['trim']())throw CliErrors[_0x5a7845(0x1d7)](_0x5a7845(0x1b5),_0x5a7845(0x1b8));},async 'dryRun'(_0xe398ec){const _0x1348da=a164_0x5a2ef4,_0x3a61ce=loadSqlProjectConfig(_0xe398ec[_0x1348da(0x1b7)]),{sqlName:_0x39d16f,dbId:_0x165a81,dbName:_0x159207,mode:_0x13b27b}=await resolveSqlNewInputs(_0xe398ec),_0x22ec63=buildSqlRelativePath(_0x1348da(0x1ba),_0x39d16f,_0x159207,_0x13b27b,_0x165a81),_0x57b5a1=_0x3a61ce['sqlRootDir']+'/'+_0x22ec63;return{'method':_0x1348da(0x1d0),'url':_0x1348da(0x1ca),'body':{'appCode':_0xe398ec[_0x1348da(0x1b7)],'sqlName':_0x39d16f,'dbId':_0x165a81,'mode':_0x13b27b,'localPath':_0x57b5a1},'description':_0x1348da(0x1df)+_0x3a61ce['sqlRootDir']};},async 'execute'(_0x5e7f63){const _0x43eed2=a164_0x5a2ef4,_0x2ca017=loadSqlProjectConfig(_0x5e7f63[_0x43eed2(0x1b7)]),{sqlName:_0x57832c,dbId:_0x11291d,dbName:_0x453de6,mode:_0x5ea0bd}=await resolveSqlNewInputs(_0x5e7f63),_0x198197=generateSqlTemplate(_0x5ea0bd),_0x18e253=await createSqlQuery({'appCode':_0x5e7f63['appCode'],'sqlName':_0x57832c,'dbId':_0x11291d,'sqlContent':_0x198197}),_0x52ed27=ensureRemoteSqlContent(_0x18e253),_0x3e3535=_0x453de6||await getDbName(_0x5e7f63[_0x43eed2(0x1b7)],_0x11291d)[_0x43eed2(0x1d9)](()=>undefined),_0xaaf74f=buildSqlRelativePath(_0x18e253[_0x43eed2(0x1a9)],_0x18e253[_0x43eed2(0x1a8)],_0x3e3535,_0x5ea0bd,_0x11291d),_0xfbc677=_0x2ca017[_0x43eed2(0x1a7)]+'/'+_0xaaf74f,_0xcd28f0=buildLocalSqlFileContent({'sqlCode':_0x18e253[_0x43eed2(0x1a9)],'sqlName':_0x18e253[_0x43eed2(0x1a8)],'dbId':_0x18e253[_0x43eed2(0x1c4)]},_0x52ed27,{'dbName':_0x3e3535,'mode':_0x5ea0bd,'syncedAt':new Date()[_0x43eed2(0x1bd)](),'description':_0x18e253[_0x43eed2(0x1bb)]});if(await fileExists(_0xfbc677))throw CliErrors[_0x43eed2(0x1c1)](_0x43eed2(0x1d6)+_0xfbc677);await ensureParentDirectory(_0xfbc677),await writeFile(_0xfbc677,_0xcd28f0,_0x43eed2(0x1ab));const _0x328631=await readSqlLockFile(_0x2ca017['lockFilePath']),{lockData:_0x1f1b40,appLock:_0x27de0f}=ensureSqlLockScope(_0x328631??createEmptySqlLock(),_0x2ca017[_0x43eed2(0x1b7)],_0x2ca017[_0x43eed2(0x1da)],_0x43eed2(0x1de));return _0x27de0f[_0x43eed2(0x1a6)][_0x18e253[_0x43eed2(0x1a9)]]={...buildSqlLockEntry(_0x18e253,_0x52ed27,computeSqlContentHash(_0xcd28f0),{'dbName':_0x3e3535}),'path':_0xaaf74f,'mode':_0x5ea0bd},_0x27de0f['lastSync']=new Date()[_0x43eed2(0x1bd)](),await writeSqlLockFile(_0x2ca017[_0x43eed2(0x1ac)],_0x1f1b40),{'ok':!![],'data':{'id':_0x18e253['id'],'sqlCode':_0x18e253['sqlCode'],'sqlName':_0x18e253[_0x43eed2(0x1a8)],'dbId':_0x18e253[_0x43eed2(0x1c4)],'path':_0xfbc677,'mode':_0x5ea0bd},'message':_0x43eed2(0x1b4)+_0x18e253[_0x43eed2(0x1a9)]};}};async function resolveSqlNewInputs(_0x2d947e){const _0x57f8ae=await resolveSqlNameInput(_0x2d947e),{dbId:_0x1a2b24,dbName:_0xcb7eae}=await resolveDbSelection(_0x2d947e),_0x18c5b2=await resolveSqlModeInput(_0x2d947e);return{'sqlName':_0x57f8ae,'dbId':_0x1a2b24,'dbName':_0xcb7eae,'mode':_0x18c5b2};}async function resolveSqlNameInput(_0x340f43){const _0x100613=a164_0x5a2ef4,_0x3f59f6=_0x340f43[_0x100613(0x1c0)](_0x100613(0x1bc))[_0x100613(0x1d5)]();if(_0x3f59f6)return _0x3f59f6;if(_0x340f43[_0x100613(0x1c8)])throw CliErrors['flagMissing'](_0x100613(0x1bc),_0x100613(0x1cd));return(await input({'message':'请输入\x20SQL\x20名称:','validate':_0xb4f2e3=>_0xb4f2e3[_0x100613(0x1d5)]()?!![]:_0x100613(0x1d1)}))[_0x100613(0x1d5)]();}async function resolveDbSelection(_0x626782){const _0x12db64=a164_0x5a2ef4,_0x43cbfa=resolveProvidedDbId(_0x626782);if(typeof _0x43cbfa==='number'&&Number[_0x12db64(0x1c2)](_0x43cbfa)&&_0x43cbfa>0x0)return{'dbId':_0x43cbfa,'dbName':await getDbName(_0x626782[_0x12db64(0x1b7)],_0x43cbfa)[_0x12db64(0x1d9)](()=>undefined)};if(_0x626782['nonInteractive'])throw CliErrors['flagMissing'](_0x12db64(0x1d8),_0x12db64(0x1b0));const _0x1f00cd=await listDatabases(_0x626782[_0x12db64(0x1b7)])[_0x12db64(0x1d9)](()=>[]);if(_0x1f00cd[_0x12db64(0x1d4)]===0x1)return{'dbId':_0x1f00cd[0x0][_0x12db64(0x1c4)],'dbName':_0x1f00cd[0x0]['dbName']};if(_0x1f00cd[_0x12db64(0x1d4)]>0x1){const _0x18e383=await select({'message':_0x12db64(0x1af),'choices':[..._0x1f00cd['map'](_0x431c21=>({'name':_0x431c21[_0x12db64(0x1c6)]+'\x20('+_0x431c21[_0x12db64(0x1c4)]+')','value':serializeDbSelection(_0x431c21)})),{'name':'✎\x20手动输入\x20dbId','value':_0x12db64(0x1cc)}]});if(_0x18e383!=='__manual__')return deserializeDbSelection(_0x18e383);}const _0x5c27b6=await input({'message':_0x12db64(0x1b6),'validate':_0x4a36d5=>{const _0x340c33=_0x12db64,_0x1bb1c5=_0x4a36d5[_0x340c33(0x1d5)]();if(!_0x1bb1c5)return _0x340c33(0x1dd);const _0x24cd8e=Number(_0x1bb1c5);if(!Number['isInteger'](_0x24cd8e)||_0x24cd8e<=0x0)return _0x340c33(0x1ad);return!![];}});return{'dbId':Number(_0x5c27b6['trim']())};}async function resolveSqlModeInput(_0x149818){const _0x4feb5b=a164_0x5a2ef4,_0x481cf2=_0x149818[_0x4feb5b(0x1c0)](_0x4feb5b(0x1b5))[_0x4feb5b(0x1d5)]();if(_0x481cf2===_0x4feb5b(0x1db)||_0x481cf2===_0x4feb5b(0x1a0))return _0x481cf2;if(_0x149818['nonInteractive'])throw CliErrors[_0x4feb5b(0x1d7)](_0x4feb5b(0x1b5),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':'请选择本地\x20SQL\x20模式:','choices':[{'name':_0x4feb5b(0x1ce),'value':_0x4feb5b(0x1db),'description':'适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句'},{'name':_0x4feb5b(0x1a5),'value':_0x4feb5b(0x1a0),'description':_0x4feb5b(0x1c3)}]});}function serializeDbSelection(_0x1762ed){const _0x474e52=a164_0x5a2ef4;return JSON['stringify']({'dbId':_0x1762ed[_0x474e52(0x1c4)],'dbName':_0x1762ed['dbName']});}function deserializeDbSelection(_0x1643f0){const _0x5a20e4=a164_0x5a2ef4;try{const _0x5ea944=JSON[_0x5a20e4(0x1b1)](_0x1643f0);if(typeof _0x5ea944[_0x5a20e4(0x1c4)]==='number'&&Number[_0x5a20e4(0x1c2)](_0x5ea944[_0x5a20e4(0x1c4)]))return{'dbId':_0x5ea944[_0x5a20e4(0x1c4)],'dbName':_0x5ea944['dbName']};}catch{}throw CliErrors[_0x5a20e4(0x1c1)]('Invalid\x20database\x20selection\x20payload:\x20'+_0x1643f0);}function resolveProvidedDbId(_0x471f33){const _0x563131=a164_0x5a2ef4,_0x4353ab=_0x471f33['flag']('db-id');if(typeof _0x4353ab===_0x563131(0x1d2)&&Number['isFinite'](_0x4353ab))return _0x4353ab;return undefined;}
1
+ function a164_0x167d(_0x522920,_0x158462){_0x522920=_0x522920-0x138;const _0x1c3056=a164_0x1c30();let _0x167d1e=_0x1c3056[_0x522920];return _0x167d1e;}const a164_0x5ec471=a164_0x167d;(function(_0x16d1f6,_0x3f1066){const _0x445cd2=a164_0x167d,_0x182455=_0x16d1f6();while(!![]){try{const _0x2bec65=parseInt(_0x445cd2(0x145))/0x1+parseInt(_0x445cd2(0x16a))/0x2+-parseInt(_0x445cd2(0x17a))/0x3+parseInt(_0x445cd2(0x142))/0x4+parseInt(_0x445cd2(0x16b))/0x5+parseInt(_0x445cd2(0x157))/0x6*(-parseInt(_0x445cd2(0x139))/0x7)+-parseInt(_0x445cd2(0x15c))/0x8;if(_0x2bec65===_0x3f1066)break;else _0x182455['push'](_0x182455['shift']());}catch(_0x17a539){_0x182455['push'](_0x182455['shift']());}}}(a164_0x1c30,0x85f63));import{writeFile}from'node:fs/promises';import{input,select}from'@inquirer/prompts';import{createSqlQuery}from'../../core/api-client.js';import{getDbName,listDatabases}from'../../core/db-resolver.js';function a164_0x1c30(){const _0x1f1ca3=['new','Create\x20a\x20new\x20custom\x20SQL\x20and\x20scaffold\x20it\x20locally','mybatisXml','--db-id\x20is\x20required\x20in\x20non-interactive\x20mode.','1837080EUuFAY','--mode\x20is\x20required\x20in\x20non-interactive\x20mode.','Created\x20SQL\x20query\x20','875891JsbUqD','str','trim','sqlName','Invalid\x20database\x20selection\x20payload:\x20','name','<select\x20id=\x22query\x22\x20resultType=\x22map\x22>','Would\x20create\x20a\x20new\x20SQL\x20query\x20and\x20scaffold\x20it\x20under\x20','validation','nonInteractive','high-risk-write','sqlRootDir','flag','SQL\x20名称不能为空','description','mode','dbId\x20不能为空','请输入\x20SQL\x20名称:','2075802HDamWH','<server-generated-sqlCode>','dbId\x20必须为正整数','--name\x20is\x20required\x20in\x20non-interactive\x20mode.','SQL\x20query\x20display\x20name','12082472cVNgjb','File\x20already\x20exists:\x20','请选择目标数据库:','sqls','catch','请输入目标数据库\x20dbId:','toISOString','db-id','isFinite','Local\x20SQL\x20file\x20mode','适合直接执行的普通\x20SELECT\x20/\x20INSERT\x20/\x20UPDATE\x20/\x20DELETE\x20语句','✎\x20手动输入\x20dbId','lockFilePath','/smartapi/custom/saveUserCustomSql','1026506QlCEWU','4363660aDAfCy','SELECT\x201\x20AS\x20id;','dbId','lastSync','\x20\x20SELECT\x201\x20AS\x20id','请选择本地\x20SQL\x20模式:','appCode','length','普通\x20SQL(sql)','join','flagMissing','number','sql','sqlRoot','map','948489yVdBJK','__manual__','7pkTKUr','dbName','sqlCode','utf8','POST'];a164_0x1c30=function(){return _0x1f1ca3;};return a164_0x1c30();}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(_0x547923){const _0x504ca7=a164_0x167d;if(_0x547923===_0x504ca7(0x140))return[_0x504ca7(0x14b),_0x504ca7(0x16f),'</select>',''][_0x504ca7(0x174)]('\x0a');return[_0x504ca7(0x16c),''][_0x504ca7(0x174)]('\x0a');}export const sqlCreate={'service':a164_0x5ec471(0x177),'command':'create','description':a164_0x5ec471(0x13f),'risk':a164_0x5ec471(0x14f),'flags':[{'name':a164_0x5ec471(0x14a),'type':'string','description':a164_0x5ec471(0x15b)},{'name':'db-id','type':a164_0x5ec471(0x176),'description':'Target\x20database\x20ID'},{'name':a164_0x5ec471(0x154),'type':'string','enum':[a164_0x5ec471(0x177),a164_0x5ec471(0x140)],'description':a164_0x5ec471(0x165)}],async 'validate'(_0x57c23a){const _0x2dd351=a164_0x5ec471;if(!_0x57c23a[_0x2dd351(0x14e)])return;if(!_0x57c23a[_0x2dd351(0x146)](_0x2dd351(0x14a))[_0x2dd351(0x147)]())throw CliErrors['flagMissing'](_0x2dd351(0x14a),_0x2dd351(0x15a));const _0xd25803=resolveProvidedDbId(_0x57c23a);if(typeof _0xd25803!=='number'||!Number[_0x2dd351(0x164)](_0xd25803)||_0xd25803<=0x0)throw CliErrors[_0x2dd351(0x175)](_0x2dd351(0x163),_0x2dd351(0x141));if(!_0x57c23a[_0x2dd351(0x146)](_0x2dd351(0x154))[_0x2dd351(0x147)]())throw CliErrors[_0x2dd351(0x175)](_0x2dd351(0x154),_0x2dd351(0x143));},async 'dryRun'(_0x35729b){const _0x52a90b=a164_0x5ec471,_0x26ea44=loadSqlProjectConfig(_0x35729b[_0x52a90b(0x171)]),{sqlName:_0x4921d4,dbId:_0x593de5,dbName:_0x29efc8,mode:_0x356cb8}=await resolveSqlNewInputs(_0x35729b),_0x353f99=buildSqlRelativePath(_0x52a90b(0x158),_0x4921d4,_0x29efc8,_0x356cb8,_0x593de5),_0x13158d=_0x26ea44[_0x52a90b(0x150)]+'/'+_0x353f99;return{'method':_0x52a90b(0x13d),'url':_0x52a90b(0x169),'body':{'appCode':_0x35729b[_0x52a90b(0x171)],'sqlName':_0x4921d4,'dbId':_0x593de5,'mode':_0x356cb8,'localPath':_0x13158d},'description':_0x52a90b(0x14c)+_0x26ea44[_0x52a90b(0x150)]};},async 'execute'(_0x532089){const _0x48b287=a164_0x5ec471,_0x7f2c18=loadSqlProjectConfig(_0x532089[_0x48b287(0x171)]),{sqlName:_0x60eeb4,dbId:_0x54f225,dbName:_0x3229e6,mode:_0xd5b0b8}=await resolveSqlNewInputs(_0x532089),_0x53f1d4=generateSqlTemplate(_0xd5b0b8),_0x3ffe3f=await createSqlQuery({'appCode':_0x532089[_0x48b287(0x171)],'sqlName':_0x60eeb4,'dbId':_0x54f225,'sqlContent':_0x53f1d4}),_0x4056ca=ensureRemoteSqlContent(_0x3ffe3f),_0x4d2a24=_0x3229e6||await getDbName(_0x532089[_0x48b287(0x171)],_0x54f225)[_0x48b287(0x160)](()=>undefined),_0x47a383=buildSqlRelativePath(_0x3ffe3f[_0x48b287(0x13b)],_0x3ffe3f[_0x48b287(0x148)],_0x4d2a24,_0xd5b0b8,_0x54f225),_0x13ee7d=_0x7f2c18[_0x48b287(0x150)]+'/'+_0x47a383,_0x18b7c5=buildLocalSqlFileContent({'sqlCode':_0x3ffe3f[_0x48b287(0x13b)],'sqlName':_0x3ffe3f['sqlName'],'dbId':_0x3ffe3f[_0x48b287(0x16d)]},_0x4056ca,{'dbName':_0x4d2a24,'mode':_0xd5b0b8,'syncedAt':new Date()[_0x48b287(0x162)](),'description':_0x3ffe3f[_0x48b287(0x153)]});if(await fileExists(_0x13ee7d))throw CliErrors[_0x48b287(0x14d)](_0x48b287(0x15d)+_0x13ee7d);await ensureParentDirectory(_0x13ee7d),await writeFile(_0x13ee7d,_0x18b7c5,_0x48b287(0x13c));const _0x32efdf=await readSqlLockFile(_0x7f2c18[_0x48b287(0x168)]),{lockData:_0x21887e,appLock:_0x5419ea}=ensureSqlLockScope(_0x32efdf??createEmptySqlLock(),_0x7f2c18[_0x48b287(0x171)],_0x7f2c18[_0x48b287(0x178)],_0x48b287(0x13e));return _0x5419ea[_0x48b287(0x15f)][_0x3ffe3f[_0x48b287(0x13b)]]={...buildSqlLockEntry(_0x3ffe3f,_0x4056ca,computeSqlContentHash(_0x18b7c5),{'dbName':_0x4d2a24}),'path':_0x47a383,'mode':_0xd5b0b8},_0x5419ea[_0x48b287(0x16e)]=new Date()['toISOString'](),await writeSqlLockFile(_0x7f2c18['lockFilePath'],_0x21887e),{'ok':!![],'data':{'id':_0x3ffe3f['id'],'sqlCode':_0x3ffe3f['sqlCode'],'sqlName':_0x3ffe3f['sqlName'],'dbId':_0x3ffe3f[_0x48b287(0x16d)],'path':_0x13ee7d,'mode':_0xd5b0b8},'message':_0x48b287(0x144)+_0x3ffe3f[_0x48b287(0x13b)]};}};async function resolveSqlNewInputs(_0x37b927){const _0x1ff1e6=await resolveSqlNameInput(_0x37b927),{dbId:_0x5605db,dbName:_0x4a3504}=await resolveDbSelection(_0x37b927),_0x42493f=await resolveSqlModeInput(_0x37b927);return{'sqlName':_0x1ff1e6,'dbId':_0x5605db,'dbName':_0x4a3504,'mode':_0x42493f};}async function resolveSqlNameInput(_0x2de6fa){const _0x321a5b=a164_0x5ec471,_0x53aea6=_0x2de6fa['str'](_0x321a5b(0x14a))[_0x321a5b(0x147)]();if(_0x53aea6)return _0x53aea6;if(_0x2de6fa['nonInteractive'])throw CliErrors[_0x321a5b(0x175)]('name',_0x321a5b(0x15a));return(await input({'message':_0x321a5b(0x156),'validate':_0x1be05b=>_0x1be05b[_0x321a5b(0x147)]()?!![]:_0x321a5b(0x152)}))[_0x321a5b(0x147)]();}async function resolveDbSelection(_0x3a3e4f){const _0x3f1ae8=a164_0x5ec471,_0x118e76=resolveProvidedDbId(_0x3a3e4f);if(typeof _0x118e76===_0x3f1ae8(0x176)&&Number[_0x3f1ae8(0x164)](_0x118e76)&&_0x118e76>0x0)return{'dbId':_0x118e76,'dbName':await getDbName(_0x3a3e4f[_0x3f1ae8(0x171)],_0x118e76)[_0x3f1ae8(0x160)](()=>undefined)};if(_0x3a3e4f[_0x3f1ae8(0x14e)])throw CliErrors[_0x3f1ae8(0x175)](_0x3f1ae8(0x163),_0x3f1ae8(0x141));const _0x4107df=await listDatabases(_0x3a3e4f['appCode'])[_0x3f1ae8(0x160)](()=>[]);if(_0x4107df[_0x3f1ae8(0x172)]===0x1)return{'dbId':_0x4107df[0x0][_0x3f1ae8(0x16d)],'dbName':_0x4107df[0x0][_0x3f1ae8(0x13a)]};if(_0x4107df[_0x3f1ae8(0x172)]>0x1){const _0x5bdbe9=await select({'message':_0x3f1ae8(0x15e),'choices':[..._0x4107df[_0x3f1ae8(0x179)](_0x5365db=>({'name':_0x5365db[_0x3f1ae8(0x13a)]+'\x20('+_0x5365db[_0x3f1ae8(0x16d)]+')','value':serializeDbSelection(_0x5365db)})),{'name':_0x3f1ae8(0x167),'value':_0x3f1ae8(0x138)}]});if(_0x5bdbe9!==_0x3f1ae8(0x138))return deserializeDbSelection(_0x5bdbe9);}const _0x88caa4=await input({'message':_0x3f1ae8(0x161),'validate':_0x554fdc=>{const _0x465cbc=_0x3f1ae8,_0x225abc=_0x554fdc[_0x465cbc(0x147)]();if(!_0x225abc)return _0x465cbc(0x155);const _0x19f500=Number(_0x225abc);if(!Number['isInteger'](_0x19f500)||_0x19f500<=0x0)return _0x465cbc(0x159);return!![];}});return{'dbId':Number(_0x88caa4[_0x3f1ae8(0x147)]())};}async function resolveSqlModeInput(_0x10452b){const _0x2d4399=a164_0x5ec471,_0xa7b03e=_0x10452b['str'](_0x2d4399(0x154))[_0x2d4399(0x147)]();if(_0xa7b03e===_0x2d4399(0x177)||_0xa7b03e==='mybatisXml')return _0xa7b03e;if(_0x10452b[_0x2d4399(0x14e)])throw CliErrors[_0x2d4399(0x175)](_0x2d4399(0x154),'--mode\x20is\x20required\x20in\x20non-interactive\x20mode.');return await select({'message':_0x2d4399(0x170),'choices':[{'name':_0x2d4399(0x173),'value':_0x2d4399(0x177),'description':_0x2d4399(0x166)},{'name':'MyBatis\x20XML(mybatisXml)','value':_0x2d4399(0x140),'description':'适合带动态标签的\x20MyBatis\x20XML\x20SQL'}]});}function serializeDbSelection(_0x4e321c){const _0xe65b81=a164_0x5ec471;return JSON['stringify']({'dbId':_0x4e321c[_0xe65b81(0x16d)],'dbName':_0x4e321c[_0xe65b81(0x13a)]});}function deserializeDbSelection(_0xa1668f){const _0x2fad56=a164_0x5ec471;try{const _0x4651d4=JSON['parse'](_0xa1668f);if(typeof _0x4651d4[_0x2fad56(0x16d)]===_0x2fad56(0x176)&&Number[_0x2fad56(0x164)](_0x4651d4[_0x2fad56(0x16d)]))return{'dbId':_0x4651d4['dbId'],'dbName':_0x4651d4[_0x2fad56(0x13a)]};}catch{}throw CliErrors['validation'](_0x2fad56(0x149)+_0xa1668f);}function resolveProvidedDbId(_0x405837){const _0xd56a42=a164_0x5ec471,_0x49c0f4=_0x405837[_0xd56a42(0x151)](_0xd56a42(0x163));if(typeof _0x49c0f4===_0xd56a42(0x176)&&Number[_0xd56a42(0x164)](_0x49c0f4))return _0x49c0f4;return undefined;}
@@ -1 +1 @@
1
- const a165_0x1a4577=a165_0x5676;(function(_0x2de7b1,_0x21765a){const _0x560446=a165_0x5676,_0x1f3297=_0x2de7b1();while(!![]){try{const _0x45028f=-parseInt(_0x560446(0xe7))/0x1+parseInt(_0x560446(0xe5))/0x2+parseInt(_0x560446(0xd5))/0x3+-parseInt(_0x560446(0xe3))/0x4*(-parseInt(_0x560446(0xd2))/0x5)+-parseInt(_0x560446(0xee))/0x6+-parseInt(_0x560446(0xda))/0x7*(parseInt(_0x560446(0xd8))/0x8)+-parseInt(_0x560446(0xe9))/0x9*(-parseInt(_0x560446(0xd4))/0xa);if(_0x45028f===_0x21765a)break;else _0x1f3297['push'](_0x1f3297['shift']());}catch(_0x2a1435){_0x1f3297['push'](_0x1f3297['shift']());}}}(a165_0x2cf6,0x7eb0e));function a165_0x2cf6(){const _0x56a2c4=['No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22','sqls','5KMYdwL','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','10ZzpCTD','1262430fdETfn','\x20(local\x20file\x20moved\x20to\x20trash)','projectRoot','16CGNHtW','Deleted\x20','2220813qXJASV','remoteId','/smartapi/custom/deleteUserCustomSql','fromEntries','lockFilePath','filter','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','lastSync','POST','3003780lUDGyN','entries','281708UtwhLd','trashDir','950817ufyZwn','validation','12672432GqeeUN','delete','str','sqlcode','startsWith','3698376DqGZdC','sqlRoot','sql','high-risk-write','appCode'];a165_0x2cf6=function(){return _0x56a2c4;};return a165_0x2cf6();}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';function a165_0x5676(_0x2cdd0c,_0x280b1f){_0x2cdd0c=_0x2cdd0c-0xcc;const _0x2cf658=a165_0x2cf6();let _0x567650=_0x2cf658[_0x2cdd0c];return _0x567650;}import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a165_0x1a4577(0xcd),'command':a165_0x1a4577(0xea),'description':a165_0x1a4577(0xe0),'risk':a165_0x1a4577(0xce),'flags':[SQLCODE_FLAG],async 'validate'(_0x2343cc){const _0x2a7258=a165_0x1a4577,_0x601a98=loadSqlProjectConfig(_0x2343cc['appCode']),_0x286bd6=await readSqlLockFile(_0x601a98[_0x2a7258(0xde)]);if(!_0x286bd6)throw CliErrors[_0x2a7258(0xe8)](_0x2a7258(0xd3));},async 'dryRun'(_0x17623d){const _0x27f3ee=a165_0x1a4577,_0x4c431c=loadSqlProjectConfig(_0x17623d[_0x27f3ee(0xcf)]),_0x1261b0=await readSqlLockFile(_0x4c431c['lockFilePath']);if(!_0x1261b0)throw CliErrors[_0x27f3ee(0xe8)](_0x27f3ee(0xd3));const {appLock:_0x1ef624}=ensureSqlLockScope(_0x1261b0,_0x17623d[_0x27f3ee(0xcf)],_0x4c431c[_0x27f3ee(0xcc)],_0x27f3ee(0xea)),_0x34e9f7=_0x17623d[_0x27f3ee(0xeb)]('sqlcode'),_0x3f5440=_0x1ef624[_0x27f3ee(0xd1)][_0x34e9f7];if(!_0x3f5440)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x34e9f7+'\x22.');return{'method':_0x27f3ee(0xe2),'url':_0x27f3ee(0xdc),'body':{'sqlCode':_0x34e9f7,'id':_0x3f5440[_0x27f3ee(0xdb)],'localPath':resolveLocalSqlFilePath(_0x4c431c,_0x34e9f7,_0x3f5440)},'description':'Would\x20delete\x20SQL\x20'+_0x34e9f7+'\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20'+_0x4c431c[_0x27f3ee(0xe6)]};},async 'execute'(_0x4772e7){const _0x1243cc=a165_0x1a4577,_0x4830fa=loadSqlProjectConfig(_0x4772e7[_0x1243cc(0xcf)]),_0x48e7dd=await readSqlLockFile(_0x4830fa[_0x1243cc(0xde)]);if(!_0x48e7dd)throw CliErrors[_0x1243cc(0xe8)]('SQL\x20lock\x20file\x20not\x20found.');const {lockData:_0x22b3c4,appLock:_0xe83de1}=ensureSqlLockScope(_0x48e7dd,_0x4772e7['appCode'],_0x4830fa[_0x1243cc(0xcc)],'delete'),_0xd2538a=_0x4772e7[_0x1243cc(0xeb)](_0x1243cc(0xec)),_0x84638a=_0xe83de1['sqls'][_0xd2538a];if(!_0x84638a)throw CliErrors[_0x1243cc(0xe8)](_0x1243cc(0xd0)+_0xd2538a+'\x22.');await deleteSqlQuery({'id':_0x84638a[_0x1243cc(0xdb)],'sqlCode':_0xd2538a}),_0xe83de1[_0x1243cc(0xd1)]=Object[_0x1243cc(0xdd)](Object[_0x1243cc(0xe4)](_0xe83de1[_0x1243cc(0xd1)])[_0x1243cc(0xdf)](([_0x1b740c])=>_0x1b740c!==_0xd2538a)),_0xe83de1[_0x1243cc(0xe1)]=new Date()['toISOString'](),await writeSqlLockFile(_0x4830fa['lockFilePath'],_0x22b3c4);const _0x41faed=resolveLocalSqlFilePath(_0x4830fa,_0xd2538a,_0x84638a);let _0x5619a6;await fileExists(_0x41faed)&&(_0x5619a6=await moveToTrash(_0x4830fa[_0x1243cc(0xd7)],_0x4830fa[_0x1243cc(0xe6)],_0x41faed),await cleanupEmptyDirectories(dirname(_0x41faed),_0x4830fa['sqlRootDir']));const _0x4505d0={'deleted':_0xd2538a,'remoteId':_0x84638a[_0x1243cc(0xdb)]};if(_0x5619a6)_0x4505d0['trashedTo']=_0x5619a6;return{'ok':!![],'data':_0x4505d0,'message':_0x1243cc(0xd9)+_0xd2538a+(_0x5619a6?_0x1243cc(0xd6):'')};}};async function moveToTrash(_0xa3a40a,_0x199f6d,_0x552a2a){const _0x34368e=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0x2c6a4c=relative(_0xa3a40a,_0x552a2a),_0x47b383=join(_0x199f6d,_0x34368e,_0x2c6a4c);return await mkdir(dirname(_0x47b383),{'recursive':!![]}),await rename(_0x552a2a,_0x47b383),_0x47b383;}async function cleanupEmptyDirectories(_0x380ff6,_0x43edfb){const _0x28b44f=a165_0x1a4577;let _0x3cb327=resolve(_0x380ff6);const _0x41e875=resolve(_0x43edfb);while(_0x3cb327[_0x28b44f(0xed)](''+_0x41e875+sep)||_0x3cb327===_0x41e875){if(_0x3cb327===_0x41e875)return;try{const _0x5bfe0a=await readdir(_0x3cb327);if(_0x5bfe0a['length']>0x0)return;await rmdir(_0x3cb327);}catch{return;}_0x3cb327=dirname(_0x3cb327);}}
1
+ const a165_0xe9e30f=a165_0x32d5;(function(_0x14d86f,_0x5ed959){const _0x3f4364=a165_0x32d5,_0x11910c=_0x14d86f();while(!![]){try{const _0x4df84e=-parseInt(_0x3f4364(0x1b0))/0x1*(-parseInt(_0x3f4364(0x1a2))/0x2)+-parseInt(_0x3f4364(0x1a7))/0x3*(-parseInt(_0x3f4364(0x1b2))/0x4)+-parseInt(_0x3f4364(0x1ab))/0x5+parseInt(_0x3f4364(0x1b9))/0x6*(parseInt(_0x3f4364(0x1a8))/0x7)+parseInt(_0x3f4364(0x1b6))/0x8*(-parseInt(_0x3f4364(0x1ac))/0x9)+-parseInt(_0x3f4364(0x1ae))/0xa*(-parseInt(_0x3f4364(0x197))/0xb)+parseInt(_0x3f4364(0x198))/0xc*(parseInt(_0x3f4364(0x1b7))/0xd);if(_0x4df84e===_0x5ed959)break;else _0x11910c['push'](_0x11910c['shift']());}catch(_0x3a7809){_0x11910c['push'](_0x11910c['shift']());}}}(a165_0x5003,0xdff6e));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';function a165_0x5003(){const _0x3313ef=['entries','/smartapi/custom/deleteUserCustomSql','48eRQPJy','45422DwORjP','lastSync','12JbvEIp','\x20from\x20remote\x20and\x20move\x20local\x20file\x20to\x20','validation','appCode','sqls','toISOString','539275tSxQct','1356wRAWkJ','trashedTo','SQL\x20lock\x20file\x20not\x20found.\x20Run\x20`rabetbase\x20sql\x20create`\x20or\x20`rabetbase\x20sql\x20pull`\x20first.','trashDir','sql','lockFilePath','Delete\x20a\x20SQL\x20query\x20from\x20remote\x20and\x20local','sqlRootDir','remoteId','sqlRoot','853782AtjcHw','POST','fromEntries','startsWith','projectRoot','18meqVkV','1112587ENmLBA','str','SQL\x20lock\x20file\x20not\x20found.','4003260GshYaW','2528964aosbqW','sqlcode','270kqrCqG','high-risk-write','1cyDchd','Deleted\x20','627144plgezS','delete'];a165_0x5003=function(){return _0x3313ef;};return a165_0x5003();}import{loadSqlProjectConfig}from'../../core/sql-sync/config.js';import{fileExists}from'../../core/bff/file-system.js';import{resolveLocalSqlFilePath}from'../../core/sql-sync/file-system.js';import{ensureSqlLockScope,readSqlLockFile,writeSqlLockFile}from'../../core/sql-sync/lock.js';import{CliErrors}from'../../errors.js';import{SQLCODE_FLAG}from'../../commands/common/flags.js';export const sqlDelete={'service':a165_0xe9e30f(0x19c),'command':a165_0xe9e30f(0x1b3),'description':a165_0xe9e30f(0x19e),'risk':a165_0xe9e30f(0x1af),'flags':[SQLCODE_FLAG],async 'validate'(_0x173a7e){const _0x5a71ca=a165_0xe9e30f,_0x1d2987=loadSqlProjectConfig(_0x173a7e[_0x5a71ca(0x1bc)]),_0x2edd0b=await readSqlLockFile(_0x1d2987['lockFilePath']);if(!_0x2edd0b)throw CliErrors['validation'](_0x5a71ca(0x19a));},async 'dryRun'(_0x44b7e0){const _0x5dcbb4=a165_0xe9e30f,_0x15a84f=loadSqlProjectConfig(_0x44b7e0[_0x5dcbb4(0x1bc)]),_0x3eed52=await readSqlLockFile(_0x15a84f[_0x5dcbb4(0x19d)]);if(!_0x3eed52)throw CliErrors['validation'](_0x5dcbb4(0x19a));const {appLock:_0x234382}=ensureSqlLockScope(_0x3eed52,_0x44b7e0[_0x5dcbb4(0x1bc)],_0x15a84f['sqlRoot'],_0x5dcbb4(0x1b3)),_0x2e416b=_0x44b7e0[_0x5dcbb4(0x1a9)](_0x5dcbb4(0x1ad)),_0x287085=_0x234382[_0x5dcbb4(0x1bd)][_0x2e416b];if(!_0x287085)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x2e416b+'\x22.');return{'method':_0x5dcbb4(0x1a3),'url':_0x5dcbb4(0x1b5),'body':{'sqlCode':_0x2e416b,'id':_0x287085['remoteId'],'localPath':resolveLocalSqlFilePath(_0x15a84f,_0x2e416b,_0x287085)},'description':'Would\x20delete\x20SQL\x20'+_0x2e416b+_0x5dcbb4(0x1ba)+_0x15a84f[_0x5dcbb4(0x19b)]};},async 'execute'(_0x34add6){const _0x1d7a5a=a165_0xe9e30f,_0x444181=loadSqlProjectConfig(_0x34add6['appCode']),_0x26dc14=await readSqlLockFile(_0x444181['lockFilePath']);if(!_0x26dc14)throw CliErrors[_0x1d7a5a(0x1bb)](_0x1d7a5a(0x1aa));const {lockData:_0x36a50f,appLock:_0x36abc5}=ensureSqlLockScope(_0x26dc14,_0x34add6[_0x1d7a5a(0x1bc)],_0x444181[_0x1d7a5a(0x1a1)],_0x1d7a5a(0x1b3)),_0x489008=_0x34add6[_0x1d7a5a(0x1a9)]('sqlcode'),_0x140094=_0x36abc5[_0x1d7a5a(0x1bd)][_0x489008];if(!_0x140094)throw CliErrors['validation']('No\x20SQL\x20lock\x20entry\x20found\x20for\x20\x22'+_0x489008+'\x22.');await deleteSqlQuery({'id':_0x140094[_0x1d7a5a(0x1a0)],'sqlCode':_0x489008}),_0x36abc5['sqls']=Object[_0x1d7a5a(0x1a4)](Object[_0x1d7a5a(0x1b4)](_0x36abc5[_0x1d7a5a(0x1bd)])['filter'](([_0x360d0c])=>_0x360d0c!==_0x489008)),_0x36abc5[_0x1d7a5a(0x1b8)]=new Date()[_0x1d7a5a(0x196)](),await writeSqlLockFile(_0x444181[_0x1d7a5a(0x19d)],_0x36a50f);const _0x3c3b25=resolveLocalSqlFilePath(_0x444181,_0x489008,_0x140094);let _0x44a54d;await fileExists(_0x3c3b25)&&(_0x44a54d=await moveToTrash(_0x444181[_0x1d7a5a(0x1a6)],_0x444181[_0x1d7a5a(0x19b)],_0x3c3b25),await cleanupEmptyDirectories(dirname(_0x3c3b25),_0x444181[_0x1d7a5a(0x19f)]));const _0x454212={'deleted':_0x489008,'remoteId':_0x140094[_0x1d7a5a(0x1a0)]};if(_0x44a54d)_0x454212[_0x1d7a5a(0x199)]=_0x44a54d;return{'ok':!![],'data':_0x454212,'message':_0x1d7a5a(0x1b1)+_0x489008+(_0x44a54d?'\x20(local\x20file\x20moved\x20to\x20trash)':'')};}};function a165_0x32d5(_0x2cf0c9,_0x3ee6e8){_0x2cf0c9=_0x2cf0c9-0x196;const _0x500376=a165_0x5003();let _0x32d515=_0x500376[_0x2cf0c9];return _0x32d515;}async function moveToTrash(_0x2be4ce,_0x3687d8,_0x1e9ee4){const _0x3a35ec=a165_0xe9e30f,_0x47a0f0=new Date()[_0x3a35ec(0x196)]()['replace'](/[:.]/g,'-'),_0x1d425c=relative(_0x2be4ce,_0x1e9ee4),_0x1fbc20=join(_0x3687d8,_0x47a0f0,_0x1d425c);return await mkdir(dirname(_0x1fbc20),{'recursive':!![]}),await rename(_0x1e9ee4,_0x1fbc20),_0x1fbc20;}async function cleanupEmptyDirectories(_0x3d0ed8,_0x511834){const _0x5ecdd2=a165_0xe9e30f;let _0x35eb43=resolve(_0x3d0ed8);const _0x13d9d3=resolve(_0x511834);while(_0x35eb43[_0x5ecdd2(0x1a5)](''+_0x13d9d3+sep)||_0x35eb43===_0x13d9d3){if(_0x35eb43===_0x13d9d3)return;try{const _0x31d7d2=await readdir(_0x35eb43);if(_0x31d7d2['length']>0x0)return;await rmdir(_0x35eb43);}catch{return;}_0x35eb43=dirname(_0x35eb43);}}