@lovrabet/lovrabet-cli 2.2.5-beta.2 → 2.2.6-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 (174) hide show
  1. package/README.md +3 -3
  2. package/lib/cli.js +1 -1
  3. package/lib/commands/api-doc/index.js +1 -1
  4. package/lib/commands/app/cache.js +1 -1
  5. package/lib/commands/app/definitions.js +1 -1
  6. package/lib/commands/app/eligibility.js +1 -1
  7. package/lib/commands/app/mock-loader.js +1 -1
  8. package/lib/commands/app/remote-source.js +1 -1
  9. package/lib/commands/app/shared.js +1 -1
  10. package/lib/commands/app-config/get.js +1 -1
  11. package/lib/commands/app-config/index.js +1 -1
  12. package/lib/commands/artifact/index.js +1 -1
  13. package/lib/commands/auth/device.js +1 -1
  14. package/lib/commands/auth/index.js +1 -1
  15. package/lib/commands/auth/prompt.js +1 -1
  16. package/lib/commands/bff/detail.d.ts +1 -1
  17. package/lib/commands/bff/detail.js +1 -1
  18. package/lib/commands/bff/exec.d.ts +2 -2
  19. package/lib/commands/bff/exec.js +1 -1
  20. package/lib/commands/bff/index.js +1 -1
  21. package/lib/commands/cli-skill/index.js +1 -1
  22. package/lib/commands/common/config-policy.js +1 -1
  23. package/lib/commands/common/constraints.js +1 -1
  24. package/lib/commands/common/flags.d.ts +1 -1
  25. package/lib/commands/common/flags.js +1 -1
  26. package/lib/commands/common/local-file.js +1 -1
  27. package/lib/commands/config/definitions.js +1 -1
  28. package/lib/commands/config/shared.js +1 -1
  29. package/lib/commands/data/index.js +1 -1
  30. package/lib/commands/dataset/detail.js +1 -1
  31. package/lib/commands/dataset/index.js +1 -1
  32. package/lib/commands/dataset/list.js +1 -1
  33. package/lib/commands/dataset/sdk-doc.js +1 -1
  34. package/lib/commands/doctor.js +1 -1
  35. package/lib/commands/file/index.js +1 -1
  36. package/lib/commands/init.js +1 -1
  37. package/lib/commands/kb/index.js +1 -1
  38. package/lib/commands/logs/index.js +1 -1
  39. package/lib/commands/notification/config-list.js +1 -1
  40. package/lib/commands/notification/index.js +1 -1
  41. package/lib/commands/notification/shared.js +1 -1
  42. package/lib/commands/ocr/index.js +1 -1
  43. package/lib/commands/permit/dataset-get.js +1 -1
  44. package/lib/commands/permit/dataset-set.js +1 -1
  45. package/lib/commands/permit/index.js +1 -1
  46. package/lib/commands/permit/page-get.js +1 -1
  47. package/lib/commands/permit/page-set.js +1 -1
  48. package/lib/commands/permit/role-menus-set.js +1 -1
  49. package/lib/commands/permit/role-menus.js +1 -1
  50. package/lib/commands/permit/shared.js +1 -1
  51. package/lib/commands/personal-bff/index.js +1 -1
  52. package/lib/commands/registry.js +1 -1
  53. package/lib/commands/role/create.js +1 -1
  54. package/lib/commands/role/delete.js +1 -1
  55. package/lib/commands/role/detail.js +1 -1
  56. package/lib/commands/role/index.js +1 -1
  57. package/lib/commands/role/list.js +1 -1
  58. package/lib/commands/role/shared.js +1 -1
  59. package/lib/commands/role/update.js +1 -1
  60. package/lib/commands/role/user-add.js +1 -1
  61. package/lib/commands/role/user-remove.js +1 -1
  62. package/lib/commands/schedule/index.js +1 -1
  63. package/lib/commands/schema.js +1 -1
  64. package/lib/commands/service/dynamic.js +1 -1
  65. package/lib/commands/service/function-name-adapter.js +1 -1
  66. package/lib/commands/service/index.js +1 -1
  67. package/lib/commands/service/registry.js +1 -1
  68. package/lib/commands/skill/commands/create.js +1 -1
  69. package/lib/commands/skill/commands/diagram.js +1 -1
  70. package/lib/commands/skill/commands/install.js +1 -1
  71. package/lib/commands/skill/commands/list.js +1 -1
  72. package/lib/commands/skill/commands/push.js +1 -1
  73. package/lib/commands/skill/commands/validate.js +1 -1
  74. package/lib/commands/skill/diagram.js +1 -1
  75. package/lib/commands/skill/flags.js +1 -1
  76. package/lib/commands/skill/index.js +1 -1
  77. package/lib/commands/skill/manifest-helpers.js +1 -1
  78. package/lib/commands/skill/push-execute.js +1 -1
  79. package/lib/commands/skill/push-flow-helpers.js +1 -1
  80. package/lib/commands/skill/push-retarget.js +1 -1
  81. package/lib/commands/skill/scopes.js +1 -1
  82. package/lib/commands/skill/summary.js +1 -1
  83. package/lib/commands/skill/templates.js +1 -1
  84. package/lib/commands/skill/validate.js +1 -1
  85. package/lib/commands/sql/detail.js +1 -1
  86. package/lib/commands/sql/exec.js +1 -1
  87. package/lib/commands/sql/index.js +1 -1
  88. package/lib/commands/update.js +1 -1
  89. package/lib/commands/user-account/bind.js +1 -1
  90. package/lib/commands/user-account/index.js +1 -1
  91. package/lib/commands/workspace/index.js +1 -1
  92. package/lib/config/schema.js +1 -1
  93. package/lib/constant/app.js +1 -1
  94. package/lib/constant/auth-mode.js +1 -1
  95. package/lib/constant/cli.js +1 -1
  96. package/lib/constant/defaults.js +1 -1
  97. package/lib/constant/distribution.js +1 -1
  98. package/lib/constant/domain.d.ts +1 -1
  99. package/lib/constant/domain.js +1 -1
  100. package/lib/constant/env.js +1 -1
  101. package/lib/constant/output.js +1 -1
  102. package/lib/constant/product.js +1 -1
  103. package/lib/constant/risk.js +1 -1
  104. package/lib/constant/url.js +1 -1
  105. package/lib/context.js +1 -1
  106. package/lib/core/api-client.d.ts +6 -6
  107. package/lib/core/api-client.js +1 -1
  108. package/lib/core/db-resolver.js +1 -1
  109. package/lib/core/sdk-client.d.ts +3 -3
  110. package/lib/core/sdk-client.js +1 -1
  111. package/lib/errors.js +1 -1
  112. package/lib/framework/build-all-flags.js +1 -1
  113. package/lib/framework/dryrun.js +1 -1
  114. package/lib/framework/flags.js +1 -1
  115. package/lib/framework/help.js +1 -1
  116. package/lib/framework/index.js +1 -1
  117. package/lib/framework/output.js +1 -1
  118. package/lib/framework/preparse.js +1 -1
  119. package/lib/framework/rate-limit.js +1 -1
  120. package/lib/framework/raw-flags.js +1 -1
  121. package/lib/framework/response.js +1 -1
  122. package/lib/framework/runner-confirmation.js +1 -1
  123. package/lib/framework/runner-error.js +1 -1
  124. package/lib/framework/runner.js +1 -1
  125. package/lib/framework/schema-export.js +1 -1
  126. package/lib/framework/service-order.js +1 -1
  127. package/lib/framework/types.d.ts +3 -3
  128. package/lib/framework/types.js +1 -1
  129. package/lib/generated/build-info.d.ts +4 -4
  130. package/lib/generated/build-info.js +1 -1
  131. package/lib/help.js +1 -1
  132. package/lib/postinstall.js +1 -1
  133. package/lib/runtime/confirmation.js +1 -1
  134. package/lib/runtime/event.js +1 -1
  135. package/lib/runtime/index.js +1 -1
  136. package/lib/runtime/queue.js +1 -1
  137. package/lib/runtime/resolve.js +1 -1
  138. package/lib/skills/builtin-skill.js +1 -1
  139. package/lib/skills/npx-skills-add.js +1 -1
  140. package/lib/skills/runtime-skill-sync/constants.js +1 -1
  141. package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
  142. package/lib/skills/runtime-skill-sync/hashing.js +1 -1
  143. package/lib/skills/runtime-skill-sync/install-target.js +1 -1
  144. package/lib/skills/runtime-skill-sync/links.js +1 -1
  145. package/lib/skills/runtime-skill-sync/list-local.js +1 -1
  146. package/lib/skills/runtime-skill-sync/local-files.js +1 -1
  147. package/lib/skills/runtime-skill-sync/materialize.js +1 -1
  148. package/lib/skills/runtime-skill-sync/metadata.js +1 -1
  149. package/lib/skills/runtime-skill-sync/paths.js +1 -1
  150. package/lib/skills/runtime-skill-sync/push.js +1 -1
  151. package/lib/skills/runtime-skill-sync/scopes.js +1 -1
  152. package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
  153. package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
  154. package/lib/skills/runtime-skill-sync.js +1 -1
  155. package/lib/skills/skill-presence.js +1 -1
  156. package/lib/utils/apply-jq-filter.js +1 -1
  157. package/lib/utils/logger.js +1 -1
  158. package/lib/utils/lossless-json.js +1 -1
  159. package/lib/utils/params.js +1 -1
  160. package/lib/utils/platform.js +1 -1
  161. package/lib/utils/update-notice.js +1 -1
  162. package/lib/utils/version.js +1 -1
  163. package/lib/utils/write-cli-side-channel.js +1 -1
  164. package/package.json +2 -2
  165. package/skills/lovrabet/SKILL.md +19 -18
  166. package/skills/lovrabet/guides/dataset-and-data-workflow.md +2 -2
  167. package/skills/lovrabet/guides/sql-and-bff-workflow.md +7 -5
  168. package/skills/lovrabet/references/dataset-discovery-workflow.md +2 -2
  169. package/skills/lovrabet/references/lovrabet-app-config.md +1 -1
  170. package/skills/lovrabet/references/lovrabet-bff-workflow.md +1 -1
  171. package/skills/lovrabet/references/lovrabet-file-workflow.md +1 -1
  172. package/skills/lovrabet/references/lovrabet-personal-bff-workflow.md +35 -7
  173. package/skills/lovrabet/references/lovrabet-schedule-workflow.md +7 -6
  174. package/skills/lovrabet.manifest.json +3 -3
@@ -1 +1 @@
1
- function a43_0x3e1b(_0x1e2ac6,_0x4a44d8){_0x1e2ac6=_0x1e2ac6-0x13d;const _0x17ad46=a43_0x17ad();let _0x3e1bcf=_0x17ad46[_0x1e2ac6];return _0x3e1bcf;}function a43_0x17ad(){const _0x23ebc2=['isSafeInteger','changed','323460BHcQHW','rolePermit','\x20selected\x20runtime\x20menus','231704wcjJEu','menus','grant','menu-','384040EtQunn','Runtime\x20menu\x20','push','string','length','18sgWXmq','description','permitList','role','Invalid\x20runtime\x20menu\x20ID:\x20','131950aklRtx','before','str','warnings','appCode','/client/permit/resource/batch-save-menu','\x20for\x20role\x20','body','授予或收回目标角色对指定运行菜单的访问权限;变更会影响该角色用户的菜单可见性。','role-menus-set','131525ExmAcv','bool','1474448EIjECs','POST','roles','--menus','operation','build','revoke','validation','Comma-separated\x20runtime\x20menu\x20IDs','after','1gjUFGv','6418242VOASMu'];a43_0x17ad=function(){return _0x23ebc2;};return a43_0x17ad();}const a43_0xb61dc3=a43_0x3e1b;(function(_0x127668,_0x36ddcb){const _0x39f472=a43_0x3e1b,_0x24f81c=_0x127668();while(!![]){try{const _0x47ad30=-parseInt(_0x39f472(0x15d))/0x1*(parseInt(_0x39f472(0x164))/0x2)+-parseInt(_0x39f472(0x161))/0x3+-parseInt(_0x39f472(0x13d))/0x4+parseInt(_0x39f472(0x151))/0x5*(-parseInt(_0x39f472(0x142))/0x6)+-parseInt(_0x39f472(0x147))/0x7+-parseInt(_0x39f472(0x153))/0x8+parseInt(_0x39f472(0x15e))/0x9;if(_0x47ad30===_0x36ddcb)break;else _0x24f81c['push'](_0x24f81c['shift']());}catch(_0x427ef5){_0x24f81c['push'](_0x24f81c['shift']());}}}(a43_0x17ad,0x1b319));import{listRuntimeMenuRolePermits,listRuntimePermitRoles,saveRuntimeMenuRolePermits}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,flattenRuntimeMenuRolePermits,GRANT_FLAG,menuPermitDto,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const MENUS_FLAG={'name':a43_0xb61dc3(0x165),'type':a43_0xb61dc3(0x140),'required':!![],'description':a43_0xb61dc3(0x15b)};async function prepare(_0x201b5f){const _0x3422d4=a43_0xb61dc3;await assertRuntimePermissionManager(_0x201b5f[_0x3422d4(0x14b)]);const _0x9dce60=assertGrantOrRevoke(_0x201b5f[_0x3422d4(0x152)](_0x3422d4(0x166)),_0x201b5f[_0x3422d4(0x152)]('revoke')),_0x4a63e8=await resolveRuntimeRoleRef(_0x201b5f[_0x3422d4(0x14b)],_0x201b5f['str'](_0x3422d4(0x145)));assertRuntimePermitRoleConfigurable(_0x4a63e8);const _0x52abbe=[...new Set(splitRefs(_0x201b5f[_0x3422d4(0x149)](_0x3422d4(0x165)),_0x3422d4(0x156))['map'](_0x439ecf=>{const _0x5a0b41=_0x3422d4,_0x12d1c8=Number(_0x439ecf);if(!/^\d+$/['test'](_0x439ecf)||!Number[_0x5a0b41(0x15f)](_0x12d1c8)||_0x12d1c8<=0x0)throw CliErrors[_0x5a0b41(0x15a)](_0x5a0b41(0x146)+_0x439ecf+'.');return _0x12d1c8;}))],_0x510ae6=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x201b5f[_0x3422d4(0x14b)])),_0x123ba1=await listRuntimePermitRoles(_0x201b5f[_0x3422d4(0x14b)]),_0x1dee2e=[],_0x1d026e=[],_0x56cbda=[],_0x94594a=[];for(const _0x4bd422 of _0x52abbe){const _0x426958=_0x510ae6['find'](_0x3045cd=>_0x3045cd['id']===_0x4bd422);if(!_0x426958)throw CliErrors[_0x3422d4(0x15a)](_0x3422d4(0x13e)+_0x4bd422+'\x20was\x20not\x20found.');const _0x23176a=applyRuntimeRolePermission(_0x426958[_0x3422d4(0x162)],_0x4a63e8,_0x123ba1,_0x9dce60);_0x1d026e['push']({'menuId':_0x4bd422,'rolePermit':_0x426958[_0x3422d4(0x162)]}),_0x56cbda[_0x3422d4(0x13f)]({'menuId':_0x4bd422,'rolePermit':_0x23176a[_0x3422d4(0x155)]});if(_0x23176a[_0x3422d4(0x160)])_0x1dee2e[_0x3422d4(0x13f)](menuPermitDto(_0x201b5f[_0x3422d4(0x14b)],_0x426958,_0x23176a[_0x3422d4(0x155)]));else _0x94594a[_0x3422d4(0x13f)]('Runtime\x20menu\x20'+_0x4bd422+'\x20already\x20reflects\x20'+_0x9dce60+_0x3422d4(0x14d)+_0x4a63e8['id']+'.');}return{'operation':_0x9dce60,'role':_0x4a63e8,'menuIds':_0x52abbe,'permitList':_0x1dee2e,'before':_0x1d026e,'after':_0x56cbda,'warnings':_0x94594a};}export const permitRoleMenusSet={'service':'permit','command':a43_0xb61dc3(0x150),'description':'Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','risk':'high-risk-write','confirmationDescription':a43_0xb61dc3(0x14f),'flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0xeef783){const _0x3f2b5d=a43_0xb61dc3;assertGrantOrRevoke(_0xeef783['bool']('grant'),_0xeef783[_0x3f2b5d(0x152)](_0x3f2b5d(0x159)));},async 'dryRun'(_0x3cd67e){const _0x12f87f=a43_0xb61dc3,_0x5aa62b=await prepare(_0x3cd67e);return dryRun(_0x12f87f(0x154),_0x12f87f(0x14c))[_0x12f87f(0x14e)]({'appCode':_0x3cd67e['appCode'],'permitList':_0x5aa62b['permitList']})[_0x12f87f(0x143)]('Preview:\x20'+_0x5aa62b[_0x12f87f(0x157)]+_0x12f87f(0x163))[_0x12f87f(0x158)]();},async 'execute'(_0x1925d9){const _0x5e7eb6=a43_0xb61dc3,_0x2a368e=await prepare(_0x1925d9);return _0x2a368e[_0x5e7eb6(0x144)][_0x5e7eb6(0x141)]>0x0&&await saveRuntimeMenuRolePermits(_0x1925d9[_0x5e7eb6(0x14b)],_0x2a368e[_0x5e7eb6(0x144)]),{'ok':!![],'data':runtimePermitWriteResult(_0x5e7eb6(0x167)+_0x2a368e[_0x5e7eb6(0x157)],{'roleId':_0x2a368e[_0x5e7eb6(0x145)]['id'],'menuIds':_0x2a368e['menuIds']},_0x2a368e[_0x5e7eb6(0x148)],_0x2a368e[_0x5e7eb6(0x15c)],{'method':_0x5e7eb6(0x154),'path':_0x5e7eb6(0x14c)},_0x2a368e[_0x5e7eb6(0x14a)])};}};
1
+ function a43_0x25ca(){const _0x12cbc5=['string','find','287840AKxZdZ','\x20was\x20not\x20found.','Invalid\x20runtime\x20menu\x20ID:\x20','\x20for\x20role\x20','menuIds','\x20already\x20reflects\x20','8PsLZoQ','542905hjoMcZ','high-risk-write','length','bool','role-menus-set','Comma-separated\x20runtime\x20menu\x20IDs','4650606CvMWlt','permitList','grant','Grant\x20or\x20revoke\x20selected\x20runtime\x20menus\x20for\x20one\x20role','warnings','role','roles','\x20selected\x20runtime\x20menus','3551009EiYnfD','menu-','Preview:\x20','rolePermit','2JQIRPs','/client/permit/resource/batch-save-menu','validation','map','permit','877767gtXPOT','changed','262677EQmLWQ','test','description','revoke','before','str','isSafeInteger','after','build','push','460ZUZjwN','2280784syoake','appCode','operation','42TPnCZd','POST','Runtime\x20menu\x20','--menus'];a43_0x25ca=function(){return _0x12cbc5;};return a43_0x25ca();}const a43_0x1bea28=a43_0xbac5;function a43_0xbac5(_0x4bca27,_0x489390){_0x4bca27=_0x4bca27-0x1bf;const _0x25ca78=a43_0x25ca();let _0xbac5db=_0x25ca78[_0x4bca27];return _0xbac5db;}(function(_0x16a8b1,_0x22806a){const _0xa00d81=a43_0xbac5,_0x17f61e=_0x16a8b1();while(!![]){try{const _0x2e19b5=-parseInt(_0xa00d81(0x1d2))/0x1*(parseInt(_0xa00d81(0x1cb))/0x2)+parseInt(_0xa00d81(0x1d0))/0x3+-parseInt(_0xa00d81(0x1dd))/0x4+-parseInt(_0xa00d81(0x1e6))/0x5*(parseInt(_0xa00d81(0x1e0))/0x6)+parseInt(_0xa00d81(0x1c7))/0x7*(-parseInt(_0xa00d81(0x1ec))/0x8)+-parseInt(_0xa00d81(0x1bf))/0x9+parseInt(_0xa00d81(0x1dc))/0xa*(parseInt(_0xa00d81(0x1ed))/0xb);if(_0x2e19b5===_0x22806a)break;else _0x17f61e['push'](_0x17f61e['shift']());}catch(_0x174ae4){_0x17f61e['push'](_0x17f61e['shift']());}}}(a43_0x25ca,0x49fc9));import{listRuntimeMenuRolePermits,listRuntimePermitRoles,saveRuntimeMenuRolePermits}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{applyRuntimeRolePermission,assertGrantOrRevoke,assertRuntimePermissionManager,assertRuntimePermitRoleConfigurable,flattenRuntimeMenuRolePermits,GRANT_FLAG,menuPermitDto,REVOKE_FLAG,ROLE_REF_FLAG,runtimePermitWriteResult,splitRefs}from'../../commands/permit/shared.js';const MENUS_FLAG={'name':'menus','type':a43_0x1bea28(0x1e4),'required':!![],'description':a43_0x1bea28(0x1f2)};async function prepare(_0x463843){const _0x208e5b=a43_0x1bea28;await assertRuntimePermissionManager(_0x463843[_0x208e5b(0x1de)]);const _0x606f4b=assertGrantOrRevoke(_0x463843['bool'](_0x208e5b(0x1c1)),_0x463843[_0x208e5b(0x1f0)](_0x208e5b(0x1d5))),_0x4c2e64=await resolveRuntimeRoleRef(_0x463843[_0x208e5b(0x1de)],_0x463843[_0x208e5b(0x1d7)](_0x208e5b(0x1c4)));assertRuntimePermitRoleConfigurable(_0x4c2e64);const _0x54f515=[...new Set(splitRefs(_0x463843[_0x208e5b(0x1d7)]('menus'),_0x208e5b(0x1e3))[_0x208e5b(0x1ce)](_0x4dcbd9=>{const _0x32abba=_0x208e5b,_0x1cb28d=Number(_0x4dcbd9);if(!/^\d+$/[_0x32abba(0x1d3)](_0x4dcbd9)||!Number[_0x32abba(0x1d8)](_0x1cb28d)||_0x1cb28d<=0x0)throw CliErrors['validation'](_0x32abba(0x1e8)+_0x4dcbd9+'.');return _0x1cb28d;}))],_0x8390cc=flattenRuntimeMenuRolePermits(await listRuntimeMenuRolePermits(_0x463843[_0x208e5b(0x1de)])),_0x2474cd=await listRuntimePermitRoles(_0x463843['appCode']),_0x3428fa=[],_0x209a61=[],_0x2c69bb=[],_0x27d287=[];for(const _0x29bed3 of _0x54f515){const _0x46e5c5=_0x8390cc[_0x208e5b(0x1e5)](_0x256c9d=>_0x256c9d['id']===_0x29bed3);if(!_0x46e5c5)throw CliErrors[_0x208e5b(0x1cd)](_0x208e5b(0x1e2)+_0x29bed3+_0x208e5b(0x1e7));const _0x567bbc=applyRuntimeRolePermission(_0x46e5c5[_0x208e5b(0x1ca)],_0x4c2e64,_0x2474cd,_0x606f4b);_0x209a61[_0x208e5b(0x1db)]({'menuId':_0x29bed3,'rolePermit':_0x46e5c5[_0x208e5b(0x1ca)]}),_0x2c69bb[_0x208e5b(0x1db)]({'menuId':_0x29bed3,'rolePermit':_0x567bbc['roles']});if(_0x567bbc[_0x208e5b(0x1d1)])_0x3428fa[_0x208e5b(0x1db)](menuPermitDto(_0x463843[_0x208e5b(0x1de)],_0x46e5c5,_0x567bbc[_0x208e5b(0x1c5)]));else _0x27d287[_0x208e5b(0x1db)](_0x208e5b(0x1e2)+_0x29bed3+_0x208e5b(0x1eb)+_0x606f4b+_0x208e5b(0x1e9)+_0x4c2e64['id']+'.');}return{'operation':_0x606f4b,'role':_0x4c2e64,'menuIds':_0x54f515,'permitList':_0x3428fa,'before':_0x209a61,'after':_0x2c69bb,'warnings':_0x27d287};}export const permitRoleMenusSet={'service':a43_0x1bea28(0x1cf),'command':a43_0x1bea28(0x1f1),'description':a43_0x1bea28(0x1c2),'risk':a43_0x1bea28(0x1ee),'confirmationDescription':'授予或收回目标角色对指定运行菜单的访问权限;变更会影响该角色用户的菜单可见性。','flags':[ROLE_REF_FLAG,GRANT_FLAG,REVOKE_FLAG,MENUS_FLAG],async 'validate'(_0x22840e){const _0x35d5dd=a43_0x1bea28;assertGrantOrRevoke(_0x22840e[_0x35d5dd(0x1f0)](_0x35d5dd(0x1c1)),_0x22840e[_0x35d5dd(0x1f0)]('revoke'));},async 'dryRun'(_0x156454){const _0x555976=a43_0x1bea28,_0x326127=await prepare(_0x156454);return dryRun('POST',_0x555976(0x1cc))['body']({'appCode':_0x156454['appCode'],'permitList':_0x326127[_0x555976(0x1c0)]})[_0x555976(0x1d4)](_0x555976(0x1c9)+_0x326127[_0x555976(0x1df)]+_0x555976(0x1c6))[_0x555976(0x1da)]();},async 'execute'(_0x112013){const _0x21120c=a43_0x1bea28,_0x1ff132=await prepare(_0x112013);return _0x1ff132[_0x21120c(0x1c0)][_0x21120c(0x1ef)]>0x0&&await saveRuntimeMenuRolePermits(_0x112013[_0x21120c(0x1de)],_0x1ff132[_0x21120c(0x1c0)]),{'ok':!![],'data':runtimePermitWriteResult(_0x21120c(0x1c8)+_0x1ff132[_0x21120c(0x1df)],{'roleId':_0x1ff132[_0x21120c(0x1c4)]['id'],'menuIds':_0x1ff132[_0x21120c(0x1ea)]},_0x1ff132[_0x21120c(0x1d6)],_0x1ff132[_0x21120c(0x1d9)],{'method':_0x21120c(0x1e1),'path':_0x21120c(0x1cc)},_0x1ff132[_0x21120c(0x1c3)])};}};
@@ -1 +1 @@
1
- const a44_0x223516=a44_0x228a;(function(_0x2f6aff,_0x263d1b){const _0x3ab4db=a44_0x228a,_0x50fe09=_0x2f6aff();while(!![]){try{const _0x1c5765=parseInt(_0x3ab4db(0xb0))/0x1+parseInt(_0x3ab4db(0xa9))/0x2+parseInt(_0x3ab4db(0xad))/0x3+parseInt(_0x3ab4db(0xb1))/0x4+parseInt(_0x3ab4db(0xaf))/0x5*(parseInt(_0x3ab4db(0xb3))/0x6)+-parseInt(_0x3ab4db(0xb6))/0x7+parseInt(_0x3ab4db(0xab))/0x8*(-parseInt(_0x3ab4db(0xb4))/0x9);if(_0x1c5765===_0x263d1b)break;else _0x50fe09['push'](_0x50fe09['shift']());}catch(_0xe65e87){_0x50fe09['push'](_0x50fe09['shift']());}}}(a44_0x16fa,0xba333));import{getRuntimeRoleMenuResources}from'../../core/api-client.js';function a44_0x228a(_0x553c51,_0x5c5d87){_0x553c51=_0x553c51-0xa8;const _0x16fa1d=a44_0x16fa();let _0x228a3f=_0x16fa1d[_0x553c51];return _0x228a3f;}import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{ROLE_REF_FLAG}from'../../commands/permit/shared.js';export const permitRoleMenus={'service':'permit','command':'role-menus','description':'Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','risk':a44_0x223516(0xb5),'flags':[ROLE_REF_FLAG],async 'execute'(_0xff5a9d){const _0x527e1b=a44_0x223516,_0x1aa709=await resolveRuntimeRoleRef(_0xff5a9d[_0x527e1b(0xaa)],_0xff5a9d[_0x527e1b(0xb2)](_0x527e1b(0xa8))),_0x4dedad=await getRuntimeRoleMenuResources(_0xff5a9d[_0x527e1b(0xaa)],_0x1aa709['id']);return{'ok':!![],'data':{'scope':_0x527e1b(0xae),'role':{'id':_0x1aa709['id'],'roleName':_0x1aa709['roleName'],'roleType':_0x1aa709[_0x527e1b(0xac)]},'menus':_0x4dedad}};}};function a44_0x16fa(){const _0x4da6cc=['str','4082124syrjLd','27221553lJsVTh','read','5261907YKNiGE','role','904598BMDLDy','appCode','8SDjdEZ','roleType','3081789rngTIy','runtime','5FKGVjV','882382hOWvgN','5986780lWwhOP'];a44_0x16fa=function(){return _0x4da6cc;};return a44_0x16fa();}
1
+ function a44_0x3817(){const _0x1d6f98=['15099iqFkRA','permit','1555197YwlMEl','role-menus','2024BEdczb','4820682kGAeaF','27837733tkTnQG','read','runtime','Show\x20evaluated\x20runtime\x20menu\x20access\x20for\x20one\x20role','roleType','appCode','6280YTUcPb','12plfvcW','7389RBFZqu','3384296IyZUyt','roleName','5vzuUKR','2141gFIGlH','1170whysHX'];a44_0x3817=function(){return _0x1d6f98;};return a44_0x3817();}const a44_0x29cd67=a44_0x55d8;(function(_0x3cc6da,_0x82ee88){const _0x432bf6=a44_0x55d8,_0x565445=_0x3cc6da();while(!![]){try{const _0x4e14a8=-parseInt(_0x432bf6(0x1d0))/0x1*(parseInt(_0x432bf6(0x1d1))/0x2)+parseInt(_0x432bf6(0x1c0))/0x3+parseInt(_0x432bf6(0x1cd))/0x4+parseInt(_0x432bf6(0x1cf))/0x5*(-parseInt(_0x432bf6(0x1c3))/0x6)+-parseInt(_0x432bf6(0x1d2))/0x7*(parseInt(_0x432bf6(0x1c2))/0x8)+-parseInt(_0x432bf6(0x1cc))/0x9*(parseInt(_0x432bf6(0x1ca))/0xa)+-parseInt(_0x432bf6(0x1c4))/0xb*(-parseInt(_0x432bf6(0x1cb))/0xc);if(_0x4e14a8===_0x82ee88)break;else _0x565445['push'](_0x565445['shift']());}catch(_0x2210d1){_0x565445['push'](_0x565445['shift']());}}}(a44_0x3817,0xbdecf));function a44_0x55d8(_0xcd917d,_0x20c4cd){_0xcd917d=_0xcd917d-0x1bf;const _0x381705=a44_0x3817();let _0x55d899=_0x381705[_0xcd917d];return _0x55d899;}import{getRuntimeRoleMenuResources}from'../../core/api-client.js';import{resolveRuntimeRoleRef}from'../../commands/role/shared.js';import{ROLE_REF_FLAG}from'../../commands/permit/shared.js';export const permitRoleMenus={'service':a44_0x29cd67(0x1bf),'command':a44_0x29cd67(0x1c1),'description':a44_0x29cd67(0x1c7),'risk':a44_0x29cd67(0x1c5),'flags':[ROLE_REF_FLAG],async 'execute'(_0xd19d3a){const _0x5af2b0=a44_0x29cd67,_0x194f08=await resolveRuntimeRoleRef(_0xd19d3a[_0x5af2b0(0x1c9)],_0xd19d3a['str']('role')),_0x30e37a=await getRuntimeRoleMenuResources(_0xd19d3a['appCode'],_0x194f08['id']);return{'ok':!![],'data':{'scope':_0x5af2b0(0x1c6),'role':{'id':_0x194f08['id'],'roleName':_0x194f08[_0x5af2b0(0x1ce)],'roleType':_0x194f08[_0x5af2b0(0x1c8)]},'menus':_0x30e37a}};}};
@@ -1 +1 @@
1
- const a45_0x26527e=a45_0xca9a;(function(_0x461803,_0x67e2a2){const _0x29779a=a45_0xca9a,_0x276ca8=_0x461803();while(!![]){try{const _0x1d67a7=-parseInt(_0x29779a(0x106))/0x1+-parseInt(_0x29779a(0xfa))/0x2*(parseInt(_0x29779a(0x107))/0x3)+-parseInt(_0x29779a(0x103))/0x4*(-parseInt(_0x29779a(0x100))/0x5)+parseInt(_0x29779a(0xeb))/0x6+-parseInt(_0x29779a(0xd1))/0x7+parseInt(_0x29779a(0xe9))/0x8+-parseInt(_0x29779a(0xea))/0x9*(-parseInt(_0x29779a(0xdd))/0xa);if(_0x1d67a7===_0x67e2a2)break;else _0x276ca8['push'](_0x276ca8['shift']());}catch(_0x5724e4){_0x276ca8['push'](_0x276ca8['shift']());}}}(a45_0x4d69,0x3f302));import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a45_0x26527e(0x109),'type':a45_0x26527e(0x10b),'required':!![],'description':a45_0x26527e(0xd3)};export const ROLE_REF_FLAG={'name':'role','type':a45_0x26527e(0x10a),'required':!![],'description':a45_0x26527e(0xf5)};export const GRANT_FLAG={'name':'grant','type':a45_0x26527e(0xd9),'description':a45_0x26527e(0xf9)};export const REVOKE_FLAG={'name':a45_0x26527e(0xec),'type':'boolean','description':a45_0x26527e(0xd8)};export const PAGE_SLOT_SPECS=[{'flag':a45_0x26527e(0xfe),'key':a45_0x26527e(0xce),'allowSelf':![]},{'flag':a45_0x26527e(0xda),'key':'dataCreate','allowSelf':![]},{'flag':'update-roles','key':a45_0x26527e(0xcf),'allowSelf':![]},{'flag':a45_0x26527e(0xdf),'key':'dataDelete','allowSelf':![]},{'flag':a45_0x26527e(0xf1),'key':a45_0x26527e(0x105),'allowSelf':![]},{'flag':a45_0x26527e(0x110),'key':a45_0x26527e(0xff),'allowSelf':![]},{'flag':a45_0x26527e(0x10d),'key':a45_0x26527e(0xcd),'allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS['map'](_0x3a2564=>({'name':_0x3a2564['flag'],'type':'string','description':'Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names'}));export function splitRefs(_0x59428f,_0x224401){const _0x3c289d=a45_0x26527e,_0xdadf18=[...new Set(_0x59428f['split'](',')['map'](_0x1abb73=>_0x1abb73['trim']())[_0x3c289d(0xcc)](Boolean))];if(_0xdadf18[_0x3c289d(0x10f)]===0x0)throw CliErrors[_0x3c289d(0xd7)](_0x224401+_0x3c289d(0xca));return _0xdadf18;}export function assertGrantOrRevoke(_0x23565d,_0x34d19e){const _0x223cd0=a45_0x26527e;if(_0x23565d===_0x34d19e)throw CliErrors[_0x223cd0(0xd7)](_0x223cd0(0xe2));return _0x23565d?_0x223cd0(0xe3):_0x223cd0(0xec);}function resolvePermitRole(_0x4be2ba,_0x4bd1ab){const _0x894c30=a45_0x26527e,_0x731802=_0x4bd1ab['trim'](),_0x58c9e4=/^-?\d+$/[_0x894c30(0xee)](_0x731802)?_0x4be2ba[_0x894c30(0xcc)](_0x241ac6=>_0x241ac6['id']===Number(_0x731802)):_0x4be2ba[_0x894c30(0xcc)](_0x578d52=>_0x578d52[_0x894c30(0xdc)]===_0x731802||_0x578d52[_0x894c30(0xf0)]===_0x731802[_0x894c30(0xef)]());if(_0x58c9e4['length']!==0x1)throw CliErrors['validation'](_0x58c9e4[_0x894c30(0x10f)]===0x0?'Permission\x20role\x20\x22'+_0x731802+_0x894c30(0x10e):_0x894c30(0x108)+_0x731802+_0x894c30(0xed),'Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.');return _0x58c9e4[0x0];}export async function resolveRuntimePermitRoles(_0x3aabed,_0x6217f7,_0x4d1bf1){const _0x1cd7bb=a45_0x26527e,_0x3af453=await listRuntimePermitRoles(_0x3aabed,{'needSelf':!![],'needPublic':!![]}),_0x70c2ed=[...new Map(_0x6217f7[_0x1cd7bb(0x102)](_0x4a4073=>resolvePermitRole(_0x3af453,_0x4a4073))['map'](_0x310412=>[_0x310412['id'],_0x310412]))[_0x1cd7bb(0xfc)]()],_0x2ba6ad=_0x70c2ed['find'](_0x3e7dc0=>_0x3e7dc0['roleType']===_0x1cd7bb(0x10c)||_0x3e7dc0[_0x1cd7bb(0xf0)]===_0x1cd7bb(0x101));if(_0x2ba6ad)throw CliErrors[_0x1cd7bb(0xd7)](_0x2ba6ad[_0x1cd7bb(0xf0)]+_0x1cd7bb(0xd4),'Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.');if(!_0x4d1bf1&&_0x70c2ed[_0x1cd7bb(0xe8)](_0x5aaa68=>_0x5aaa68[_0x1cd7bb(0xf0)]==='SELF'))throw CliErrors[_0x1cd7bb(0xd7)](_0x1cd7bb(0xe0));return _0x70c2ed;}export async function assertRuntimePermissionManager(_0x350ddc){const _0xe6c325=a45_0x26527e,_0x582d35=await getLoginUserInfo(),_0x3e0ec2=_0x582d35[_0xe6c325(0xe1)]??_0x582d35['id'],_0x1e6622=Number(_0x3e0ec2);if(!Number[_0xe6c325(0xcb)](_0x1e6622)||_0x1e6622<=0x0)throw CliErrors[_0xe6c325(0xd7)](_0xe6c325(0xf3));const _0xc25b21=await listRuntimeRoleUsers(_0x350ddc),_0x131a6b=_0xc25b21['some'](_0x43d9f6=>(_0x43d9f6[_0xe6c325(0xf0)]===_0xe6c325(0x10c)||_0x43d9f6[_0xe6c325(0xf0)]===_0xe6c325(0x101))&&_0x43d9f6['userList'][_0xe6c325(0xe8)](_0x3b843b=>_0x3b843b['userId']===_0x1e6622));if(!_0x131a6b)throw CliErrors['validation'](_0xe6c325(0xd5),_0xe6c325(0xe6));}function a45_0x4d69(){const _0x12fd0c=['detail-roles','label','Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.','pageId','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name','resourceType','ALL','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','Grant\x20the\x20selected\x20resources\x20to\x20the\x20role','42uCFSYK','Cannot\x20change\x20resource\x20permissions\x20for\x20','values','rolePermit','menu-roles','dataExport','26590YMAVPU','OWNER','map','292EuaYlm','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.','dataDetail','278147fxIvSz','49785erkGGQ','Permission\x20role\x20\x22','menu-id','string','number','ADMIN','row-roles','\x22\x20was\x20not\x20found.','length','export-roles','children','\x20must\x20contain\x20at\x20least\x20one\x20value.','isSafeInteger','filter','dataPermit','menuPermit','dataUpdate','resourceCode','2430414aqQiCA','\x20runtime\x20role\x20','Runtime\x20menu\x20ID','\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','runtime','validation','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','boolean','create-roles','datasetCode','roleName','65990IZnNHR','appCode','delete-roles','SELF\x20is\x20only\x20valid\x20for\x20--row-roles.','userId','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','grant','menuId','MENU','Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.','permitId','some','1525792abjyPt','234BIFNmP','2892900bLcLkE','revoke','\x22\x20is\x20ambiguous.','test','toUpperCase','roleType'];a45_0x4d69=function(){return _0x12fd0c;};return a45_0x4d69();}export function assertRuntimePermitRoleConfigurable(_0x3f628b){const _0x32f207=a45_0x26527e;if(_0x3f628b['roleType']===_0x32f207(0x10c)||_0x3f628b[_0x32f207(0xf0)]===_0x32f207(0x101))throw CliErrors[_0x32f207(0xd7)](_0x32f207(0xfb)+_0x3f628b[_0x32f207(0xf0)]+_0x32f207(0xd2)+_0x3f628b['roleName']+'.',_0x32f207(0x104));}function a45_0xca9a(_0x42499f,_0x1e19af){_0x42499f=_0x42499f-0xca;const _0x4d6990=a45_0x4d69();let _0xca9a9c=_0x4d6990[_0x42499f];return _0xca9a9c;}function asPermitRole(_0x23fd07){return{'id':_0x23fd07['id'],'roleName':_0x23fd07['roleName'],'roleType':_0x23fd07['roleType'],'allowed':!![]};}export function applyRuntimeRolePermission(_0x3d3aca,_0x27d279,_0x2f29f6,_0x2ffdf2){const _0x56b883=a45_0x26527e,_0x16c68a=!_0x3d3aca||_0x3d3aca[_0x56b883(0x10f)]===0x0,_0x3aed0d=_0x3d3aca?.[_0x56b883(0xe8)](_0x4fe94f=>_0x4fe94f['roleType']===_0x56b883(0xf7))??![];if(_0x2ffdf2==='grant'&&(_0x16c68a||_0x3aed0d))return{'roles':_0x3d3aca??null,'changed':![]};let _0x3a1d92=_0x16c68a||_0x3aed0d?_0x2f29f6[_0x56b883(0xcc)](_0x3719b2=>_0x3719b2['id']>0x0):[..._0x3d3aca];const _0xde7d64=_0x3a1d92[_0x56b883(0xe8)](_0x39397d=>_0x39397d['id']===_0x27d279['id']);if(_0x2ffdf2===_0x56b883(0xe3)){if(_0xde7d64)return{'roles':_0x3a1d92,'changed':![]};return _0x3a1d92['push'](asPermitRole(_0x27d279)),{'roles':_0x3a1d92,'changed':!![]};}if(!_0xde7d64)return{'roles':_0x3a1d92,'changed':_0x16c68a||_0x3aed0d};_0x3a1d92=_0x3a1d92['filter'](_0x431394=>_0x431394['id']!==_0x27d279['id']);if(_0x3a1d92[_0x56b883(0x10f)]===0x0)throw CliErrors['validation'](_0x56b883(0xf8),'The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.');return{'roles':_0x3a1d92,'changed':!![]};}export function projectRuntimePagePermit(_0xbb5f20){const _0x2ce0ed=a45_0x26527e,_0x4402d7={'menuId':_0xbb5f20[_0x2ce0ed(0xe4)],'pageId':_0xbb5f20[_0x2ce0ed(0xf4)],'appCode':_0xbb5f20[_0x2ce0ed(0xde)],'datasetCode':_0xbb5f20[_0x2ce0ed(0xdb)]};for(const _0x49adc5 of PAGE_SLOT_SPECS){const _0x1d0ef6=_0xbb5f20[_0x49adc5['key']];_0x1d0ef6&&(_0x4402d7[_0x49adc5['key']]={'resourceCode':_0x1d0ef6[_0x2ce0ed(0xd0)],'resourceType':_0x1d0ef6[_0x2ce0ed(0xf6)],'roles':(_0x1d0ef6[_0x2ce0ed(0xfd)]??[])['map'](_0x21304a=>({'id':_0x21304a['id'],'roleName':_0x21304a[_0x2ce0ed(0xdc)],'roleType':_0x21304a['roleType']}))});}return _0x4402d7;}export function flattenRuntimeMenuRolePermits(_0x2c4d35){const _0x47ffc9=[],_0x33168f=_0x514001=>{const _0x14d93b=a45_0xca9a;_0x47ffc9['push'](_0x514001);for(const _0x4fd433 of _0x514001[_0x14d93b(0x111)]??[])_0x33168f(_0x4fd433);};for(const _0x5060a2 of _0x2c4d35)_0x33168f(_0x5060a2);return _0x47ffc9;}export function runtimePermitWriteResult(_0x26e8fa,_0x28ace7,_0x232083,_0x11d264,_0x4943da,_0x5008ee=[]){const _0x426079=a45_0x26527e;return{'operation':_0x26e8fa,'scope':_0x426079(0xd6),'selector':_0x28ace7,'before':_0x232083,'after':_0x11d264,'dryRun':![],'backend':_0x4943da,'warnings':_0x5008ee};}export function menuPermitDto(_0x14e6b3,_0x123658,_0x371781){const _0x49948f=a45_0x26527e;return{..._0x123658[_0x49948f(0xe7)]!=null?{'id':_0x123658[_0x49948f(0xe7)]}:{},'appCode':_0x14e6b3,'menuId':_0x123658['id'],'pageId':_0x123658['pageId']??null,'resourceCode':String(_0x123658['id']),'resourceType':_0x49948f(0xe5),'resourceName':_0x123658[_0x49948f(0xf2)],'rolePermit':_0x371781};}
1
+ function a45_0x1e07(){const _0x470890=['appCode','Permission\x20role\x20\x22','grant','detail-roles','string','Ask\x20an\x20application\x20manager\x20to\x20perform\x20this\x20operation.','3593151ahSgLM','102srOBPW','delete-roles','key','1705746riDjcx','trim','rolePermit','Comma-separated\x20runtime\x20role\x20IDs\x20or\x20names','6375580LYlHoV','length','5938200yLlSLo','\x20must\x20contain\x20at\x20least\x20one\x20value.','map','dataDelete','Cannot\x20resolve\x20the\x20current\x20AK\x20userId\x20for\x20permission\x20management.','dataCreate','\x20runtime\x20role\x20','push','boolean','146681FKnePk','Runtime\x20resource\x20permission\x20changes\x20require\x20an\x20ADMIN\x20or\x20OWNER\x20role.','ADMIN','\x20has\x20full\x20runtime\x20access\x20and\x20cannot\x20be\x20a\x20resource\x20permission\x20target.','dataExport','isSafeInteger','export-roles','split','dataDetail','menu-id','some','pageId','Cannot\x20revoke\x20the\x20last\x20role\x20from\x20a\x20runtime\x20resource.','resourceType','runtime','\x22\x20was\x20not\x20found.','menuId','376685duiqDY','roleName','Pass\x20exactly\x20one\x20of\x20--grant\x20or\x20--revoke.','OWNER','filter','datasetCode','MENU','number','10974672flHLJY','toUpperCase','userId','Revoke\x20the\x20selected\x20resources\x20from\x20the\x20role','Cannot\x20change\x20resource\x20permissions\x20for\x20','\x22\x20is\x20ambiguous.','test','Configure\x20USER,\x20CUSTOM,\x20or\x20an\x20applicable\x20special\x20role\x20instead.','SELF\x20is\x20only\x20valid\x20for\x20--row-roles.','Runtime\x20menu\x20ID','role','14EOIIpL','userList','create-roles','ALL','permitId','revoke','dataUpdate','SELF','Use\x20a\x20role\x20ID\x20from\x20`lovrabet\x20role\x20list`.','validation','dataPermit','ADMIN\x20and\x20OWNER\x20have\x20full\x20runtime\x20access;\x20configure\x20USER\x20or\x20CUSTOM\x20instead.','roleType'];a45_0x1e07=function(){return _0x470890;};return a45_0x1e07();}const a45_0x469d19=a45_0x58df;(function(_0x8d1be8,_0x51ceb4){const _0x25bd39=a45_0x58df,_0x2c3ab5=_0x8d1be8();while(!![]){try{const _0x511190=-parseInt(_0x25bd39(0x128))/0x1*(parseInt(_0x25bd39(0x14c))/0x2)+-parseInt(_0x25bd39(0x15f))/0x3+parseInt(_0x25bd39(0x167))/0x4+parseInt(_0x25bd39(0x139))/0x5*(parseInt(_0x25bd39(0x160))/0x6)+-parseInt(_0x25bd39(0x163))/0x7+-parseInt(_0x25bd39(0x169))/0x8+parseInt(_0x25bd39(0x141))/0x9;if(_0x511190===_0x51ceb4)break;else _0x2c3ab5['push'](_0x2c3ab5['shift']());}catch(_0xefb311){_0x2c3ab5['push'](_0x2c3ab5['shift']());}}}(a45_0x1e07,0xd7b8b));function a45_0x58df(_0x34f1f8,_0x5fa409){_0x34f1f8=_0x34f1f8-0x121;const _0x1e0751=a45_0x1e07();let _0x58df01=_0x1e0751[_0x34f1f8];return _0x58df01;}import{getLoginUserInfo,listRuntimePermitRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const MENU_ID_FLAG={'name':a45_0x469d19(0x131),'type':a45_0x469d19(0x140),'required':!![],'description':a45_0x469d19(0x14a)};export const ROLE_REF_FLAG={'name':a45_0x469d19(0x14b),'type':a45_0x469d19(0x15d),'required':!![],'description':'Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name'};export const GRANT_FLAG={'name':a45_0x469d19(0x15b),'type':a45_0x469d19(0x127),'description':'Grant\x20the\x20selected\x20resources\x20to\x20the\x20role'};export const REVOKE_FLAG={'name':a45_0x469d19(0x151),'type':'boolean','description':a45_0x469d19(0x144)};export const PAGE_SLOT_SPECS=[{'flag':'menu-roles','key':'menuPermit','allowSelf':![]},{'flag':a45_0x469d19(0x14e),'key':a45_0x469d19(0x124),'allowSelf':![]},{'flag':'update-roles','key':a45_0x469d19(0x152),'allowSelf':![]},{'flag':a45_0x469d19(0x161),'key':a45_0x469d19(0x122),'allowSelf':![]},{'flag':a45_0x469d19(0x15c),'key':a45_0x469d19(0x130),'allowSelf':![]},{'flag':a45_0x469d19(0x12e),'key':a45_0x469d19(0x12c),'allowSelf':![]},{'flag':'row-roles','key':a45_0x469d19(0x156),'allowSelf':!![]}];export const PAGE_ROLE_FLAGS=PAGE_SLOT_SPECS['map'](_0x20f509=>({'name':_0x20f509['flag'],'type':'string','description':a45_0x469d19(0x166)}));export function splitRefs(_0x2bb384,_0x4c9910){const _0x1fa725=a45_0x469d19,_0x412b2c=[...new Set(_0x2bb384[_0x1fa725(0x12f)](',')[_0x1fa725(0x121)](_0x4a0e81=>_0x4a0e81['trim']())['filter'](Boolean))];if(_0x412b2c[_0x1fa725(0x168)]===0x0)throw CliErrors['validation'](_0x4c9910+_0x1fa725(0x16a));return _0x412b2c;}export function assertGrantOrRevoke(_0x2aaf55,_0x5e3222){const _0x4d89a1=a45_0x469d19;if(_0x2aaf55===_0x5e3222)throw CliErrors[_0x4d89a1(0x155)](_0x4d89a1(0x13b));return _0x2aaf55?_0x4d89a1(0x15b):_0x4d89a1(0x151);}function resolvePermitRole(_0x404363,_0xa5eae0){const _0x23cf71=a45_0x469d19,_0x280c44=_0xa5eae0[_0x23cf71(0x164)](),_0x5be22b=/^-?\d+$/[_0x23cf71(0x147)](_0x280c44)?_0x404363['filter'](_0x5a061f=>_0x5a061f['id']===Number(_0x280c44)):_0x404363[_0x23cf71(0x13d)](_0x42061d=>_0x42061d[_0x23cf71(0x13a)]===_0x280c44||_0x42061d[_0x23cf71(0x158)]===_0x280c44[_0x23cf71(0x142)]());if(_0x5be22b[_0x23cf71(0x168)]!==0x1)throw CliErrors[_0x23cf71(0x155)](_0x5be22b[_0x23cf71(0x168)]===0x0?_0x23cf71(0x15a)+_0x280c44+_0x23cf71(0x137):_0x23cf71(0x15a)+_0x280c44+_0x23cf71(0x146),_0x23cf71(0x154));return _0x5be22b[0x0];}export async function resolveRuntimePermitRoles(_0x1fd396,_0x2fc9d7,_0x44e561){const _0x538d1d=a45_0x469d19,_0x1b7670=await listRuntimePermitRoles(_0x1fd396,{'needSelf':!![],'needPublic':!![]}),_0x1a07d6=[...new Map(_0x2fc9d7[_0x538d1d(0x121)](_0x596225=>resolvePermitRole(_0x1b7670,_0x596225))[_0x538d1d(0x121)](_0x1be50d=>[_0x1be50d['id'],_0x1be50d]))['values']()],_0x5f148c=_0x1a07d6['find'](_0x5d7984=>_0x5d7984[_0x538d1d(0x158)]===_0x538d1d(0x12a)||_0x5d7984[_0x538d1d(0x158)]===_0x538d1d(0x13c));if(_0x5f148c)throw CliErrors[_0x538d1d(0x155)](_0x5f148c[_0x538d1d(0x158)]+_0x538d1d(0x12b),_0x538d1d(0x148));if(!_0x44e561&&_0x1a07d6[_0x538d1d(0x132)](_0x4cfe67=>_0x4cfe67['roleType']===_0x538d1d(0x153)))throw CliErrors[_0x538d1d(0x155)](_0x538d1d(0x149));return _0x1a07d6;}export async function assertRuntimePermissionManager(_0x49d87d){const _0xe8824f=a45_0x469d19,_0x303523=await getLoginUserInfo(),_0x1f7a92=_0x303523[_0xe8824f(0x143)]??_0x303523['id'],_0x3a1283=Number(_0x1f7a92);if(!Number[_0xe8824f(0x12d)](_0x3a1283)||_0x3a1283<=0x0)throw CliErrors[_0xe8824f(0x155)](_0xe8824f(0x123));const _0x140d41=await listRuntimeRoleUsers(_0x49d87d),_0x3072f1=_0x140d41['some'](_0x3991e9=>(_0x3991e9[_0xe8824f(0x158)]==='ADMIN'||_0x3991e9[_0xe8824f(0x158)]==='OWNER')&&_0x3991e9[_0xe8824f(0x14d)][_0xe8824f(0x132)](_0x54eff3=>_0x54eff3[_0xe8824f(0x143)]===_0x3a1283));if(!_0x3072f1)throw CliErrors[_0xe8824f(0x155)](_0xe8824f(0x129),_0xe8824f(0x15e));}export function assertRuntimePermitRoleConfigurable(_0x1b9316){const _0x335963=a45_0x469d19;if(_0x1b9316['roleType']===_0x335963(0x12a)||_0x1b9316[_0x335963(0x158)]===_0x335963(0x13c))throw CliErrors['validation'](_0x335963(0x145)+_0x1b9316['roleType']+_0x335963(0x125)+_0x1b9316[_0x335963(0x13a)]+'.',_0x335963(0x157));}function asPermitRole(_0xef5958){const _0x30fc88=a45_0x469d19;return{'id':_0xef5958['id'],'roleName':_0xef5958['roleName'],'roleType':_0xef5958[_0x30fc88(0x158)],'allowed':!![]};}export function applyRuntimeRolePermission(_0x8c8e59,_0x1c6304,_0x1ddaec,_0x3a1267){const _0x42ad41=a45_0x469d19,_0x380283=!_0x8c8e59||_0x8c8e59[_0x42ad41(0x168)]===0x0,_0x299c91=_0x8c8e59?.[_0x42ad41(0x132)](_0xd72ad9=>_0xd72ad9[_0x42ad41(0x158)]===_0x42ad41(0x14f))??![];if(_0x3a1267==='grant'&&(_0x380283||_0x299c91))return{'roles':_0x8c8e59??null,'changed':![]};let _0x573c7d=_0x380283||_0x299c91?_0x1ddaec[_0x42ad41(0x13d)](_0x4a64f1=>_0x4a64f1['id']>0x0):[..._0x8c8e59];const _0x3d6f4b=_0x573c7d[_0x42ad41(0x132)](_0x29b8e4=>_0x29b8e4['id']===_0x1c6304['id']);if(_0x3a1267===_0x42ad41(0x15b)){if(_0x3d6f4b)return{'roles':_0x573c7d,'changed':![]};return _0x573c7d[_0x42ad41(0x126)](asPermitRole(_0x1c6304)),{'roles':_0x573c7d,'changed':!![]};}if(!_0x3d6f4b)return{'roles':_0x573c7d,'changed':_0x380283||_0x299c91};_0x573c7d=_0x573c7d[_0x42ad41(0x13d)](_0x2c0151=>_0x2c0151['id']!==_0x1c6304['id']);if(_0x573c7d[_0x42ad41(0x168)]===0x0)throw CliErrors['validation'](_0x42ad41(0x134),'The\x20current\x20service\x20contract\x20does\x20not\x20persist\x20an\x20empty\x20rolePermit;\x20grant\x20another\x20role\x20first.');return{'roles':_0x573c7d,'changed':!![]};}export function projectRuntimePagePermit(_0x42ad85){const _0x354a9f=a45_0x469d19,_0x374a25={'menuId':_0x42ad85[_0x354a9f(0x138)],'pageId':_0x42ad85[_0x354a9f(0x133)],'appCode':_0x42ad85[_0x354a9f(0x159)],'datasetCode':_0x42ad85[_0x354a9f(0x13e)]};for(const _0x2926f3 of PAGE_SLOT_SPECS){const _0x17efec=_0x42ad85[_0x2926f3[_0x354a9f(0x162)]];_0x17efec&&(_0x374a25[_0x2926f3[_0x354a9f(0x162)]]={'resourceCode':_0x17efec['resourceCode'],'resourceType':_0x17efec[_0x354a9f(0x135)],'roles':(_0x17efec[_0x354a9f(0x165)]??[])[_0x354a9f(0x121)](_0x3d6b20=>({'id':_0x3d6b20['id'],'roleName':_0x3d6b20['roleName'],'roleType':_0x3d6b20[_0x354a9f(0x158)]}))});}return _0x374a25;}export function flattenRuntimeMenuRolePermits(_0x2e4873){const _0x37c69c=[],_0x405967=_0x13bf7c=>{const _0x340f66=a45_0x58df;_0x37c69c[_0x340f66(0x126)](_0x13bf7c);for(const _0x487206 of _0x13bf7c['children']??[])_0x405967(_0x487206);};for(const _0x163a26 of _0x2e4873)_0x405967(_0x163a26);return _0x37c69c;}export function runtimePermitWriteResult(_0x3c691d,_0x4e8f86,_0x272bb6,_0x4a2e77,_0x432b15,_0x1574e7=[]){const _0x3c57b6=a45_0x469d19;return{'operation':_0x3c691d,'scope':_0x3c57b6(0x136),'selector':_0x4e8f86,'before':_0x272bb6,'after':_0x4a2e77,'dryRun':![],'backend':_0x432b15,'warnings':_0x1574e7};}export function menuPermitDto(_0x36d6fe,_0x2197ed,_0xc821f9){const _0x7c98b3=a45_0x469d19;return{..._0x2197ed[_0x7c98b3(0x150)]!=null?{'id':_0x2197ed[_0x7c98b3(0x150)]}:{},'appCode':_0x36d6fe,'menuId':_0x2197ed['id'],'pageId':_0x2197ed['pageId']??null,'resourceCode':String(_0x2197ed['id']),'resourceType':_0x7c98b3(0x13f),'resourceName':_0x2197ed['label'],'rolePermit':_0xc821f9};}
@@ -1 +1 @@
1
- const a46_0x386d4b=a46_0xfefd;(function(_0x5e9911,_0x148b07){const _0x5e9642=a46_0xfefd,_0x248e15=_0x5e9911();while(!![]){try{const _0x1638b9=-parseInt(_0x5e9642(0x21c))/0x1+-parseInt(_0x5e9642(0x1fb))/0x2+-parseInt(_0x5e9642(0x21b))/0x3*(-parseInt(_0x5e9642(0x206))/0x4)+-parseInt(_0x5e9642(0x1fa))/0x5*(parseInt(_0x5e9642(0x1f9))/0x6)+-parseInt(_0x5e9642(0x211))/0x7+parseInt(_0x5e9642(0x1ea))/0x8+parseInt(_0x5e9642(0x1e8))/0x9;if(_0x1638b9===_0x148b07)break;else _0x248e15['push'](_0x248e15['shift']());}catch(_0x4f9f0e){_0x248e15['push'](_0x248e15['shift']());}}}(a46_0x7a76,0x399e7));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a46_0xfefd(_0x1b631,_0xb3b2f){_0x1b631=_0x1b631-0x1de;const _0x7a7632=a46_0x7a76();let _0xfefd99=_0x7a7632[_0x1b631];return _0xfefd99;}import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':'file','type':'string','description':a46_0x386d4b(0x205)},FUNCTION_NAME_FLAG={'name':a46_0x386d4b(0x21f),'type':'string','required':!![],'description':a46_0x386d4b(0x207)},DESCRIPTION_FLAG={'name':a46_0x386d4b(0x1ec),'type':a46_0x386d4b(0x1eb),'description':a46_0x386d4b(0x20f)},SOURCE_SESSION_FLAG={'name':a46_0x386d4b(0x201),'type':'string','description':a46_0x386d4b(0x1e5)};function normalizeFunctionName(_0x148cf3){const _0x15ce21=a46_0x386d4b,_0x5f0818=String(_0x148cf3||'')[_0x15ce21(0x21a)]();if(!_0x5f0818||!FUNCTION_NAME_PATTERN['test'](_0x5f0818))throw CliErrors['validation'](_0x15ce21(0x1df));return _0x5f0818;}function readScriptFile(_0x5de2dc){const _0x43f685=a46_0x386d4b;if(!_0x5de2dc)throw CliErrors[_0x43f685(0x212)](_0x43f685(0x20c));if(!existsSync(_0x5de2dc))throw CliErrors[_0x43f685(0x212)](_0x43f685(0x1fd)+_0x5de2dc);if(!statSync(_0x5de2dc)[_0x43f685(0x1de)]())throw CliErrors[_0x43f685(0x212)](_0x43f685(0x219)+_0x5de2dc);const _0x3d95f9=readFileSync(_0x5de2dc,_0x43f685(0x20b));if(!_0x3d95f9[_0x43f685(0x21a)]())throw CliErrors[_0x43f685(0x212)](_0x43f685(0x200));return _0x3d95f9;}function optionalTrimmed(_0x1d7eb9){const _0x162aba=a46_0x386d4b,_0xff11ea=String(_0x1d7eb9||'')[_0x162aba(0x21a)]();return _0xff11ea||undefined;}function summarizeBff(_0x516800){const _0x3bb80d=a46_0x386d4b;return{'id':_0x516800['id'],'appCode':_0x516800['appCode'],'functionName':_0x516800[_0x3bb80d(0x1e9)],'description':_0x516800[_0x3bb80d(0x1ec)],'scriptType':_0x516800[_0x3bb80d(0x1f7)],'version':_0x516800[_0x3bb80d(0x20d)],'gmtModified':_0x516800[_0x3bb80d(0x1f1)],'updateTime':_0x516800[_0x3bb80d(0x1e7)]};}function detailBff(_0x172bfa){const _0x31c346=a46_0x386d4b;return{'id':_0x172bfa['id'],'appCode':_0x172bfa[_0x31c346(0x208)],'functionName':_0x172bfa[_0x31c346(0x1e9)],'description':_0x172bfa[_0x31c346(0x1ec)],'scriptType':_0x172bfa[_0x31c346(0x1f7)],'scriptContent':_0x172bfa['scriptContent']??'','config':_0x172bfa[_0x31c346(0x20a)],'version':_0x172bfa[_0x31c346(0x20d)],'createUserId':_0x172bfa[_0x31c346(0x1e3)],'gmtCreate':_0x172bfa['gmtCreate'],'gmtModified':_0x172bfa[_0x31c346(0x1f1)],'createTime':_0x172bfa[_0x31c346(0x202)],'updateTime':_0x172bfa['updateTime']};}function a46_0x7a76(){const _0x2b00fd=['create','gmtModified','read','exec','把本地脚本保存为个人\x20BFF;之后可在当前应用中调用该脚本。','length','Preview:\x20create\x20personal\x20BFF\x20','scriptType','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','16974vcoopd','460ZVYMya','669526bNUpKS','personal-bff','File\x20not\x20found:\x20','list','scriptContent','Personal\x20BFF\x20script\x20file\x20is\x20blank.','source-session-id','createTime','keys','Preview:\x20update\x20personal\x20BFF\x20','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','24PFBQWy','Personal\x20BFF\x20functionName,\x20for\x20example\x20loadOrders','appCode','bool','config','utf8','File\x20path\x20is\x20required.','version','根据\x20ID\x20执行个人\x20BFF,并可传入\x20JSON\x20参数','Personal\x20BFF\x20description','detail','1611519AhxitC','validation','Show\x20one\x20personal\x20BFF\x20by\x20id','根据\x20ID\x20更新个人\x20BFF','build','/client/runtime-bff/personal/','执行个人\x20BFF\x20脚本;脚本可能读取或修改业务数据,也可能调用外部服务。','List\x20current\x20user\x27s\x20personal\x20BFF\x20scripts\x20for\x20the\x20current\x20app','File\x20is\x20not\x20a\x20regular\x20file:\x20','trim','151773xJsHyb','175563vBzdVS','update','map','name','verbose','JSON\x20object\x20passed\x20to\x20the\x20personal\x20BFF\x20execution','flag','Personal\x20BFF\x20script\x20ID','file','/client/runtime-bff/personal/create','POST','isFile','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','write','num','isArray','createUserId','params','Optional\x20source\x20RuntimeAgent\x20session\x20id','--params\x20must\x20be\x20a\x20JSON\x20object.','updateTime','6980085UYdEji','functionName','1261656bCspXY','string','description','更新个人\x20BFF\x20的脚本或元信息;之后的调用将使用新版本。','str','body'];a46_0x7a76=function(){return _0x2b00fd;};return a46_0x7a76();}function buildCreateInput(_0x42e872){const _0x1cc679=a46_0x386d4b;return{'functionName':normalizeFunctionName(_0x42e872['str'](_0x1cc679(0x21f))),...optionalTrimmed(_0x42e872[_0x1cc679(0x1ee)](_0x1cc679(0x1ec)))?{'description':optionalTrimmed(_0x42e872['str']('description'))}:{},'scriptContent':readScriptFile(_0x42e872[_0x1cc679(0x1ee)](_0x1cc679(0x224))),...optionalTrimmed(_0x42e872['str'](_0x1cc679(0x201)))?{'sourceSessionId':optionalTrimmed(_0x42e872[_0x1cc679(0x1ee)]('source-session-id'))}:{}};}function buildUpdateInput(_0x3dd959){const _0xbedb3d=a46_0x386d4b,_0x38d65d={};optionalTrimmed(_0x3dd959[_0xbedb3d(0x1ee)](_0xbedb3d(0x21f)))&&(_0x38d65d['functionName']=normalizeFunctionName(_0x3dd959[_0xbedb3d(0x1ee)]('name')));_0x3dd959[_0xbedb3d(0x222)]('description')!==undefined&&(_0x38d65d[_0xbedb3d(0x1ec)]=_0x3dd959[_0xbedb3d(0x1ee)]('description'));optionalTrimmed(_0x3dd959[_0xbedb3d(0x1ee)]('file'))&&(_0x38d65d[_0xbedb3d(0x1ff)]=readScriptFile(_0x3dd959[_0xbedb3d(0x1ee)](_0xbedb3d(0x224))));_0x3dd959[_0xbedb3d(0x222)](_0xbedb3d(0x201))!==undefined&&(_0x38d65d['sourceSessionId']=_0x3dd959['str'](_0xbedb3d(0x201)));if(Object[_0xbedb3d(0x203)](_0x38d65d)[_0xbedb3d(0x1f5)]===0x0)throw CliErrors['validation'](_0xbedb3d(0x1f8));return _0x38d65d;}function parseExecParams(_0x48822d){const _0x44fe46=a46_0x386d4b,_0x3d7dd1=parseJsonParams(_0x48822d)??{};if(Array[_0x44fe46(0x1e2)](_0x3d7dd1))throw CliErrors['validation'](_0x44fe46(0x1e6));return _0x3d7dd1;}const personalBffList={'service':a46_0x386d4b(0x1fc),'command':a46_0x386d4b(0x1fe),'description':a46_0x386d4b(0x218),'risk':a46_0x386d4b(0x1f2),'flags':[VERBOSE_FLAG],async 'execute'(_0x9799d6){const _0x404fff=a46_0x386d4b,_0x576a9a=await listPersonalBffs(_0x9799d6[_0x404fff(0x208)]);return{'ok':!![],'data':{'total':_0x576a9a[_0x404fff(0x1f5)],'items':_0x9799d6[_0x404fff(0x209)](_0x404fff(0x220))?_0x576a9a:_0x576a9a[_0x404fff(0x21e)](summarizeBff)}};}},personalBffDetail={'service':a46_0x386d4b(0x1fc),'command':a46_0x386d4b(0x210),'description':a46_0x386d4b(0x213),'risk':a46_0x386d4b(0x1f2),'flags':[{...ID_FLAG,'description':a46_0x386d4b(0x223)}],async 'execute'(_0x3ed416){const _0x2384a4=a46_0x386d4b,_0x2b02ef=await getPersonalBff(_0x3ed416['num']('id'),_0x3ed416[_0x2384a4(0x208)]);return{'ok':!![],'data':detailBff(_0x2b02ef)};}},personalBffCreate={'service':a46_0x386d4b(0x1fc),'command':a46_0x386d4b(0x1f0),'description':'根据本地脚本文件创建个人\x20BFF','risk':a46_0x386d4b(0x1e0),'confirmationDescription':a46_0x386d4b(0x1f4),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x1534af){const _0x73d94b=a46_0x386d4b,_0x1f4768=buildCreateInput(_0x1534af),_0x3858b0=await createPersonalBff(_0x1534af[_0x73d94b(0x208)],_0x1f4768);return{'ok':!![],'data':detailBff(_0x3858b0),'message':'Created\x20personal\x20BFF\x20'+_0x3858b0['id']+(_0x3858b0[_0x73d94b(0x1e9)]?'\x20('+_0x3858b0[_0x73d94b(0x1e9)]+')':'')};},async 'dryRun'(_0x1beeb9){const _0x2710c8=a46_0x386d4b,_0x1d9a62=buildCreateInput(_0x1beeb9);return dryRun(_0x2710c8(0x226),_0x2710c8(0x225))[_0x2710c8(0x1ef)]({'appCode':_0x1beeb9[_0x2710c8(0x208)],..._0x1d9a62})[_0x2710c8(0x1ec)](_0x2710c8(0x1f6)+_0x1d9a62[_0x2710c8(0x1e9)])[_0x2710c8(0x215)]();}},personalBffUpdate={'service':a46_0x386d4b(0x1fc),'command':a46_0x386d4b(0x21d),'description':a46_0x386d4b(0x214),'risk':a46_0x386d4b(0x1e0),'confirmationDescription':a46_0x386d4b(0x1ed),'flags':[{...ID_FLAG,'description':a46_0x386d4b(0x223)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x40a010){const _0xa896c4=a46_0x386d4b,_0x5c0947=_0x40a010[_0xa896c4(0x1e1)]('id'),_0x464310=buildUpdateInput(_0x40a010),_0xc585d7=await updatePersonalBff(_0x5c0947,_0x40a010[_0xa896c4(0x208)],_0x464310);return{'ok':!![],'data':detailBff(_0xc585d7),'message':'Updated\x20personal\x20BFF\x20'+_0xc585d7['id']+(_0xc585d7[_0xa896c4(0x1e9)]?'\x20('+_0xc585d7[_0xa896c4(0x1e9)]+')':'')};},async 'dryRun'(_0x3cf4d6){const _0x3aca13=a46_0x386d4b,_0xcec296=_0x3cf4d6[_0x3aca13(0x1e1)]('id'),_0x592033=buildUpdateInput(_0x3cf4d6);return dryRun(_0x3aca13(0x226),_0x3aca13(0x216)+_0xcec296+'/update')[_0x3aca13(0x1ef)]({'appCode':_0x3cf4d6[_0x3aca13(0x208)],..._0x592033})[_0x3aca13(0x1ec)](_0x3aca13(0x204)+_0xcec296)[_0x3aca13(0x215)]();}},personalBffExec={'service':a46_0x386d4b(0x1fc),'command':a46_0x386d4b(0x1f3),'description':a46_0x386d4b(0x20e),'risk':a46_0x386d4b(0x1e0),'confirmationDescription':a46_0x386d4b(0x217),'flags':[{...ID_FLAG,'description':a46_0x386d4b(0x223)},{...PARAMS_FLAG,'description':a46_0x386d4b(0x221)}],async 'validate'(_0x5f1fc4){const _0x1a6c73=a46_0x386d4b;parseExecParams(_0x5f1fc4['str'](_0x1a6c73(0x1e4)));},async 'execute'(_0x3b9bd2){const _0x88e831=a46_0x386d4b,_0x11ad00=_0x3b9bd2[_0x88e831(0x1e1)]('id'),_0x848e9a=parseExecParams(_0x3b9bd2['str']('params')),_0x555a5d=await executePersonalBff(_0x11ad00,_0x3b9bd2[_0x88e831(0x208)],_0x848e9a);return{'ok':!![],'data':{'result':_0x555a5d},'message':'Executed\x20personal\x20BFF\x20'+_0x11ad00};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
1
+ const a46_0x374920=a46_0x48ce;(function(_0x5ebc72,_0x33b2fc){const _0x25ba4c=a46_0x48ce,_0x36ab8b=_0x5ebc72();while(!![]){try{const _0x4af945=-parseInt(_0x25ba4c(0x1b0))/0x1+-parseInt(_0x25ba4c(0x194))/0x2+-parseInt(_0x25ba4c(0x18b))/0x3+-parseInt(_0x25ba4c(0x19f))/0x4+-parseInt(_0x25ba4c(0x19c))/0x5*(-parseInt(_0x25ba4c(0x189))/0x6)+parseInt(_0x25ba4c(0x184))/0x7*(-parseInt(_0x25ba4c(0x1af))/0x8)+parseInt(_0x25ba4c(0x1ba))/0x9;if(_0x4af945===_0x33b2fc)break;else _0x36ab8b['push'](_0x36ab8b['shift']());}catch(_0x5227dd){_0x36ab8b['push'](_0x36ab8b['shift']());}}}(a46_0xd367,0xeecc2));import{existsSync,readFileSync,statSync}from'node:fs';import{createPersonalBff,executePersonalBff,getPersonalBff,listPersonalBffs,updatePersonalBff}from'../../core/api-client.js';import{ID_FLAG,PARAMS_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{parseJsonParams}from'../../utils/params.js';const FUNCTION_NAME_PATTERN=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/,FILE_FLAG={'name':a46_0x374920(0x18d),'type':a46_0x374920(0x1ae),'description':a46_0x374920(0x1ad)},FUNCTION_NAME_FLAG={'name':a46_0x374920(0x190),'type':'string','required':!![],'description':'Personal\x20Backend\x20Function\x20name,\x20for\x20example\x20loadOrders'},DESCRIPTION_FLAG={'name':a46_0x374920(0x1ab),'type':a46_0x374920(0x1ae),'description':'Personal\x20Backend\x20Function\x20description'},SOURCE_SESSION_FLAG={'name':a46_0x374920(0x1be),'type':'string','description':'Optional\x20source\x20RuntimeAgent\x20session\x20id'};function normalizeFunctionName(_0x5e4a5b){const _0x1f3f6e=a46_0x374920,_0x2e8c1e=String(_0x5e4a5b||'')['trim']();if(!_0x2e8c1e||!FUNCTION_NAME_PATTERN[_0x1f3f6e(0x195)](_0x2e8c1e))throw CliErrors[_0x1f3f6e(0x1b1)](_0x1f3f6e(0x1a5));return _0x2e8c1e;}function a46_0x48ce(_0x34e8db,_0x2295cd){_0x34e8db=_0x34e8db-0x179;const _0xd3677f=a46_0xd367();let _0x48cefb=_0xd3677f[_0x34e8db];return _0x48cefb;}function readScriptFile(_0x6e07e0){const _0x3f333a=a46_0x374920;if(!_0x6e07e0)throw CliErrors[_0x3f333a(0x1b1)](_0x3f333a(0x17d));if(!existsSync(_0x6e07e0))throw CliErrors[_0x3f333a(0x1b1)]('File\x20not\x20found:\x20'+_0x6e07e0);if(!statSync(_0x6e07e0)[_0x3f333a(0x18c)]())throw CliErrors[_0x3f333a(0x1b1)](_0x3f333a(0x17c)+_0x6e07e0);const _0x53e8ea=readFileSync(_0x6e07e0,_0x3f333a(0x17f));if(!_0x53e8ea[_0x3f333a(0x192)]())throw CliErrors[_0x3f333a(0x1b1)]('Personal\x20Backend\x20Function\x20script\x20file\x20is\x20blank.');return _0x53e8ea;}function optionalTrimmed(_0x145eb5){const _0x2b3245=a46_0x374920,_0x385303=String(_0x145eb5||'')[_0x2b3245(0x192)]();return _0x385303||undefined;}function summarizeBff(_0x53b3b2){const _0x35940a=a46_0x374920;return{'id':_0x53b3b2['id'],'appCode':_0x53b3b2['appCode'],'functionName':_0x53b3b2[_0x35940a(0x1b2)],'description':_0x53b3b2[_0x35940a(0x1ab)],'scriptType':_0x53b3b2['scriptType'],'version':_0x53b3b2[_0x35940a(0x179)],'gmtModified':_0x53b3b2['gmtModified'],'updateTime':_0x53b3b2[_0x35940a(0x17b)]};}function detailBff(_0x3d461d){const _0x21690b=a46_0x374920;return{'id':_0x3d461d['id'],'appCode':_0x3d461d[_0x21690b(0x1bc)],'functionName':_0x3d461d[_0x21690b(0x1b2)],'description':_0x3d461d[_0x21690b(0x1ab)],'scriptType':_0x3d461d[_0x21690b(0x18a)],'scriptContent':_0x3d461d[_0x21690b(0x19b)]??'','config':_0x3d461d[_0x21690b(0x1b5)],'version':_0x3d461d[_0x21690b(0x179)],'createUserId':_0x3d461d['createUserId'],'gmtCreate':_0x3d461d[_0x21690b(0x198)],'gmtModified':_0x3d461d['gmtModified'],'createTime':_0x3d461d[_0x21690b(0x1b7)],'updateTime':_0x3d461d['updateTime']};}function buildCreateInput(_0x10e8c1){const _0x3cf22e=a46_0x374920;return{'functionName':normalizeFunctionName(_0x10e8c1[_0x3cf22e(0x180)](_0x3cf22e(0x190))),...optionalTrimmed(_0x10e8c1[_0x3cf22e(0x180)](_0x3cf22e(0x1ab)))?{'description':optionalTrimmed(_0x10e8c1[_0x3cf22e(0x180)](_0x3cf22e(0x1ab)))}:{},'scriptContent':readScriptFile(_0x10e8c1[_0x3cf22e(0x180)](_0x3cf22e(0x18d))),...optionalTrimmed(_0x10e8c1[_0x3cf22e(0x180)](_0x3cf22e(0x1be)))?{'sourceSessionId':optionalTrimmed(_0x10e8c1[_0x3cf22e(0x180)]('source-session-id'))}:{}};}function buildUpdateInput(_0x103be2){const _0x56bb53=a46_0x374920,_0x5953d2={};optionalTrimmed(_0x103be2[_0x56bb53(0x180)](_0x56bb53(0x190)))&&(_0x5953d2[_0x56bb53(0x1b2)]=normalizeFunctionName(_0x103be2['str'](_0x56bb53(0x190))));_0x103be2[_0x56bb53(0x197)](_0x56bb53(0x1ab))!==undefined&&(_0x5953d2[_0x56bb53(0x1ab)]=_0x103be2['str'](_0x56bb53(0x1ab)));optionalTrimmed(_0x103be2['str']('file'))&&(_0x5953d2[_0x56bb53(0x19b)]=readScriptFile(_0x103be2['str'](_0x56bb53(0x18d))));_0x103be2['flag'](_0x56bb53(0x1be))!==undefined&&(_0x5953d2[_0x56bb53(0x186)]=_0x103be2[_0x56bb53(0x180)](_0x56bb53(0x1be)));if(Object[_0x56bb53(0x1b3)](_0x5953d2)[_0x56bb53(0x1b6)]===0x0)throw CliErrors[_0x56bb53(0x1b1)](_0x56bb53(0x191));return _0x5953d2;}function parseExecParams(_0x9fdca){const _0x22074b=a46_0x374920,_0x46d1ba=parseJsonParams(_0x9fdca)??{};if(Array[_0x22074b(0x182)](_0x46d1ba))throw CliErrors[_0x22074b(0x1b1)]('--params\x20must\x20be\x20a\x20JSON\x20object.');return _0x46d1ba;}function a46_0xd367(){const _0x5e44bf=['POST','scriptContent','5uVfGWO','params','更新Personal\x20Backend\x20Function\x20的脚本或元信息;之后的调用将使用新版本。','1668820ciCpKm','Show\x20one\x20Personal\x20Backend\x20Function\x20by\x20id','JSON\x20object\x20passed\x20to\x20the\x20Personal\x20Backend\x20Function\x20execution','Executed\x20Personal\x20Backend\x20Function\x20','personal-bff','write','--name\x20must\x20be\x20a\x20valid\x20JavaScript\x20identifier,\x20for\x20example\x20loadOrders.','body','verbose','Preview:\x20update\x20Personal\x20Backend\x20Function\x20','/client/runtime-bff/personal/','根据本地脚本文件创建Personal\x20Backend\x20Function','description','Updated\x20Personal\x20Backend\x20Function\x20','Path\x20to\x20a\x20local\x20UTF-8\x20JavaScript\x20or\x20TypeScript\x20file','string','72zDJIHR','347395NDdOgh','validation','functionName','keys','map','config','length','createTime','Created\x20Personal\x20Backend\x20Function\x20','read','42090138HBMxJV','list','appCode','create','source-session-id','version','根据\x20ID\x20更新Personal\x20Backend\x20Function','updateTime','File\x20is\x20not\x20a\x20regular\x20file:\x20','File\x20path\x20is\x20required.','/client/runtime-bff/personal/create','utf8','str','bool','isArray','List\x20current\x20user\x27s\x20Personal\x20Backend\x20Function\x20scripts\x20for\x20the\x20current\x20app','1120637uAwJhE','detail','sourceSessionId','根据\x20ID\x20执行Personal\x20Backend\x20Function,并可传入\x20JSON\x20参数','exec','9097710IIzuiB','scriptType','4553676NvWfwG','isFile','file','把本地脚本保存为Personal\x20Backend\x20Function;之后可在当前应用中调用该脚本。','num','name','personal-bff\x20update\x20requires\x20at\x20least\x20one\x20of\x20--name,\x20--description,\x20--file,\x20or\x20--source-session-id.','trim','Personal\x20Backend\x20Function\x20script\x20ID','2983084wsJZtm','test','build','flag','gmtCreate','Preview:\x20create\x20Personal\x20Backend\x20Function\x20'];a46_0xd367=function(){return _0x5e44bf;};return a46_0xd367();}const personalBffList={'service':'personal-bff','command':a46_0x374920(0x1bb),'description':a46_0x374920(0x183),'risk':a46_0x374920(0x1b9),'flags':[VERBOSE_FLAG],async 'execute'(_0x38a648){const _0x85c720=a46_0x374920,_0x1aaca0=await listPersonalBffs(_0x38a648[_0x85c720(0x1bc)]);return{'ok':!![],'data':{'total':_0x1aaca0['length'],'items':_0x38a648[_0x85c720(0x181)](_0x85c720(0x1a7))?_0x1aaca0:_0x1aaca0[_0x85c720(0x1b4)](summarizeBff)}};}},personalBffDetail={'service':a46_0x374920(0x1a3),'command':a46_0x374920(0x185),'description':a46_0x374920(0x1a0),'risk':'read','flags':[{...ID_FLAG,'description':a46_0x374920(0x193)}],async 'execute'(_0x5b34a5){const _0x4eca07=a46_0x374920,_0x54336e=await getPersonalBff(_0x5b34a5[_0x4eca07(0x18f)]('id'),_0x5b34a5[_0x4eca07(0x1bc)]);return{'ok':!![],'data':detailBff(_0x54336e)};}},personalBffCreate={'service':'personal-bff','command':a46_0x374920(0x1bd),'description':a46_0x374920(0x1aa),'risk':a46_0x374920(0x1a4),'confirmationDescription':a46_0x374920(0x18e),'flags':[FUNCTION_NAME_FLAG,{...FILE_FLAG,'required':!![]},DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x54e1f2){const _0x55a4fd=a46_0x374920,_0x4ac496=buildCreateInput(_0x54e1f2),_0x270e9b=await createPersonalBff(_0x54e1f2[_0x55a4fd(0x1bc)],_0x4ac496);return{'ok':!![],'data':detailBff(_0x270e9b),'message':_0x55a4fd(0x1b8)+_0x270e9b['id']+(_0x270e9b['functionName']?'\x20('+_0x270e9b[_0x55a4fd(0x1b2)]+')':'')};},async 'dryRun'(_0x2f92da){const _0x4a6bbe=a46_0x374920,_0xec8581=buildCreateInput(_0x2f92da);return dryRun(_0x4a6bbe(0x19a),_0x4a6bbe(0x17e))[_0x4a6bbe(0x1a6)]({'appCode':_0x2f92da['appCode'],..._0xec8581})[_0x4a6bbe(0x1ab)](_0x4a6bbe(0x199)+_0xec8581[_0x4a6bbe(0x1b2)])['build']();}},personalBffUpdate={'service':a46_0x374920(0x1a3),'command':'update','description':a46_0x374920(0x17a),'risk':a46_0x374920(0x1a4),'confirmationDescription':a46_0x374920(0x19e),'flags':[{...ID_FLAG,'description':a46_0x374920(0x193)},{...FUNCTION_NAME_FLAG,'required':![]},FILE_FLAG,DESCRIPTION_FLAG,SOURCE_SESSION_FLAG],async 'execute'(_0x5bfb8a){const _0x3f80dc=a46_0x374920,_0x2e475b=_0x5bfb8a['num']('id'),_0x41824b=buildUpdateInput(_0x5bfb8a),_0x4f0a6a=await updatePersonalBff(_0x2e475b,_0x5bfb8a[_0x3f80dc(0x1bc)],_0x41824b);return{'ok':!![],'data':detailBff(_0x4f0a6a),'message':_0x3f80dc(0x1ac)+_0x4f0a6a['id']+(_0x4f0a6a['functionName']?'\x20('+_0x4f0a6a[_0x3f80dc(0x1b2)]+')':'')};},async 'dryRun'(_0x5dccca){const _0x211371=a46_0x374920,_0x31387c=_0x5dccca[_0x211371(0x18f)]('id'),_0x10a46a=buildUpdateInput(_0x5dccca);return dryRun('POST',_0x211371(0x1a9)+_0x31387c+'/update')[_0x211371(0x1a6)]({'appCode':_0x5dccca[_0x211371(0x1bc)],..._0x10a46a})[_0x211371(0x1ab)](_0x211371(0x1a8)+_0x31387c)[_0x211371(0x196)]();}},personalBffExec={'service':'personal-bff','command':a46_0x374920(0x188),'description':a46_0x374920(0x187),'risk':a46_0x374920(0x1a4),'confirmationDescription':'执行Personal\x20Backend\x20Function\x20脚本;脚本可能读取或修改业务数据,也可能调用外部服务。','flags':[{...ID_FLAG,'description':a46_0x374920(0x193)},{...PARAMS_FLAG,'description':a46_0x374920(0x1a1)}],async 'validate'(_0x15d4e4){const _0x5b1381=a46_0x374920;parseExecParams(_0x15d4e4['str'](_0x5b1381(0x19d)));},async 'execute'(_0x307049){const _0xa77b38=a46_0x374920,_0x50563b=_0x307049['num']('id'),_0x489dcc=parseExecParams(_0x307049['str'](_0xa77b38(0x19d))),_0x19adfb=await executePersonalBff(_0x50563b,_0x307049['appCode'],_0x489dcc);return{'ok':!![],'data':{'result':_0x19adfb},'message':_0xa77b38(0x1a2)+_0x50563b};}};export const personalBffDefinitions=[personalBffList,personalBffDetail,personalBffCreate,personalBffUpdate,personalBffExec];
@@ -1 +1 @@
1
- const a47_0x4de89e=a47_0x2aaa;(function(_0x2d71a2,_0x140f46){const _0x225b23=a47_0x2aaa,_0x59bcd1=_0x2d71a2();while(!![]){try{const _0x783240=-parseInt(_0x225b23(0xd6))/0x1+parseInt(_0x225b23(0xc3))/0x2+parseInt(_0x225b23(0xb2))/0x3*(parseInt(_0x225b23(0xb8))/0x4)+parseInt(_0x225b23(0xae))/0x5*(parseInt(_0x225b23(0xbb))/0x6)+-parseInt(_0x225b23(0xd7))/0x7+-parseInt(_0x225b23(0xa9))/0x8+parseInt(_0x225b23(0xd9))/0x9;if(_0x783240===_0x140f46)break;else _0x59bcd1['push'](_0x59bcd1['shift']());}catch(_0x43e55d){_0x59bcd1['push'](_0x59bcd1['shift']());}}}(a47_0x1876,0xeece1));import{authDefinitions}from'../commands/auth/index.js';function a47_0x2aaa(_0x5a8d26,_0x21b8e9){_0x5a8d26=_0x5a8d26-0xa6;const _0x18769c=a47_0x1876();let _0x2aaa82=_0x18769c[_0x5a8d26];return _0x2aaa82;}import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';function a47_0x1876(){const _0x254ef6=['15200696AMbLzO','set','\x20\x20[high-risk-write]','User\x20Accounts','show','305285fSSuDi','Configuration','read','push','10173UiBdPJ','Runtime\x20App\x20Config','app','install','BFF\x20Scripts','app\x20init','1176zDQTKY','login','list','6nazDmU','Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.','service','Datasets','Agent\x20Schedules','write','config-list','values','2717642KlLIJG','Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.','Knowledge\x20Base','logs','Runtime\x20Permissions','Skills','File','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','App\x20Management','Personal\x20BFF','init','Instant\x20API','risk','`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','Authentication','CLI\x20Built-in\x20Skill','defaultCommand','Self\x20Update','get','1272694kMbDwX','11090513ynwBjp','has','29866077hXEoPG','Notification\x20Configs','isSingleCommand','clear','Runtime\x20Roles','map','Workspace','Logs','command','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.'];a47_0x1876=function(){return _0x254ef6;};return a47_0x1876();}import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{scheduleDefinitions}from'../commands/schedule/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x3fc353){const _0x4504e7=a47_0x2aaa;for(const _0x24d6a3 of _0x3fc353){definitions[_0x4504e7(0xaa)](_0x24d6a3[_0x4504e7(0xbd)]+':'+_0x24d6a3[_0x4504e7(0xa7)],_0x24d6a3);let _0x1902fc=serviceGroups[_0x4504e7(0xd5)](_0x24d6a3[_0x4504e7(0xbd)]);!_0x1902fc&&(_0x1902fc=[],serviceGroups[_0x4504e7(0xaa)](_0x24d6a3[_0x4504e7(0xbd)],_0x1902fc)),_0x1902fc['push'](_0x24d6a3);}}function registerService(_0x450847,_0x4f41a8,_0x39d5ba){const _0x47257a=a47_0x2aaa;registerDefinitions(_0x4f41a8);const _0x2ad453=_0x32a067=>_0x32a067===_0x47257a(0xb0)?'':_0x32a067===_0x47257a(0xc0)?'\x20\x20[write]':_0x47257a(0xab),_0x2f3554={'service':_0x4f41a8[0x0][_0x47257a(0xbd)],'label':_0x450847,'commands':_0x4f41a8[_0x47257a(0xde)](_0x3203a3=>({'command':_0x3203a3[_0x47257a(0xa7)],'description':_0x3203a3['description'],'tag':_0x2ad453(_0x3203a3[_0x47257a(0xcf)])})),'defaultCommand':_0x39d5ba?.[_0x47257a(0xd3)]??(_0x39d5ba?.[_0x47257a(0xdb)]?_0x4f41a8[0x0][_0x47257a(0xa7)]:undefined),'isSingleCommand':_0x39d5ba?.['isSingleCommand']};serviceRegistry[_0x47257a(0xb1)](_0x2f3554),serviceByName[_0x47257a(0xaa)](_0x2f3554['service'],_0x2f3554);}registerService(a47_0x4de89e(0xd1),authDefinitions,{'defaultCommand':a47_0x4de89e(0xb9)}),registerService(a47_0x4de89e(0xac),userAccountDefinitions),registerService(a47_0x4de89e(0xcb),appDefinitions,{'defaultCommand':'list'}),registerService(a47_0x4de89e(0xdf),workspaceDefinitions),registerService(a47_0x4de89e(0xb3),appConfigDefinitions),registerService(a47_0x4de89e(0xaf),configDefinitions,{'defaultCommand':a47_0x4de89e(0xba)}),registerService(a47_0x4de89e(0xdd),roleDefinitions,{'defaultCommand':'list'}),registerService(a47_0x4de89e(0xc7),permitDefinitions),registerService('API\x20Documentation',apiDocDefinitions),registerService(a47_0x4de89e(0xbe),datasetDefinitions),registerService(a47_0x4de89e(0xce),dataDefinitions),registerService('SQL\x20Queries',sqlDefinitions),registerService(a47_0x4de89e(0xb6),bffDefinitions),registerService(a47_0x4de89e(0xcc),personalBffDefinitions),registerService('Artifacts',artifactDefinitions),registerService(a47_0x4de89e(0xc9),fileDefinitions),registerService('OCR',ocrDefinitions),registerService(a47_0x4de89e(0xc5),kbDefinitions),registerService(a47_0x4de89e(0xda),notificationDefinitions,{'defaultCommand':a47_0x4de89e(0xc1)}),registerService(a47_0x4de89e(0xbf),scheduleDefinitions,{'defaultCommand':'list'}),registerService('Service\x20Tree',serviceDefinitions,{'defaultCommand':a47_0x4de89e(0xba)}),registerService(a47_0x4de89e(0xc8),skillDefinitions,{'defaultCommand':'install'}),registerService(a47_0x4de89e(0xd2),cliSkillDefinitions,{'defaultCommand':a47_0x4de89e(0xb5)}),registerService(a47_0x4de89e(0xd4),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerService(a47_0x4de89e(0xa6),logsDefinitions,{'defaultCommand':a47_0x4de89e(0xad)});export function findDefinition(_0xb9fed,_0x40b257){return definitions['get'](_0xb9fed+':'+_0x40b257);}export function resolveRemovedCommand(_0x28bc06,_0xe4e454){const _0x518a04=a47_0x4de89e;if(_0x28bc06===_0x518a04(0xb4)&&_0xe4e454===_0x518a04(0xcd))return{'command':_0x518a04(0xb7),'message':_0x518a04(0xca),'hint':_0x518a04(0xc4)};if(_0x28bc06===_0x518a04(0xb4)&&_0xe4e454==='use')return{'command':'app\x20use','message':_0x518a04(0xd0),'hint':_0x518a04(0xbc)};if(_0x28bc06===_0x518a04(0xc6)&&_0xe4e454===_0x518a04(0xdc))return{'command':'logs\x20clear','message':_0x518a04(0xa8),'hint':'Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.'};return undefined;}export function isKnownService(_0x40f774){const _0x3eea0e=a47_0x4de89e;return serviceByName[_0x3eea0e(0xd8)](_0x40f774);}export function getServiceEntry(_0x2d5080){return serviceByName['get'](_0x2d5080);}export function getAllDefinitions(){const _0x330d45=a47_0x4de89e;return Array['from'](definitions[_0x330d45(0xc2)]());}
1
+ const a47_0x1de09d=a47_0x41c1;(function(_0xf65df1,_0x423b73){const _0xffd3f6=a47_0x41c1,_0x34741e=_0xf65df1();while(!![]){try{const _0x56c6b6=-parseInt(_0xffd3f6(0xcd))/0x1+parseInt(_0xffd3f6(0x97))/0x2+parseInt(_0xffd3f6(0xce))/0x3+-parseInt(_0xffd3f6(0xb4))/0x4*(-parseInt(_0xffd3f6(0xa7))/0x5)+-parseInt(_0xffd3f6(0xba))/0x6+-parseInt(_0xffd3f6(0xa5))/0x7*(-parseInt(_0xffd3f6(0xca))/0x8)+parseInt(_0xffd3f6(0xae))/0x9*(parseInt(_0xffd3f6(0xad))/0xa);if(_0x56c6b6===_0x423b73)break;else _0x34741e['push'](_0x34741e['shift']());}catch(_0x4f09e4){_0x34741e['push'](_0x34741e['shift']());}}}(a47_0x45be,0x8c42a));import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{skillDefinitions}from'../commands/skill/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';function a47_0x41c1(_0x945d80,_0x5d600){_0x945d80=_0x945d80-0x97;const _0x45be7d=a47_0x45be();let _0x41c140=_0x45be7d[_0x945d80];return _0x41c140;}import{serviceDefinitions}from'../commands/service/index.js';import{updateDefinition}from'../commands/update.js';import{doctorDefinition}from'../commands/doctor.js';import{schemaDefinition}from'../commands/schema.js';import{appDefinitions}from'../commands/app/definitions.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/definitions.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';function a47_0x45be(){const _0x465fcb=['service','write','app','init','4AihhHD','Personal\x20Backend\x20Function','install','Knowledge\x20Base','show','SQL\x20Queries','4502544ycJoJG','app\x20use','Service\x20Tree','isSingleCommand','API\x20Documentation','User\x20Accounts','set','map','read','Use\x20`lovrabet\x20workspace\x20use\x20--app\x20<name>`\x20instead.','has','Diagnostics','logs\x20clear','`lovrabet\x20app\x20use`\x20has\x20been\x20removed.','Runtime\x20App\x20Config','Artifacts','4456oKywwp','`lovrabet\x20app\x20init`\x20has\x20been\x20removed.','Logs','934228vuZSgJ','66861TdcQki','Notification\x20Configs','Backend\x20Function\x20Scripts','Self\x20Update','command','925590jWlyKP','Authentication','Agent\x20Schedules','list','\x20\x20[write]','`lovrabet\x20logs\x20clear`\x20has\x20been\x20removed.','Skills','config-list','values','description','get','risk','OCR','Instant\x20API','1463GQrjHa','from','1874780THPixv','App\x20Management','CLI\x20Built-in\x20Skill','defaultCommand','push','Use\x20`lovrabet\x20logs\x20show`\x20to\x20view\x20command\x20history.','30xcIzOR','3848121jOAjCI','clear'];a47_0x45be=function(){return _0x465fcb;};return a47_0x45be();}import{dataDefinitions}from'../commands/data/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{artifactDefinitions}from'../commands/artifact/index.js';import{personalBffDefinitions}from'../commands/personal-bff/index.js';import{apiDocDefinitions}from'../commands/api-doc/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{fileDefinitions}from'../commands/file/index.js';import{ocrDefinitions}from'../commands/ocr/index.js';import{scheduleDefinitions}from'../commands/schedule/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x139f0f){const _0x1e23d3=a47_0x41c1;for(const _0x3a04a0 of _0x139f0f){definitions[_0x1e23d3(0xc0)](_0x3a04a0[_0x1e23d3(0xb0)]+':'+_0x3a04a0[_0x1e23d3(0xd2)],_0x3a04a0);let _0x55bb81=serviceGroups[_0x1e23d3(0xa1)](_0x3a04a0[_0x1e23d3(0xb0)]);!_0x55bb81&&(_0x55bb81=[],serviceGroups[_0x1e23d3(0xc0)](_0x3a04a0['service'],_0x55bb81)),_0x55bb81[_0x1e23d3(0xab)](_0x3a04a0);}}function registerService(_0x377107,_0x10ed7e,_0x569855){const _0x38cfc7=a47_0x41c1;registerDefinitions(_0x10ed7e);const _0x5b777c=_0x4b883f=>_0x4b883f===_0x38cfc7(0xc2)?'':_0x4b883f===_0x38cfc7(0xb1)?_0x38cfc7(0x9b):'\x20\x20[high-risk-write]',_0x21fb30={'service':_0x10ed7e[0x0][_0x38cfc7(0xb0)],'label':_0x377107,'commands':_0x10ed7e[_0x38cfc7(0xc1)](_0x14c2c=>({'command':_0x14c2c[_0x38cfc7(0xd2)],'description':_0x14c2c[_0x38cfc7(0xa0)],'tag':_0x5b777c(_0x14c2c[_0x38cfc7(0xa2)])})),'defaultCommand':_0x569855?.[_0x38cfc7(0xaa)]??(_0x569855?.['isSingleCommand']?_0x10ed7e[0x0][_0x38cfc7(0xd2)]:undefined),'isSingleCommand':_0x569855?.[_0x38cfc7(0xbd)]};serviceRegistry[_0x38cfc7(0xab)](_0x21fb30),serviceByName['set'](_0x21fb30[_0x38cfc7(0xb0)],_0x21fb30);}registerService(a47_0x1de09d(0x98),authDefinitions,{'defaultCommand':'login'}),registerService(a47_0x1de09d(0xbf),userAccountDefinitions),registerService(a47_0x1de09d(0xa8),appDefinitions,{'defaultCommand':a47_0x1de09d(0x9a)}),registerService('Workspace',workspaceDefinitions),registerService(a47_0x1de09d(0xc8),appConfigDefinitions),registerService('Configuration',configDefinitions,{'defaultCommand':a47_0x1de09d(0x9a)}),registerService('Runtime\x20Roles',roleDefinitions,{'defaultCommand':'list'}),registerService('Runtime\x20Permissions',permitDefinitions),registerService(a47_0x1de09d(0xbe),apiDocDefinitions),registerService('Datasets',datasetDefinitions),registerService(a47_0x1de09d(0xa4),dataDefinitions),registerService(a47_0x1de09d(0xb9),sqlDefinitions),registerService(a47_0x1de09d(0xd0),bffDefinitions),registerService(a47_0x1de09d(0xb5),personalBffDefinitions),registerService(a47_0x1de09d(0xc9),artifactDefinitions),registerService('File',fileDefinitions),registerService(a47_0x1de09d(0xa3),ocrDefinitions),registerService(a47_0x1de09d(0xb7),kbDefinitions),registerService(a47_0x1de09d(0xcf),notificationDefinitions,{'defaultCommand':a47_0x1de09d(0x9e)}),registerService(a47_0x1de09d(0x99),scheduleDefinitions,{'defaultCommand':a47_0x1de09d(0x9a)}),registerService(a47_0x1de09d(0xbc),serviceDefinitions,{'defaultCommand':a47_0x1de09d(0x9a)}),registerService(a47_0x1de09d(0x9d),skillDefinitions,{'defaultCommand':a47_0x1de09d(0xb6)}),registerService(a47_0x1de09d(0xa9),cliSkillDefinitions,{'defaultCommand':a47_0x1de09d(0xb6)}),registerService(a47_0x1de09d(0xd1),[updateDefinition],{'defaultCommand':'run','isSingleCommand':!![]}),registerService(a47_0x1de09d(0xc5),[doctorDefinition],{'isSingleCommand':!![]}),registerService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerService(a47_0x1de09d(0xcc),logsDefinitions,{'defaultCommand':a47_0x1de09d(0xb8)});export function findDefinition(_0x3918c5,_0x10a709){return definitions['get'](_0x3918c5+':'+_0x10a709);}export function resolveRemovedCommand(_0xc037cd,_0x514a68){const _0x4df049=a47_0x1de09d;if(_0xc037cd===_0x4df049(0xb2)&&_0x514a68===_0x4df049(0xb3))return{'command':'app\x20init','message':_0x4df049(0xcb),'hint':'Use\x20`lovrabet\x20workspace\x20init\x20--appcode\x20<code>`\x20instead.'};if(_0xc037cd===_0x4df049(0xb2)&&_0x514a68==='use')return{'command':_0x4df049(0xbb),'message':_0x4df049(0xc7),'hint':_0x4df049(0xc3)};if(_0xc037cd==='logs'&&_0x514a68===_0x4df049(0xaf))return{'command':_0x4df049(0xc6),'message':_0x4df049(0x9c),'hint':_0x4df049(0xac)};return undefined;}export function isKnownService(_0xf6a9b7){const _0xbed363=a47_0x1de09d;return serviceByName[_0xbed363(0xc4)](_0xf6a9b7);}export function getServiceEntry(_0x38f9f0){return serviceByName['get'](_0x38f9f0);}export function getAllDefinitions(){const _0x593bc7=a47_0x1de09d;return Array[_0x593bc7(0xa6)](definitions[_0x593bc7(0x9f)]());}
@@ -1 +1 @@
1
- function a48_0x4f1d(_0x5a9aa0,_0x1702de){_0x5a9aa0=_0x5a9aa0-0x160;const _0x4469f1=a48_0x4469();let _0x4f1db2=_0x4469f1[_0x5a9aa0];return _0x4f1db2;}const a48_0x18c7a5=a48_0x4f1d;(function(_0x475845,_0x571853){const _0x137719=a48_0x4f1d,_0x53d687=_0x475845();while(!![]){try{const _0x40eed4=parseInt(_0x137719(0x175))/0x1*(-parseInt(_0x137719(0x17b))/0x2)+-parseInt(_0x137719(0x168))/0x3+parseInt(_0x137719(0x178))/0x4+-parseInt(_0x137719(0x174))/0x5+-parseInt(_0x137719(0x170))/0x6+-parseInt(_0x137719(0x16a))/0x7*(-parseInt(_0x137719(0x163))/0x8)+-parseInt(_0x137719(0x17a))/0x9*(-parseInt(_0x137719(0x16c))/0xa);if(_0x40eed4===_0x571853)break;else _0x53d687['push'](_0x53d687['shift']());}catch(_0x563ad0){_0x53d687['push'](_0x53d687['shift']());}}}(a48_0x4469,0x56dfe));import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{projectRuntimeRole,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0x28a053){const _0x118505=a48_0x4f1d,_0x39bbbb=_0x28a053[_0x118505(0x177)](_0x118505(0x166))[_0x118505(0x162)]();if(!_0x39bbbb)throw CliErrors[_0x118505(0x16d)](_0x118505(0x167));const _0x118753=_0x28a053[_0x118505(0x177)]('remark')['trim']();return{'appCode':_0x28a053[_0x118505(0x160)],'roleName':_0x39bbbb,..._0x118753?{'remark':_0x118753}:{}};}function a48_0x4469(){const _0xbcffa6=['3618000lGSLSR','string','high-risk-write','body','933240nJhnIM','1EEDtaT','Create\x20a\x20runtime\x20CUSTOM\x20role','str','2720192WjVNdD','build','29259sUmqaw','328252LLAODr','在当前运行应用中创建一个自定义角色;创建后可用于成员与资源权限配置。','CUSTOM','appCode','Optional\x20role\x20remark','trim','3711568EuqYzJ','Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','/client/permit/role/create','name','--name\x20must\x20not\x20be\x20blank.','156597NhCNsR','create','7uJSSRt','description','670eyHPkB','validation','POST','role'];a48_0x4469=function(){return _0xbcffa6;};return a48_0x4469();}export const roleCreate={'service':a48_0x18c7a5(0x16f),'command':a48_0x18c7a5(0x169),'description':a48_0x18c7a5(0x176),'risk':a48_0x18c7a5(0x172),'confirmationDescription':a48_0x18c7a5(0x17c),'flags':[{'name':'name','type':a48_0x18c7a5(0x171),'required':!![],'description':'Role\x20name'},{'name':'remark','type':a48_0x18c7a5(0x171),'description':a48_0x18c7a5(0x161)}],async 'validate'(_0x5cec46){input(_0x5cec46);},async 'dryRun'(_0x10d3a1){const _0x1725e4=a48_0x18c7a5;return dryRun(_0x1725e4(0x16e),'/client/permit/role/create')[_0x1725e4(0x173)]({'roleType':_0x1725e4(0x17d),...input(_0x10d3a1)})[_0x1725e4(0x16b)](_0x1725e4(0x164))[_0x1725e4(0x179)]();},async 'execute'(_0x152a34){const _0x27def7=a48_0x18c7a5,_0x4f2596=await createRuntimeAppRole(input(_0x152a34));return{'ok':!![],'data':runtimeRoleWriteResult(_0x27def7(0x169),{'roleId':_0x4f2596['id']},null,projectRuntimeRole(_0x4f2596),{'method':_0x27def7(0x16e),'path':_0x27def7(0x165)})};}};
1
+ const a48_0x35201c=a48_0x5206;function a48_0x461f(){const _0x8fdf08=['/client/permit/role/create','Optional\x20role\x20remark','3850YqfERT','341869vRGIyG','string','trim','6ovKiCg','str','body','validation','92nPbQdp','23674nITCOi','14034llUjpr','create','2024209jjjaom','Create\x20a\x20runtime\x20CUSTOM\x20role','1611648OVbfMB','appCode','high-risk-write','3954OcFFTS','20eXLThu','6726792bxHyao','在当前运行应用中创建一个自定义角色;创建后可用于成员与资源权限配置。','remark','POST','Preview:\x20create\x20a\x20runtime\x20CUSTOM\x20role','build','name'];a48_0x461f=function(){return _0x8fdf08;};return a48_0x461f();}(function(_0x3e168c,_0x5037e9){const _0x55006d=a48_0x5206,_0x40e7bc=_0x3e168c();while(!![]){try{const _0x1de8c2=parseInt(_0x55006d(0x19d))/0x1*(parseInt(_0x55006d(0x1a0))/0x2)+parseInt(_0x55006d(0x1a6))/0x3*(parseInt(_0x55006d(0x1a4))/0x4)+-parseInt(_0x55006d(0x19c))/0x5*(-parseInt(_0x55006d(0x191))/0x6)+parseInt(_0x55006d(0x1a5))/0x7+-parseInt(_0x55006d(0x193))/0x8+parseInt(_0x55006d(0x18e))/0x9+parseInt(_0x55006d(0x192))/0xa*(-parseInt(_0x55006d(0x18c))/0xb);if(_0x1de8c2===_0x5037e9)break;else _0x40e7bc['push'](_0x40e7bc['shift']());}catch(_0x4b90a4){_0x40e7bc['push'](_0x40e7bc['shift']());}}}(a48_0x461f,0x95f36));function a48_0x5206(_0x17d6d1,_0x553ec4){_0x17d6d1=_0x17d6d1-0x18b;const _0x461f7d=a48_0x461f();let _0x5206e5=_0x461f7d[_0x17d6d1];return _0x5206e5;}import{createRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{projectRuntimeRole,runtimeRoleWriteResult}from'../../commands/role/shared.js';function input(_0x3640f2){const _0x424d62=a48_0x5206,_0x119e3e=_0x3640f2['str'](_0x424d62(0x199))[_0x424d62(0x19f)]();if(!_0x119e3e)throw CliErrors[_0x424d62(0x1a3)]('--name\x20must\x20not\x20be\x20blank.');const _0xf63b8c=_0x3640f2[_0x424d62(0x1a1)]('remark')[_0x424d62(0x19f)]();return{'appCode':_0x3640f2[_0x424d62(0x18f)],'roleName':_0x119e3e,..._0xf63b8c?{'remark':_0xf63b8c}:{}};}export const roleCreate={'service':'role','command':a48_0x35201c(0x18b),'description':a48_0x35201c(0x18d),'risk':a48_0x35201c(0x190),'confirmationDescription':a48_0x35201c(0x194),'flags':[{'name':a48_0x35201c(0x199),'type':a48_0x35201c(0x19e),'required':!![],'description':'Role\x20name'},{'name':a48_0x35201c(0x195),'type':a48_0x35201c(0x19e),'description':a48_0x35201c(0x19b)}],async 'validate'(_0x1e9c86){input(_0x1e9c86);},async 'dryRun'(_0x407cf3){const _0x5d0543=a48_0x35201c;return dryRun(_0x5d0543(0x196),_0x5d0543(0x19a))[_0x5d0543(0x1a2)]({'roleType':'CUSTOM',...input(_0x407cf3)})['description'](_0x5d0543(0x197))[_0x5d0543(0x198)]();},async 'execute'(_0x51e13b){const _0x8de64f=a48_0x35201c,_0x14fa93=await createRuntimeAppRole(input(_0x51e13b));return{'ok':!![],'data':runtimeRoleWriteResult(_0x8de64f(0x18b),{'roleId':_0x14fa93['id']},null,projectRuntimeRole(_0x14fa93),{'method':'POST','path':_0x8de64f(0x19a)})};}};
@@ -1 +1 @@
1
- function a49_0x485b(_0x5ea36a,_0x748c95){_0x5ea36a=_0x5ea36a-0x13d;const _0x469869=a49_0x4698();let _0x485b63=_0x469869[_0x5ea36a];return _0x485b63;}const a49_0x283485=a49_0x485b;(function(_0x478153,_0x5adaa8){const _0x8758b4=a49_0x485b,_0x1e0384=_0x478153();while(!![]){try{const _0xa49592=-parseInt(_0x8758b4(0x14d))/0x1+parseInt(_0x8758b4(0x14e))/0x2+parseInt(_0x8758b4(0x151))/0x3*(parseInt(_0x8758b4(0x143))/0x4)+-parseInt(_0x8758b4(0x144))/0x5*(parseInt(_0x8758b4(0x13f))/0x6)+-parseInt(_0x8758b4(0x146))/0x7*(-parseInt(_0x8758b4(0x14b))/0x8)+parseInt(_0x8758b4(0x14c))/0x9+-parseInt(_0x8758b4(0x140))/0xa;if(_0xa49592===_0x5adaa8)break;else _0x1e0384['push'](_0x1e0384['shift']());}catch(_0x5eac94){_0x1e0384['push'](_0x1e0384['shift']());}}}(a49_0x4698,0xeb9b7));import{deleteRuntimeAppRole}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';async function prepare(_0x1cd084){const _0x36818c=a49_0x485b,_0x287a40=await getRuntimeRoleById(_0x1cd084[_0x36818c(0x150)],_0x1cd084[_0x36818c(0x147)]('id'));return assertCustomRuntimeRole(_0x287a40,_0x36818c(0x148)),_0x287a40;}export const roleDelete={'service':a49_0x283485(0x14a),'command':a49_0x283485(0x148),'description':'Delete\x20a\x20runtime\x20CUSTOM\x20role','risk':a49_0x283485(0x142),'confirmationDescription':a49_0x283485(0x149),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x1e97f4){const _0x5e990a=a49_0x283485,_0x2a0d0a=await prepare(_0x1e97f4);return dryRun('POST',_0x5e990a(0x14f))['body']({'id':_0x2a0d0a['id']})[_0x5e990a(0x145)](_0x5e990a(0x13e))[_0x5e990a(0x13d)]();},async 'execute'(_0x5ed5fc){const _0x350419=a49_0x283485,_0x5b2aaa=await prepare(_0x5ed5fc);return await deleteRuntimeAppRole(_0x5b2aaa['id']),{'ok':!![],'data':runtimeRoleWriteResult('delete',{'roleId':_0x5b2aaa['id']},projectRuntimeRole(_0x5b2aaa),null,{'method':_0x350419(0x141),'path':_0x350419(0x14f)})};}};function a49_0x4698(){const _0x1efa10=['25375470JHJxXe','POST','high-risk-write','27828RoNeIW','134905hlVYFv','description','28sQUHZr','num','delete','删除当前运行应用中的自定义角色;该角色的成员关系和权限配置可能随之失效。','role','3504152NRTuVh','15640875ttsqGq','1233008zXquEh','2815436ElSBiA','/client/permit/role/delete','appCode','93BokIYY','build','Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role','84rFFwvS'];a49_0x4698=function(){return _0x1efa10;};return a49_0x4698();}
1
+ function a49_0x426c(){const _0xe8160a=['POST','1356YhnXyT','build','11wgzVqI','delete','description','14792810opMXzl','8ySRczo','num','body','11045007DaJJiF','5936500JgFEpg','删除当前运行应用中的自定义角色;该角色的成员关系和权限配置可能随之失效。','5176758HWrGQO','3172938KbDkiw','role','1opUpxh','appCode','/client/permit/role/delete','9120986mvphxu','8956ynPqhg'];a49_0x426c=function(){return _0xe8160a;};return a49_0x426c();}const a49_0x20621c=a49_0x581c;(function(_0x111577,_0x33d773){const _0x4b44f1=a49_0x581c,_0x2e0d2a=_0x111577();while(!![]){try{const _0xc77ad8=-parseInt(_0x4b44f1(0x1ef))/0x1*(parseInt(_0x4b44f1(0x1ed))/0x2)+-parseInt(_0x4b44f1(0x1e0))/0x3*(-parseInt(_0x4b44f1(0x1de))/0x4)+parseInt(_0x4b44f1(0x1ea))/0x5+-parseInt(_0x4b44f1(0x1ec))/0x6+parseInt(_0x4b44f1(0x1f2))/0x7+parseInt(_0x4b44f1(0x1e6))/0x8*(parseInt(_0x4b44f1(0x1e9))/0x9)+parseInt(_0x4b44f1(0x1e5))/0xa*(-parseInt(_0x4b44f1(0x1e2))/0xb);if(_0xc77ad8===_0x33d773)break;else _0x2e0d2a['push'](_0x2e0d2a['shift']());}catch(_0x245b3e){_0x2e0d2a['push'](_0x2e0d2a['shift']());}}}(a49_0x426c,0xc38ee));import{deleteRuntimeAppRole}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function a49_0x581c(_0x1e6305,_0x2062ce){_0x1e6305=_0x1e6305-0x1de;const _0x426c6c=a49_0x426c();let _0x581c6e=_0x426c6c[_0x1e6305];return _0x581c6e;}async function prepare(_0x267971){const _0x2c6dbb=a49_0x581c,_0x3ea5cf=await getRuntimeRoleById(_0x267971[_0x2c6dbb(0x1f0)],_0x267971[_0x2c6dbb(0x1e7)]('id'));return assertCustomRuntimeRole(_0x3ea5cf,'delete'),_0x3ea5cf;}export const roleDelete={'service':a49_0x20621c(0x1ee),'command':a49_0x20621c(0x1e3),'description':'Delete\x20a\x20runtime\x20CUSTOM\x20role','risk':'high-risk-write','confirmationDescription':a49_0x20621c(0x1eb),'flags':[ROLE_ID_FLAG],async 'dryRun'(_0x1b5941){const _0x4df23b=a49_0x20621c,_0x322f38=await prepare(_0x1b5941);return dryRun(_0x4df23b(0x1df),_0x4df23b(0x1f1))[_0x4df23b(0x1e8)]({'id':_0x322f38['id']})[_0x4df23b(0x1e4)]('Preview:\x20delete\x20a\x20runtime\x20CUSTOM\x20role')[_0x4df23b(0x1e1)]();},async 'execute'(_0x4774ec){const _0x114dfb=a49_0x20621c,_0x27bd61=await prepare(_0x4774ec);return await deleteRuntimeAppRole(_0x27bd61['id']),{'ok':!![],'data':runtimeRoleWriteResult('delete',{'roleId':_0x27bd61['id']},projectRuntimeRole(_0x27bd61),null,{'method':_0x114dfb(0x1df),'path':_0x114dfb(0x1f1)})};}};
@@ -1 +1 @@
1
- function a50_0x440c(){const _0x3259df=['172832URElmk','Show\x20one\x20runtime\x20role\x20by\x20ID','1700192HDcNxp','num','8033040ihSYWo','detail','935415nXxWFV','263074FTdGcV','runtime','785835XHFtVf','appCode','528936CfnRAJ','4hCdxwj'];a50_0x440c=function(){return _0x3259df;};return a50_0x440c();}const a50_0x49612d=a50_0x3d17;(function(_0x18719e,_0x4b7cad){const _0x129709=a50_0x3d17,_0x11a68e=_0x18719e();while(!![]){try{const _0x1c067f=-parseInt(_0x129709(0x6e))/0x1*(-parseInt(_0x129709(0x6f))/0x2)+parseInt(_0x129709(0x78))/0x3+parseInt(_0x129709(0x71))/0x4+parseInt(_0x129709(0x75))/0x5+parseInt(_0x129709(0x6d))/0x6+-parseInt(_0x129709(0x76))/0x7+-parseInt(_0x129709(0x73))/0x8;if(_0x1c067f===_0x4b7cad)break;else _0x11a68e['push'](_0x11a68e['shift']());}catch(_0x333d4a){_0x11a68e['push'](_0x11a68e['shift']());}}}(a50_0x440c,0x40fc8));function a50_0x3d17(_0x3af1bc,_0xa72f2d){_0x3af1bc=_0x3af1bc-0x6d;const _0x440c80=a50_0x440c();let _0x3d176d=_0x440c80[_0x3af1bc];return _0x3d176d;}import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':'role','command':a50_0x49612d(0x74),'description':a50_0x49612d(0x70),'risk':'read','flags':[ROLE_ID_FLAG],async 'execute'(_0x5d810e){const _0x39681f=a50_0x49612d,_0x1ac66e=await getRuntimeRoleById(_0x5d810e[_0x39681f(0x79)],_0x5d810e[_0x39681f(0x72)]('id'));return{'ok':!![],'data':{'scope':_0x39681f(0x77),'role':projectRuntimeRole(_0x1ac66e)}};}};
1
+ function a50_0x3f8f(){const _0x4bba94=['27gOVrmj','442585vcUjsU','role','appCode','913650ODiCbq','497180sIBcpo','48570qtiQhj','961194UaLDko','92757fhfHAZ','2IApemQ','runtime','2311600GPxePZ','detail','num','32DEtQzI'];a50_0x3f8f=function(){return _0x4bba94;};return a50_0x3f8f();}const a50_0x363876=a50_0x46a5;function a50_0x46a5(_0x24d689,_0x5b9690){_0x24d689=_0x24d689-0x102;const _0x3f8fb8=a50_0x3f8f();let _0x46a5ed=_0x3f8fb8[_0x24d689];return _0x46a5ed;}(function(_0x31a621,_0x398687){const _0x44f635=a50_0x46a5,_0x433797=_0x31a621();while(!![]){try{const _0x2c07dd=-parseInt(_0x44f635(0x105))/0x1*(-parseInt(_0x44f635(0x110))/0x2)+parseInt(_0x44f635(0x10f))/0x3+-parseInt(_0x44f635(0x107))/0x4+-parseInt(_0x44f635(0x10c))/0x5+parseInt(_0x44f635(0x103))/0x6+-parseInt(_0x44f635(0x104))/0x7*(-parseInt(_0x44f635(0x10a))/0x8)+-parseInt(_0x44f635(0x10b))/0x9*(-parseInt(_0x44f635(0x102))/0xa);if(_0x2c07dd===_0x398687)break;else _0x433797['push'](_0x433797['shift']());}catch(_0x46fbbc){_0x433797['push'](_0x433797['shift']());}}}(a50_0x3f8f,0x58a4f));import{getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a50_0x363876(0x10d),'command':a50_0x363876(0x108),'description':'Show\x20one\x20runtime\x20role\x20by\x20ID','risk':'read','flags':[ROLE_ID_FLAG],async 'execute'(_0x4d732b){const _0x36b7d4=a50_0x363876,_0x307266=await getRuntimeRoleById(_0x4d732b[_0x36b7d4(0x10e)],_0x4d732b[_0x36b7d4(0x109)]('id'));return{'ok':!![],'data':{'scope':_0x36b7d4(0x106),'role':projectRuntimeRole(_0x307266)}};}};
@@ -1 +1 @@
1
- (function(_0x29f9e5,_0x1e0d64){const _0x328fc1=a51_0x4587,_0x2c261e=_0x29f9e5();while(!![]){try{const _0x4b8b00=-parseInt(_0x328fc1(0x16a))/0x1+-parseInt(_0x328fc1(0x16f))/0x2*(parseInt(_0x328fc1(0x16e))/0x3)+parseInt(_0x328fc1(0x166))/0x4+parseInt(_0x328fc1(0x169))/0x5*(-parseInt(_0x328fc1(0x168))/0x6)+parseInt(_0x328fc1(0x167))/0x7*(-parseInt(_0x328fc1(0x16d))/0x8)+parseInt(_0x328fc1(0x16b))/0x9+parseInt(_0x328fc1(0x16c))/0xa;if(_0x4b8b00===_0x1e0d64)break;else _0x2c261e['push'](_0x2c261e['shift']());}catch(_0x14e184){_0x2c261e['push'](_0x2c261e['shift']());}}}(a51_0x5dc5,0xabea4));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';function a51_0x5dc5(){const _0x353f6b=['2YqyjFg','1256224lVPFiD','63HcqrFL','6mpXlYk','1595115tNntKb','1184825qXZtNs','11585349uSSCTx','26289110gAshgq','651768IdjQEk','3866931yaJrKa'];a51_0x5dc5=function(){return _0x353f6b;};return a51_0x5dc5();}import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';function a51_0x4587(_0xcdfc07,_0x39294e){_0xcdfc07=_0xcdfc07-0x166;const _0x5dc554=a51_0x5dc5();let _0x45874e=_0x5dc554[_0xcdfc07];return _0x45874e;}import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserAdd,roleUserRemove];
1
+ (function(_0x27d733,_0x18eba1){const _0x3a230c=a51_0x5951,_0x43e964=_0x27d733();while(!![]){try{const _0x4fd80c=-parseInt(_0x3a230c(0x10d))/0x1+parseInt(_0x3a230c(0x10a))/0x2+parseInt(_0x3a230c(0x10b))/0x3*(parseInt(_0x3a230c(0x110))/0x4)+-parseInt(_0x3a230c(0x10e))/0x5+parseInt(_0x3a230c(0x111))/0x6+-parseInt(_0x3a230c(0x10c))/0x7*(parseInt(_0x3a230c(0x10f))/0x8)+parseInt(_0x3a230c(0x112))/0x9;if(_0x4fd80c===_0x18eba1)break;else _0x43e964['push'](_0x43e964['shift']());}catch(_0x440086){_0x43e964['push'](_0x43e964['shift']());}}}(a51_0x480a,0x5b62b));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';function a51_0x5951(_0x19e8a2,_0x2ad2e9){_0x19e8a2=_0x19e8a2-0x10a;const _0x480a75=a51_0x480a();let _0x5951d4=_0x480a75[_0x19e8a2];return _0x5951d4;}import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';function a51_0x480a(){const _0x3d1ba6=['8MFibsr','8iozSUa','4128954BqXsig','1460772fYrgTm','970046GWGomH','429351CjVdqT','2150519XkSVTi','697556agKlzQ','1213180IvvbiT'];a51_0x480a=function(){return _0x3d1ba6;};return a51_0x480a();}export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserAdd,roleUserRemove];
@@ -1 +1 @@
1
- const a52_0x46ba53=a52_0x36b0;(function(_0x2c3d56,_0x45a92b){const _0xe9778d=a52_0x36b0,_0x438261=_0x2c3d56();while(!![]){try{const _0x432411=parseInt(_0xe9778d(0xb4))/0x1*(parseInt(_0xe9778d(0xa4))/0x2)+-parseInt(_0xe9778d(0xad))/0x3*(parseInt(_0xe9778d(0xa2))/0x4)+-parseInt(_0xe9778d(0xbf))/0x5*(parseInt(_0xe9778d(0xa5))/0x6)+-parseInt(_0xe9778d(0xb6))/0x7+parseInt(_0xe9778d(0xba))/0x8+-parseInt(_0xe9778d(0xb1))/0x9*(-parseInt(_0xe9778d(0xaf))/0xa)+parseInt(_0xe9778d(0xb9))/0xb;if(_0x432411===_0x45a92b)break;else _0x438261['push'](_0x438261['shift']());}catch(_0x4bf777){_0x438261['push'](_0x438261['shift']());}}}(a52_0x2bbd,0xb83c2));function a52_0x36b0(_0x25b93d,_0x5f1e9e){_0x25b93d=_0x25b93d-0x9c;const _0x2bbdd7=a52_0x2bbd();let _0x36b043=_0x2bbdd7[_0x25b93d];return _0x36b043;}import{listRuntimeAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':a52_0x46ba53(0xbd),'command':'list','description':a52_0x46ba53(0xa1),'risk':a52_0x46ba53(0xac),'flags':[{'name':a52_0x46ba53(0xae),'type':a52_0x46ba53(0xa6),'enum':RUNTIME_ROLE_TYPES,'description':'Runtime\x20role\x20type'},{'name':a52_0x46ba53(0xbb),'type':a52_0x46ba53(0xa6),'description':a52_0x46ba53(0xb5)},{'name':'page','type':'number','default':0x1,'description':a52_0x46ba53(0xab)},{'name':'pagesize','type':a52_0x46ba53(0xb7),'default':0x64,'description':'Page\x20size\x20from\x201\x20to\x20100'}],async 'validate'(_0x420b95){const _0x5588ac=a52_0x46ba53,_0x3b3d1b=_0x420b95[_0x5588ac(0xaa)](_0x5588ac(0xae))[_0x5588ac(0xb8)]();if(_0x3b3d1b&&!RUNTIME_ROLE_TYPES[_0x5588ac(0x9c)](_0x3b3d1b))throw CliErrors['validation'](_0x5588ac(0xb3)+_0x3b3d1b+'.');const _0x56aa01=_0x420b95[_0x5588ac(0xb2)](_0x5588ac(0xa0),0x1),_0x5b7702=_0x420b95[_0x5588ac(0xb2)]('pagesize',0x64);if(!Number['isSafeInteger'](_0x56aa01)||_0x56aa01<0x1)throw CliErrors[_0x5588ac(0xa3)](_0x5588ac(0x9d));if(!Number[_0x5588ac(0xc1)](_0x5b7702)||_0x5b7702<0x1||_0x5b7702>0x64)throw CliErrors[_0x5588ac(0xa3)](_0x5588ac(0xc0));},async 'execute'(_0x49e618){const _0x5acd16=a52_0x46ba53,_0xb9c74=_0x49e618['str'](_0x5acd16(0xae))[_0x5acd16(0xb8)](),_0x2529aa=_0x49e618[_0x5acd16(0xaa)](_0x5acd16(0xbb))[_0x5acd16(0x9e)](),_0x4a8e1c=_0x49e618[_0x5acd16(0xb2)](_0x5acd16(0xa0),0x1),_0x45bf35=_0x49e618[_0x5acd16(0xb2)](_0x5acd16(0xa8),0x64);if(_0xb9c74){const _0x7e9aaa=(await listAllRuntimeRoles(_0x49e618[_0x5acd16(0xbe)],{..._0x2529aa?{'roleName':_0x2529aa}:{}}))[_0x5acd16(0xc2)](_0x3837b0=>_0x3837b0['roleType']===_0xb9c74),_0x164fb7=(_0x4a8e1c-0x1)*_0x45bf35;return{'ok':!![],'data':{'scope':_0x5acd16(0xb0),'roles':_0x7e9aaa[_0x5acd16(0xbc)](_0x164fb7,_0x164fb7+_0x45bf35)[_0x5acd16(0x9f)](projectRuntimeRole),'paging':{'currentPage':_0x4a8e1c,'pageSize':_0x45bf35,'totalCount':_0x7e9aaa['length']}}};}const _0x1acd30=await listRuntimeAppRoles(_0x49e618['appCode'],{..._0x2529aa?{'roleName':_0x2529aa}:{},'currentPage':_0x4a8e1c,'pageSize':_0x45bf35});return{'ok':!![],'data':{'scope':_0x5acd16(0xb0),'roles':_0x1acd30[_0x5acd16(0xa7)]['map'](projectRuntimeRole),'paging':_0x1acd30[_0x5acd16(0xa9)]}};}};function a52_0x2bbd(){const _0x566285=['str','Page\x20number','read','339jAanob','type','90OYFUTp','runtime','320265rfPkKh','num','Invalid\x20runtime\x20role\x20type:\x20','37531adTCOY','Fuzzy\x20role-name\x20filter','4106732KghgxJ','number','toUpperCase','2063413KNLqUs','10061456sOJlOA','name','slice','role','appCode','136095LDPniu','--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.','isSafeInteger','filter','includes','--page\x20must\x20be\x20a\x20positive\x20integer.','trim','map','page','List\x20runtime\x20roles\x20for\x20the\x20current\x20app','44304rwfNeK','validation','76iEIKQr','132JmKSqN','string','items','pagesize','paging'];a52_0x2bbd=function(){return _0x566285;};return a52_0x2bbd();}
1
+ const a52_0x31dcd7=a52_0x19c9;(function(_0x326386,_0x253b84){const _0x4038c5=a52_0x19c9,_0x385826=_0x326386();while(!![]){try{const _0x157a88=-parseInt(_0x4038c5(0x1ea))/0x1+-parseInt(_0x4038c5(0x1d2))/0x2*(-parseInt(_0x4038c5(0x1db))/0x3)+-parseInt(_0x4038c5(0x1e5))/0x4+-parseInt(_0x4038c5(0x1e2))/0x5*(parseInt(_0x4038c5(0x1dc))/0x6)+parseInt(_0x4038c5(0x1e9))/0x7+-parseInt(_0x4038c5(0x1ed))/0x8+parseInt(_0x4038c5(0x1de))/0x9;if(_0x157a88===_0x253b84)break;else _0x385826['push'](_0x385826['shift']());}catch(_0x4d4ec0){_0x385826['push'](_0x385826['shift']());}}}(a52_0x1d4f,0x4c0ab));function a52_0x19c9(_0x4a5f49,_0x2d9162){_0x4a5f49=_0x4a5f49-0x1d2;const _0x1d4ff2=a52_0x1d4f();let _0x19c9bd=_0x1d4ff2[_0x4a5f49];return _0x19c9bd;}import{listRuntimeAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{listAllRuntimeRoles,projectRuntimeRole,RUNTIME_ROLE_TYPES}from'../../commands/role/shared.js';export const roleList={'service':a52_0x31dcd7(0x1f2),'command':'list','description':a52_0x31dcd7(0x1ee),'risk':'read','flags':[{'name':a52_0x31dcd7(0x1d3),'type':a52_0x31dcd7(0x1e6),'enum':RUNTIME_ROLE_TYPES,'description':a52_0x31dcd7(0x1e3)},{'name':a52_0x31dcd7(0x1e8),'type':a52_0x31dcd7(0x1e6),'description':a52_0x31dcd7(0x1f3)},{'name':a52_0x31dcd7(0x1e0),'type':'number','default':0x1,'description':a52_0x31dcd7(0x1da)},{'name':a52_0x31dcd7(0x1f0),'type':a52_0x31dcd7(0x1d5),'default':0x64,'description':a52_0x31dcd7(0x1f1)}],async 'validate'(_0x3c3830){const _0x5b4e36=a52_0x31dcd7,_0x2c2d0e=_0x3c3830[_0x5b4e36(0x1d4)]('type')[_0x5b4e36(0x1f5)]();if(_0x2c2d0e&&!RUNTIME_ROLE_TYPES[_0x5b4e36(0x1ec)](_0x2c2d0e))throw CliErrors[_0x5b4e36(0x1d8)](_0x5b4e36(0x1e1)+_0x2c2d0e+'.');const _0x29d1e4=_0x3c3830[_0x5b4e36(0x1e7)]('page',0x1),_0x42caf2=_0x3c3830['num'](_0x5b4e36(0x1f0),0x64);if(!Number['isSafeInteger'](_0x29d1e4)||_0x29d1e4<0x1)throw CliErrors[_0x5b4e36(0x1d8)](_0x5b4e36(0x1f4));if(!Number[_0x5b4e36(0x1dd)](_0x42caf2)||_0x42caf2<0x1||_0x42caf2>0x64)throw CliErrors[_0x5b4e36(0x1d8)]('--pagesize\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100.');},async 'execute'(_0x3ffcc8){const _0x2f7d93=a52_0x31dcd7,_0x97cc6f=_0x3ffcc8[_0x2f7d93(0x1d4)](_0x2f7d93(0x1d3))[_0x2f7d93(0x1f5)](),_0x1e1c64=_0x3ffcc8['str'](_0x2f7d93(0x1e8))['trim'](),_0x59f464=_0x3ffcc8[_0x2f7d93(0x1e7)](_0x2f7d93(0x1e0),0x1),_0x5c89cf=_0x3ffcc8[_0x2f7d93(0x1e7)]('pagesize',0x64);if(_0x97cc6f){const _0x11a2e4=(await listAllRuntimeRoles(_0x3ffcc8['appCode'],{..._0x1e1c64?{'roleName':_0x1e1c64}:{}}))[_0x2f7d93(0x1d7)](_0x29c0a0=>_0x29c0a0['roleType']===_0x97cc6f),_0x795122=(_0x59f464-0x1)*_0x5c89cf;return{'ok':!![],'data':{'scope':'runtime','roles':_0x11a2e4[_0x2f7d93(0x1ef)](_0x795122,_0x795122+_0x5c89cf)[_0x2f7d93(0x1eb)](projectRuntimeRole),'paging':{'currentPage':_0x59f464,'pageSize':_0x5c89cf,'totalCount':_0x11a2e4[_0x2f7d93(0x1df)]}}};}const _0x4ca6b4=await listRuntimeAppRoles(_0x3ffcc8[_0x2f7d93(0x1d9)],{..._0x1e1c64?{'roleName':_0x1e1c64}:{},'currentPage':_0x59f464,'pageSize':_0x5c89cf});return{'ok':!![],'data':{'scope':_0x2f7d93(0x1d6),'roles':_0x4ca6b4[_0x2f7d93(0x1e4)][_0x2f7d93(0x1eb)](projectRuntimeRole),'paging':_0x4ca6b4['paging']}};}};function a52_0x1d4f(){const _0x9334e5=['List\x20runtime\x20roles\x20for\x20the\x20current\x20app','slice','pagesize','Page\x20size\x20from\x201\x20to\x20100','role','Fuzzy\x20role-name\x20filter','--page\x20must\x20be\x20a\x20positive\x20integer.','toUpperCase','12DaQrox','type','str','number','runtime','filter','validation','appCode','Page\x20number','84627EbKMum','112062hWJVQE','isSafeInteger','10801395VawGLG','length','page','Invalid\x20runtime\x20role\x20type:\x20','165hFqTkJ','Runtime\x20role\x20type','items','1070760YFXNNs','string','num','name','1127497LFcUvU','108484tCQuPH','map','includes','1811984uWpnPr'];a52_0x1d4f=function(){return _0x9334e5;};return a52_0x1d4f();}
@@ -1 +1 @@
1
- const a53_0x41d362=a53_0x575d;(function(_0xcaca55,_0x382cdc){const _0x1d0cae=a53_0x575d,_0x5ba1c6=_0xcaca55();while(!![]){try{const _0x2f65f0=-parseInt(_0x1d0cae(0x1bb))/0x1*(parseInt(_0x1d0cae(0x1b1))/0x2)+-parseInt(_0x1d0cae(0x199))/0x3+parseInt(_0x1d0cae(0x186))/0x4+-parseInt(_0x1d0cae(0x194))/0x5*(parseInt(_0x1d0cae(0x18f))/0x6)+parseInt(_0x1d0cae(0x1a3))/0x7+parseInt(_0x1d0cae(0x1ca))/0x8*(-parseInt(_0x1d0cae(0x1a7))/0x9)+parseInt(_0x1d0cae(0x1b9))/0xa*(parseInt(_0x1d0cae(0x1cd))/0xb);if(_0x2f65f0===_0x382cdc)break;else _0x5ba1c6['push'](_0x5ba1c6['shift']());}catch(_0x133695){_0x5ba1c6['push'](_0x5ba1c6['shift']());}}}(a53_0xd773,0xb968a));import{listRuntimeAppUsers,listRuntimeAppRoles,listRuntimeRoleUsers}from'../../core/api-client.js';function a53_0xd773(){const _0x1b20da=['includes','Runtime\x20role\x20ID\x20returned\x20by\x20role\x20list','ADMIN','isSafeInteger','Pass\x20--user\x20<userId>;\x20name\x20and\x20account\x20lookup\x20are\x20not\x20available\x20in\x20runtime\x20scope.','userCount','code','18282900Xbtogv','CUSTOM','57041vgCaIf','\x20was\x20not\x20found\x20in\x20app\x20','validation','test','runtime','Runtime\x20role\x20id\x20','--expect-user-count\x20must\x20be\x20a\x20non-negative\x20integer.','expect-user-count','number','userId','Runtime\x20role\x20membership\x20requires\x20a\x20numeric\x20userId.','flag','User\x20','Only\x20CUSTOM\x20runtime\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','find','8wsoWOH','length','Reject\x20when\x20the\x20target\x20role\x20member\x20count\x20has\x20changed','11tFCyha','4321564rWVVlt','items','OWNER\x20runtime\x20role\x20membership\x20cannot\x20be\x20changed\x20with\x20this\x20command.','Runtime\x20numeric\x20userId','appCode','Runtime\x20user\x20','userList','Cannot\x20','USER','2861076umCMFm','OWNER','Pass\x20--role\x20<id|name>.','Runtime\x20role\x20','Runtime\x20role\x20member\x20count\x20changed:\x20expected\x20','10aGxJdh','string','\x20is\x20not\x20in\x20runtime\x20role\x20','roleType',',\x20found\x20','563403VQCORG','Use\x20a\x20numeric\x20userId\x20returned\x20by\x20the\x20current\x20application\x27s\x20personnel\x20list.','paging','roleName','\x20is\x20missing\x20from\x20the\x20grouped\x20member\x20snapshot.','Transfer\x20or\x20manage\x20application\x20ownership\x20through\x20the\x20dedicated\x20application\x20workflow.','str','map','Missing\x20runtime\x20role\x20reference.','user','5344269MVrsnP','Reload\x20the\x20role\x20list\x20and\x20retry\x20after\x20the\x20server\x20state\x20is\x20consistent.','\x20is\x20already\x20in\x20runtime\x20role\x20','user-add','4646871mtTBJz','applyUserList','role','num','filter','totalCount','Run\x20`lovrabet\x20role\x20list`\x20and\x20use\x20a\x20role\x20from\x20the\x20current\x20app.','trim','userName','push','44ouyHuw'];a53_0xd773=function(){return _0x1b20da;};return a53_0xd773();}import{CliErrors}from'../../errors.js';export const RUNTIME_ROLE_TYPES=[a53_0x41d362(0x1b4),a53_0x41d362(0x18e),a53_0x41d362(0x190),a53_0x41d362(0x1ba)];const BUILTIN_ROLE_TYPES=[a53_0x41d362(0x1b4),a53_0x41d362(0x18e),'OWNER'];export const ROLE_ID_FLAG={'name':'id','type':a53_0x41d362(0x1c3),'required':!![],'description':a53_0x41d362(0x1b3)};export const ROLE_REF_FLAG={'name':a53_0x41d362(0x1a9),'type':a53_0x41d362(0x195),'required':!![],'description':'Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name'};export const USER_ID_FLAG={'name':'user','type':'string','required':!![],'description':a53_0x41d362(0x189)};export const EXPECT_USER_COUNT_FLAG={'name':a53_0x41d362(0x1c2),'type':a53_0x41d362(0x1c3),'description':a53_0x41d362(0x1cc)};export function isBuiltinRuntimeRole(_0x12072f){const _0x137981=a53_0x41d362;return BUILTIN_ROLE_TYPES[_0x137981(0x1b2)](_0x12072f);}export function assertCustomRuntimeRole(_0x4e505f,_0x3fbee4){const _0x4ae143=a53_0x41d362;if(_0x4e505f[_0x4ae143(0x197)]!==_0x4ae143(0x1ba))throw CliErrors['validation'](_0x4ae143(0x18d)+_0x3fbee4+'\x20built-in\x20runtime\x20role\x20'+_0x4e505f['roleName']+'\x20('+_0x4e505f[_0x4ae143(0x197)]+').',_0x4ae143(0x1c8));}export function projectRuntimeRole(_0x249914){const _0x4cdf55=a53_0x41d362;return{'id':_0x249914['id'],'roleName':_0x249914['roleName'],'roleType':_0x249914[_0x4cdf55(0x197)],'remark':_0x249914['remark'],'userCount':_0x249914[_0x4cdf55(0x1b7)]??0x0,'permitCount':_0x249914['permitCount']??0x0,'builtin':isBuiltinRuntimeRole(_0x249914['roleType'])};}function a53_0x575d(_0x1e75f9,_0x338e81){_0x1e75f9=_0x1e75f9-0x186;const _0xd77356=a53_0xd773();let _0x575d22=_0xd77356[_0x1e75f9];return _0x575d22;}export async function getRuntimeRoleById(_0x87e57c,_0x22a3dd){const _0x5d8bce=a53_0x41d362;if(!Number[_0x5d8bce(0x1b5)](_0x22a3dd)||_0x22a3dd<=0x0)throw CliErrors[_0x5d8bce(0x1bd)]('Role\x20ID\x20must\x20be\x20a\x20positive\x20integer.');const _0x3376d7=(await listAllRuntimeRoles(_0x87e57c))[_0x5d8bce(0x1ab)](_0x1c31f3=>_0x1c31f3['id']===_0x22a3dd&&(!_0x1c31f3[_0x5d8bce(0x18a)]||_0x1c31f3[_0x5d8bce(0x18a)]===_0x87e57c));if(_0x3376d7[_0x5d8bce(0x1cb)]!==0x1)throw CliErrors[_0x5d8bce(0x1bd)](_0x5d8bce(0x1c0)+_0x22a3dd+_0x5d8bce(0x1bc)+_0x87e57c+'.',_0x5d8bce(0x1ad));return _0x3376d7[0x0];}export async function listAllRuntimeRoles(_0x625e40,_0x134c4b={}){const _0x5a09a2=a53_0x41d362,_0x38d04b=0x64,_0x556348=[];for(let _0x1ed5b8=0x1;;_0x1ed5b8+=0x1){const _0x28ff6a=await listRuntimeAppRoles(_0x625e40,{..._0x134c4b[_0x5a09a2(0x19c)]?{'roleName':_0x134c4b[_0x5a09a2(0x19c)]}:{},'currentPage':_0x1ed5b8,'pageSize':_0x38d04b});_0x556348[_0x5a09a2(0x1b0)](..._0x28ff6a[_0x5a09a2(0x187)]);if(_0x28ff6a[_0x5a09a2(0x187)][_0x5a09a2(0x1cb)]<_0x38d04b||_0x28ff6a['paging']&&_0x556348[_0x5a09a2(0x1cb)]>=_0x28ff6a[_0x5a09a2(0x19b)][_0x5a09a2(0x1ac)])return _0x556348;}}export async function resolveRuntimeRoleRef(_0xdd46d0,_0x7f7b88){const _0x13a5bb=a53_0x41d362,_0x3255bf=_0x7f7b88[_0x13a5bb(0x1ae)]();if(!_0x3255bf)throw CliErrors[_0x13a5bb(0x1bd)](_0x13a5bb(0x1a1),_0x13a5bb(0x191));if(/^\d+$/[_0x13a5bb(0x1be)](_0x3255bf))return getRuntimeRoleById(_0xdd46d0,Number(_0x3255bf));const _0x2badb6=(await listAllRuntimeRoles(_0xdd46d0))[_0x13a5bb(0x1ab)](_0x2d1e92=>_0x2d1e92['roleName']===_0x3255bf);if(_0x2badb6[_0x13a5bb(0x1cb)]===0x0)throw CliErrors[_0x13a5bb(0x1bd)]('Runtime\x20role\x20name\x20\x22'+_0x3255bf+'\x22\x20was\x20not\x20found\x20in\x20app\x20'+_0xdd46d0+'.','Run\x20`lovrabet\x20role\x20list`\x20or\x20pass\x20--role\x20<id>.');if(_0x2badb6['length']>0x1)throw CliErrors[_0x13a5bb(0x1bd)]('Runtime\x20role\x20name\x20\x22'+_0x3255bf+'\x22\x20is\x20ambiguous.','Pass\x20one\x20role\x20ID:\x20'+_0x2badb6[_0x13a5bb(0x1a0)](_0x4e9541=>_0x4e9541['id'])['join'](',\x20')+'.');return _0x2badb6[0x0];}function parseRuntimeUserId(_0x2d3bc0){const _0x2b14a7=a53_0x41d362,_0x3f8995=_0x2d3bc0['trim']();if(!/^\d+$/[_0x2b14a7(0x1be)](_0x3f8995))throw CliErrors[_0x2b14a7(0x1bd)](_0x2b14a7(0x1c5),_0x2b14a7(0x1b6));const _0xafc7ff=Number(_0x3f8995);if(!Number[_0x2b14a7(0x1b5)](_0xafc7ff)||_0xafc7ff<=0x0)throw CliErrors[_0x2b14a7(0x1bd)]('Runtime\x20userId\x20must\x20be\x20a\x20positive\x20safe\x20integer.');return _0xafc7ff;}export async function prepareRuntimeMemberMutation(_0x26e9d0,_0x26b93e){const _0x3a5635=a53_0x41d362,_0x2cbe99=await resolveRuntimeRoleRef(_0x26e9d0['appCode'],_0x26e9d0[_0x3a5635(0x19f)]('role'));if(_0x2cbe99[_0x3a5635(0x197)]==='OWNER')throw CliErrors[_0x3a5635(0x1bd)](_0x3a5635(0x188),_0x3a5635(0x19e));const _0x3b1b83=parseRuntimeUserId(_0x26e9d0['str'](_0x3a5635(0x1a2))),_0x1b4b68=(await listRuntimeRoleUsers(_0x26e9d0[_0x3a5635(0x18a)]))[_0x3a5635(0x1a0)](_0x3676e6=>({..._0x3676e6,'userList':[..._0x3676e6['userList']??[]],'applyUserList':[..._0x3676e6[_0x3a5635(0x1a8)]??[]]})),_0x559f27=_0x1b4b68[_0x3a5635(0x1c9)](_0x5980c2=>_0x5980c2['id']===_0x2cbe99['id']);if(!_0x559f27)throw CliErrors[_0x3a5635(0x1bd)](_0x3a5635(0x192)+_0x2cbe99['id']+_0x3a5635(0x19d),_0x3a5635(0x1a4));const _0x1ebdf7=_0x559f27[_0x3a5635(0x18c)][_0x3a5635(0x1a0)](_0x3f4d9a=>_0x3f4d9a[_0x3a5635(0x1c4)]),_0x1c2e1c=_0x26e9d0[_0x3a5635(0x1c6)](_0x3a5635(0x1c2));if(_0x1c2e1c!==undefined&&_0x1c2e1c!==null&&_0x1c2e1c!==''){const _0x2a6290=_0x26e9d0[_0x3a5635(0x1aa)]('expect-user-count');if(!Number['isSafeInteger'](_0x2a6290)||_0x2a6290<0x0)throw CliErrors[_0x3a5635(0x1bd)](_0x3a5635(0x1c1));if(_0x1ebdf7[_0x3a5635(0x1cb)]!==_0x2a6290)throw CliErrors[_0x3a5635(0x1bd)](_0x3a5635(0x193)+_0x2a6290+_0x3a5635(0x198)+_0x1ebdf7[_0x3a5635(0x1cb)]+'.','Read\x20the\x20current\x20members\x20and\x20retry\x20with\x20the\x20new\x20expected\x20count.');}const _0x1da287=_0x1ebdf7[_0x3a5635(0x1b2)](_0x3b1b83),_0x530552=[];let _0x1c288f=!![];if(_0x26b93e===_0x3a5635(0x1a6)){const _0xe5a78f=await listRuntimeAppUsers(_0x26e9d0[_0x3a5635(0x18a)]),_0x209cd2=_0xe5a78f['filter'](_0x4de4b1=>Number(_0x4de4b1[_0x3a5635(0x1b8)])===_0x3b1b83);if(_0x209cd2[_0x3a5635(0x1cb)]!==0x1||!_0x209cd2[0x0]['userName']?.['trim']())throw CliErrors['validation'](_0x3a5635(0x18b)+_0x3b1b83+_0x3a5635(0x1bc)+_0x26e9d0[_0x3a5635(0x18a)]+'.',_0x3a5635(0x19a));_0x1da287?(_0x1c288f=![],_0x530552[_0x3a5635(0x1b0)](_0x3a5635(0x1c7)+_0x3b1b83+_0x3a5635(0x1a5)+_0x2cbe99['id']+'.')):_0x559f27[_0x3a5635(0x18c)][_0x3a5635(0x1b0)]({'userId':_0x3b1b83,'username':_0x209cd2[0x0][_0x3a5635(0x1af)]});}else!_0x1da287?(_0x1c288f=![],_0x530552[_0x3a5635(0x1b0)](_0x3a5635(0x1c7)+_0x3b1b83+_0x3a5635(0x196)+_0x2cbe99['id']+'.')):_0x559f27[_0x3a5635(0x18c)]=_0x559f27['userList']['filter'](_0x3947e2=>_0x3947e2[_0x3a5635(0x1c4)]!==_0x3b1b83);return{'role':_0x2cbe99,'userId':_0x3b1b83,'roleList':_0x1b4b68,'before':{'userIds':_0x1ebdf7},'after':{'userIds':_0x559f27[_0x3a5635(0x18c)][_0x3a5635(0x1a0)](_0x1625ed=>_0x1625ed[_0x3a5635(0x1c4)])},'shouldWrite':_0x1c288f,'warnings':_0x530552};}export function runtimeRoleWriteResult(_0x2d9f73,_0x173eb7,_0x24d93c,_0x1325bc,_0x1d6b18,_0x476efc=[]){const _0x56bb29=a53_0x41d362;return{'operation':_0x2d9f73,'scope':_0x56bb29(0x1bf),'selector':_0x173eb7,'before':_0x24d93c,'after':_0x1325bc,'dryRun':![],'backend':_0x1d6b18,'warnings':_0x476efc};}
1
+ const a53_0xfedf7b=a53_0x1676;(function(_0x325db4,_0x3f85f0){const _0xb6ab4b=a53_0x1676,_0x51254f=_0x325db4();while(!![]){try{const _0x1b50c3=parseInt(_0xb6ab4b(0x1f0))/0x1+-parseInt(_0xb6ab4b(0x1ea))/0x2*(-parseInt(_0xb6ab4b(0x1d3))/0x3)+-parseInt(_0xb6ab4b(0x1e7))/0x4*(-parseInt(_0xb6ab4b(0x1fd))/0x5)+parseInt(_0xb6ab4b(0x1ed))/0x6+parseInt(_0xb6ab4b(0x1ee))/0x7*(-parseInt(_0xb6ab4b(0x202))/0x8)+parseInt(_0xb6ab4b(0x1d0))/0x9+parseInt(_0xb6ab4b(0x1c5))/0xa*(-parseInt(_0xb6ab4b(0x1c2))/0xb);if(_0x1b50c3===_0x3f85f0)break;else _0x51254f['push'](_0x51254f['shift']());}catch(_0x5bd28b){_0x51254f['push'](_0x51254f['shift']());}}}(a53_0x2ca1,0xd4442));import{listRuntimeAppUsers,listRuntimeAppRoles,listRuntimeRoleUsers}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';export const RUNTIME_ROLE_TYPES=[a53_0xfedf7b(0x1dc),a53_0xfedf7b(0x1eb),a53_0xfedf7b(0x1de),a53_0xfedf7b(0x1c0)];const BUILTIN_ROLE_TYPES=[a53_0xfedf7b(0x1dc),'USER',a53_0xfedf7b(0x1de)];export const ROLE_ID_FLAG={'name':'id','type':'number','required':!![],'description':'Runtime\x20role\x20ID\x20returned\x20by\x20role\x20list'};export const ROLE_REF_FLAG={'name':'role','type':a53_0xfedf7b(0x1e8),'required':!![],'description':a53_0xfedf7b(0x1c6)};function a53_0x1676(_0x182d03,_0x1068da){_0x182d03=_0x182d03-0x1bb;const _0x2ca1bb=a53_0x2ca1();let _0x1676cf=_0x2ca1bb[_0x182d03];return _0x1676cf;}export const USER_ID_FLAG={'name':a53_0xfedf7b(0x1e5),'type':'string','required':!![],'description':'Runtime\x20numeric\x20userId'};export const EXPECT_USER_COUNT_FLAG={'name':a53_0xfedf7b(0x1c3),'type':a53_0xfedf7b(0x1f4),'description':'Reject\x20when\x20the\x20target\x20role\x20member\x20count\x20has\x20changed'};export function isBuiltinRuntimeRole(_0x495023){return BUILTIN_ROLE_TYPES['includes'](_0x495023);}export function assertCustomRuntimeRole(_0x3117fb,_0x2eca82){const _0x2d935d=a53_0xfedf7b;if(_0x3117fb[_0x2d935d(0x1c4)]!==_0x2d935d(0x1c0))throw CliErrors[_0x2d935d(0x1f5)]('Cannot\x20'+_0x2eca82+'\x20built-in\x20runtime\x20role\x20'+_0x3117fb[_0x2d935d(0x1f1)]+'\x20('+_0x3117fb[_0x2d935d(0x1c4)]+').',_0x2d935d(0x1d4));}export function projectRuntimeRole(_0x382ead){const _0xcf0621=a53_0xfedf7b;return{'id':_0x382ead['id'],'roleName':_0x382ead[_0xcf0621(0x1f1)],'roleType':_0x382ead[_0xcf0621(0x1c4)],'remark':_0x382ead[_0xcf0621(0x1fe)],'userCount':_0x382ead[_0xcf0621(0x1e0)]??0x0,'permitCount':_0x382ead[_0xcf0621(0x1df)]??0x0,'builtin':isBuiltinRuntimeRole(_0x382ead[_0xcf0621(0x1c4)])};}export async function getRuntimeRoleById(_0x4373bb,_0x19f2aa){const _0x5b8607=a53_0xfedf7b;if(!Number[_0x5b8607(0x1f9)](_0x19f2aa)||_0x19f2aa<=0x0)throw CliErrors[_0x5b8607(0x1f5)](_0x5b8607(0x1d5));const _0x1d7831=(await listAllRuntimeRoles(_0x4373bb))[_0x5b8607(0x1ce)](_0x11a6a6=>_0x11a6a6['id']===_0x19f2aa&&(!_0x11a6a6[_0x5b8607(0x1d1)]||_0x11a6a6[_0x5b8607(0x1d1)]===_0x4373bb));if(_0x1d7831[_0x5b8607(0x1ca)]!==0x1)throw CliErrors[_0x5b8607(0x1f5)](_0x5b8607(0x1cf)+_0x19f2aa+_0x5b8607(0x1ef)+_0x4373bb+'.',_0x5b8607(0x1f7));return _0x1d7831[0x0];}export async function listAllRuntimeRoles(_0x57d628,_0x261655={}){const _0x37c9c7=a53_0xfedf7b,_0x1a3dac=0x64,_0x303b6f=[];for(let _0x3fc5b6=0x1;;_0x3fc5b6+=0x1){const _0x1c2877=await listRuntimeAppRoles(_0x57d628,{..._0x261655[_0x37c9c7(0x1f1)]?{'roleName':_0x261655[_0x37c9c7(0x1f1)]}:{},'currentPage':_0x3fc5b6,'pageSize':_0x1a3dac});_0x303b6f['push'](..._0x1c2877[_0x37c9c7(0x1e9)]);if(_0x1c2877[_0x37c9c7(0x1e9)][_0x37c9c7(0x1ca)]<_0x1a3dac||_0x1c2877[_0x37c9c7(0x1cd)]&&_0x303b6f[_0x37c9c7(0x1ca)]>=_0x1c2877[_0x37c9c7(0x1cd)][_0x37c9c7(0x200)])return _0x303b6f;}}function a53_0x2ca1(){const _0x20f89b=['User\x20','paging','filter','Runtime\x20role\x20id\x20','1225431kSpisJ','appCode','join','6087tuFYjI','Only\x20CUSTOM\x20runtime\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Role\x20ID\x20must\x20be\x20a\x20positive\x20integer.','Runtime\x20userId\x20must\x20be\x20a\x20positive\x20safe\x20integer.','Run\x20`lovrabet\x20role\x20list`\x20or\x20pass\x20--role\x20<id>.','Runtime\x20role\x20member\x20count\x20changed:\x20expected\x20','Use\x20a\x20numeric\x20userId\x20returned\x20by\x20the\x20current\x20application\x27s\x20personnel\x20list.','map','str','ADMIN','Transfer\x20or\x20manage\x20application\x20ownership\x20through\x20the\x20dedicated\x20application\x20workflow.','OWNER','permitCount','userCount','push','role','find','code','user','Runtime\x20role\x20membership\x20requires\x20a\x20numeric\x20userId.','522748wzVorZ','string','items','1678OUiAPS','USER','trim','7366140eYBBfu','11090149UIYcQG','\x20was\x20not\x20found\x20in\x20app\x20','1262136Lntbtg','roleName','\x20is\x20not\x20in\x20runtime\x20role\x20','runtime','number','validation','num','Run\x20`lovrabet\x20role\x20list`\x20and\x20use\x20a\x20role\x20from\x20the\x20current\x20app.','\x20is\x20missing\x20from\x20the\x20grouped\x20member\x20snapshot.','isSafeInteger','user-add','Runtime\x20role\x20','Runtime\x20role\x20name\x20\x22','20MxAxbJ','remark','test','totalCount','applyUserList','8djpJuK','Pass\x20--role\x20<id|name>.','\x22\x20is\x20ambiguous.','Pass\x20--user\x20<userId>;\x20name\x20and\x20account\x20lookup\x20are\x20not\x20available\x20in\x20runtime\x20scope.','userList','userName','userId','CUSTOM','\x22\x20was\x20not\x20found\x20in\x20app\x20','3905RyznTY','expect-user-count','roleType','67530LBROxF','Runtime\x20role\x20ID\x20or\x20exact\x20role\x20name',',\x20found\x20','Runtime\x20user\x20','\x20is\x20already\x20in\x20runtime\x20role\x20','length','includes'];a53_0x2ca1=function(){return _0x20f89b;};return a53_0x2ca1();}export async function resolveRuntimeRoleRef(_0x5ea4af,_0x297aed){const _0x14a9a7=a53_0xfedf7b,_0x302a5e=_0x297aed[_0x14a9a7(0x1ec)]();if(!_0x302a5e)throw CliErrors[_0x14a9a7(0x1f5)]('Missing\x20runtime\x20role\x20reference.',_0x14a9a7(0x203));if(/^\d+$/[_0x14a9a7(0x1ff)](_0x302a5e))return getRuntimeRoleById(_0x5ea4af,Number(_0x302a5e));const _0x1f4a95=(await listAllRuntimeRoles(_0x5ea4af))[_0x14a9a7(0x1ce)](_0x44fdd0=>_0x44fdd0[_0x14a9a7(0x1f1)]===_0x302a5e);if(_0x1f4a95[_0x14a9a7(0x1ca)]===0x0)throw CliErrors[_0x14a9a7(0x1f5)](_0x14a9a7(0x1fc)+_0x302a5e+_0x14a9a7(0x1c1)+_0x5ea4af+'.',_0x14a9a7(0x1d7));if(_0x1f4a95[_0x14a9a7(0x1ca)]>0x1)throw CliErrors['validation'](_0x14a9a7(0x1fc)+_0x302a5e+_0x14a9a7(0x1bb),'Pass\x20one\x20role\x20ID:\x20'+_0x1f4a95[_0x14a9a7(0x1da)](_0x48dac4=>_0x48dac4['id'])[_0x14a9a7(0x1d2)](',\x20')+'.');return _0x1f4a95[0x0];}function parseRuntimeUserId(_0x1e685d){const _0x57f7fa=a53_0xfedf7b,_0x2928fd=_0x1e685d[_0x57f7fa(0x1ec)]();if(!/^\d+$/[_0x57f7fa(0x1ff)](_0x2928fd))throw CliErrors[_0x57f7fa(0x1f5)](_0x57f7fa(0x1e6),_0x57f7fa(0x1bc));const _0x571c4e=Number(_0x2928fd);if(!Number['isSafeInteger'](_0x571c4e)||_0x571c4e<=0x0)throw CliErrors[_0x57f7fa(0x1f5)](_0x57f7fa(0x1d6));return _0x571c4e;}export async function prepareRuntimeMemberMutation(_0x5f2e96,_0x15161b){const _0x11985f=a53_0xfedf7b,_0x5d20b3=await resolveRuntimeRoleRef(_0x5f2e96[_0x11985f(0x1d1)],_0x5f2e96[_0x11985f(0x1db)](_0x11985f(0x1e2)));if(_0x5d20b3['roleType']===_0x11985f(0x1de))throw CliErrors[_0x11985f(0x1f5)]('OWNER\x20runtime\x20role\x20membership\x20cannot\x20be\x20changed\x20with\x20this\x20command.',_0x11985f(0x1dd));const _0x508d7f=parseRuntimeUserId(_0x5f2e96[_0x11985f(0x1db)](_0x11985f(0x1e5))),_0x38b3c7=(await listRuntimeRoleUsers(_0x5f2e96['appCode']))['map'](_0x29df35=>({..._0x29df35,'userList':[..._0x29df35[_0x11985f(0x1bd)]??[]],'applyUserList':[..._0x29df35[_0x11985f(0x201)]??[]]})),_0x5ac155=_0x38b3c7[_0x11985f(0x1e3)](_0x1d0628=>_0x1d0628['id']===_0x5d20b3['id']);if(!_0x5ac155)throw CliErrors['validation'](_0x11985f(0x1fb)+_0x5d20b3['id']+_0x11985f(0x1f8),'Reload\x20the\x20role\x20list\x20and\x20retry\x20after\x20the\x20server\x20state\x20is\x20consistent.');const _0x2a3a77=_0x5ac155[_0x11985f(0x1bd)][_0x11985f(0x1da)](_0x3b7b4d=>_0x3b7b4d['userId']),_0x24b304=_0x5f2e96['flag']('expect-user-count');if(_0x24b304!==undefined&&_0x24b304!==null&&_0x24b304!==''){const _0xee61e2=_0x5f2e96[_0x11985f(0x1f6)](_0x11985f(0x1c3));if(!Number[_0x11985f(0x1f9)](_0xee61e2)||_0xee61e2<0x0)throw CliErrors[_0x11985f(0x1f5)]('--expect-user-count\x20must\x20be\x20a\x20non-negative\x20integer.');if(_0x2a3a77[_0x11985f(0x1ca)]!==_0xee61e2)throw CliErrors[_0x11985f(0x1f5)](_0x11985f(0x1d8)+_0xee61e2+_0x11985f(0x1c7)+_0x2a3a77['length']+'.','Read\x20the\x20current\x20members\x20and\x20retry\x20with\x20the\x20new\x20expected\x20count.');}const _0x3bf420=_0x2a3a77[_0x11985f(0x1cb)](_0x508d7f),_0x54e781=[];let _0x232540=!![];if(_0x15161b===_0x11985f(0x1fa)){const _0x1622ac=await listRuntimeAppUsers(_0x5f2e96[_0x11985f(0x1d1)]),_0x5d6316=_0x1622ac[_0x11985f(0x1ce)](_0x13ca54=>Number(_0x13ca54[_0x11985f(0x1e4)])===_0x508d7f);if(_0x5d6316[_0x11985f(0x1ca)]!==0x1||!_0x5d6316[0x0][_0x11985f(0x1be)]?.['trim']())throw CliErrors[_0x11985f(0x1f5)](_0x11985f(0x1c8)+_0x508d7f+_0x11985f(0x1ef)+_0x5f2e96[_0x11985f(0x1d1)]+'.',_0x11985f(0x1d9));_0x3bf420?(_0x232540=![],_0x54e781[_0x11985f(0x1e1)](_0x11985f(0x1cc)+_0x508d7f+_0x11985f(0x1c9)+_0x5d20b3['id']+'.')):_0x5ac155[_0x11985f(0x1bd)]['push']({'userId':_0x508d7f,'username':_0x5d6316[0x0][_0x11985f(0x1be)]});}else!_0x3bf420?(_0x232540=![],_0x54e781[_0x11985f(0x1e1)](_0x11985f(0x1cc)+_0x508d7f+_0x11985f(0x1f2)+_0x5d20b3['id']+'.')):_0x5ac155['userList']=_0x5ac155[_0x11985f(0x1bd)][_0x11985f(0x1ce)](_0xd7d8ef=>_0xd7d8ef[_0x11985f(0x1bf)]!==_0x508d7f);return{'role':_0x5d20b3,'userId':_0x508d7f,'roleList':_0x38b3c7,'before':{'userIds':_0x2a3a77},'after':{'userIds':_0x5ac155[_0x11985f(0x1bd)][_0x11985f(0x1da)](_0x53ef57=>_0x53ef57[_0x11985f(0x1bf)])},'shouldWrite':_0x232540,'warnings':_0x54e781};}export function runtimeRoleWriteResult(_0x27d917,_0x1c1b73,_0x32a21e,_0x3bc02b,_0x15bf08,_0x32ee36=[]){const _0x5c2bbb=a53_0xfedf7b;return{'operation':_0x27d917,'scope':_0x5c2bbb(0x1f3),'selector':_0x1c1b73,'before':_0x32a21e,'after':_0x3bc02b,'dryRun':![],'backend':_0x15bf08,'warnings':_0x32ee36};}
@@ -1 +1 @@
1
- function a54_0x2c17(){const _0x33f392=['The\x20current\x20runtime\x20role\x20API\x20does\x20not\x20support\x20clearing\x20an\x20existing\x20remark.','--name\x20must\x20not\x20be\x20blank.','2cPWZoF','1353789AfcYcu','5kDkBLd','num','Preview:\x20update\x20a\x20runtime\x20CUSTOM\x20role','6817632CfsjxH','New\x20non-empty\x20role\x20remark','build','remark','name','update','/client/permit/role/update','Pass\x20--name\x20or\x20--remark\x20to\x20update\x20the\x20runtime\x20role.','New\x20role\x20name','description','string','12SkzGDy','243489hdRWMy','108HmNmLc','POST','3988NZVAtd','appCode','756077yRHpbe','40oabuWs','trim','role','3487908wIaXYA','high-risk-write','2139973SxJsJP','str','--remark\x20must\x20not\x20be\x20blank.','validation','body','flag','修改当前运行应用中的自定义角色名称或备注;变更会立即影响角色展示。'];a54_0x2c17=function(){return _0x33f392;};return a54_0x2c17();}const a54_0x19216b=a54_0x3ad9;(function(_0x2b6ef8,_0x386a97){const _0x6655ec=a54_0x3ad9,_0x181195=_0x2b6ef8();while(!![]){try{const _0x94976a=-parseInt(_0x6655ec(0x174))/0x1*(parseInt(_0x6655ec(0x188))/0x2)+-parseInt(_0x6655ec(0x175))/0x3*(parseInt(_0x6655ec(0x177))/0x4)+parseInt(_0x6655ec(0x18a))/0x5*(parseInt(_0x6655ec(0x17d))/0x6)+parseInt(_0x6655ec(0x179))/0x7+parseInt(_0x6655ec(0x18d))/0x8+parseInt(_0x6655ec(0x189))/0x9*(-parseInt(_0x6655ec(0x17a))/0xa)+parseInt(_0x6655ec(0x17f))/0xb*(-parseInt(_0x6655ec(0x173))/0xc);if(_0x94976a===_0x386a97)break;else _0x181195['push'](_0x181195['shift']());}catch(_0x1cdd3d){_0x181195['push'](_0x181195['shift']());}}}(a54_0x2c17,0x71c05));import{updateRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a54_0x3ad9(_0x30edd4,_0x53330f){_0x30edd4=_0x30edd4-0x169;const _0x2c17f7=a54_0x2c17();let _0x3ad92b=_0x2c17f7[_0x30edd4];return _0x3ad92b;}import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function updateFields(_0x256d73){const _0x3cf6a6=a54_0x3ad9,_0x50b2f8=_0x256d73['flag']('name')!==undefined,_0x43e3bb=_0x256d73[_0x3cf6a6(0x184)](_0x3cf6a6(0x16b))!==undefined;if(!_0x50b2f8&&!_0x43e3bb)throw CliErrors[_0x3cf6a6(0x182)](_0x3cf6a6(0x16f));const _0x104da7=_0x256d73[_0x3cf6a6(0x180)](_0x3cf6a6(0x16c))['trim'](),_0x4e5066=_0x256d73[_0x3cf6a6(0x180)](_0x3cf6a6(0x16b))[_0x3cf6a6(0x17b)]();if(_0x50b2f8&&!_0x104da7)throw CliErrors[_0x3cf6a6(0x182)](_0x3cf6a6(0x187));if(_0x43e3bb&&!_0x4e5066)throw CliErrors[_0x3cf6a6(0x182)](_0x3cf6a6(0x181),_0x3cf6a6(0x186));return{..._0x50b2f8?{'roleName':_0x104da7}:{},..._0x43e3bb?{'remark':_0x4e5066}:{}};}async function prepare(_0x152dcd){const _0x5b7b72=a54_0x3ad9,_0x90b41=await getRuntimeRoleById(_0x152dcd['appCode'],_0x152dcd[_0x5b7b72(0x18b)]('id'));return assertCustomRuntimeRole(_0x90b41,'update'),{'role':_0x90b41,'body':{'id':_0x90b41['id'],'appCode':_0x152dcd[_0x5b7b72(0x178)],...updateFields(_0x152dcd)}};}export const roleUpdate={'service':a54_0x19216b(0x17c),'command':a54_0x19216b(0x16d),'description':'Update\x20a\x20runtime\x20CUSTOM\x20role','risk':a54_0x19216b(0x17e),'confirmationDescription':a54_0x19216b(0x185),'flags':[ROLE_ID_FLAG,{'name':a54_0x19216b(0x16c),'type':a54_0x19216b(0x172),'description':a54_0x19216b(0x170)},{'name':a54_0x19216b(0x16b),'type':'string','description':a54_0x19216b(0x169)}],async 'validate'(_0x2b985c){updateFields(_0x2b985c);},async 'dryRun'(_0x3af87c){const _0x58d409=a54_0x19216b,{body:_0x469065}=await prepare(_0x3af87c);return dryRun(_0x58d409(0x176),_0x58d409(0x16e))[_0x58d409(0x183)](_0x469065)[_0x58d409(0x171)](_0x58d409(0x18c))[_0x58d409(0x16a)]();},async 'execute'(_0x390a2d){const _0x40c938=a54_0x19216b,{role:_0x48208a,body:_0x3deac6}=await prepare(_0x390a2d),_0x5d2b3f=await updateRuntimeAppRole(_0x3deac6);return{'ok':!![],'data':runtimeRoleWriteResult(_0x40c938(0x16d),{'roleId':_0x48208a['id']},projectRuntimeRole(_0x48208a),projectRuntimeRole(_0x5d2b3f),{'method':_0x40c938(0x176),'path':_0x40c938(0x16e)})};}};
1
+ const a54_0x3a4ea8=a54_0x4284;(function(_0x52eb05,_0x4cb8a8){const _0x5d7908=a54_0x4284,_0x4151fa=_0x52eb05();while(!![]){try{const _0x46109f=-parseInt(_0x5d7908(0x9d))/0x1*(parseInt(_0x5d7908(0xb4))/0x2)+parseInt(_0x5d7908(0xb8))/0x3+-parseInt(_0x5d7908(0xb1))/0x4*(parseInt(_0x5d7908(0xa1))/0x5)+-parseInt(_0x5d7908(0xa8))/0x6+-parseInt(_0x5d7908(0xa3))/0x7*(parseInt(_0x5d7908(0xa6))/0x8)+parseInt(_0x5d7908(0xa2))/0x9*(parseInt(_0x5d7908(0xa9))/0xa)+parseInt(_0x5d7908(0xb5))/0xb;if(_0x46109f===_0x4cb8a8)break;else _0x4151fa['push'](_0x4151fa['shift']());}catch(_0x46ef9e){_0x4151fa['push'](_0x4151fa['shift']());}}}(a54_0x3ed6,0x1e85b));import{updateRuntimeAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';import{assertCustomRuntimeRole,getRuntimeRoleById,projectRuntimeRole,ROLE_ID_FLAG,runtimeRoleWriteResult}from'../../commands/role/shared.js';function a54_0x4284(_0x51c895,_0x56c23a){_0x51c895=_0x51c895-0x9d;const _0x3ed684=a54_0x3ed6();let _0x4284da=_0x3ed684[_0x51c895];return _0x4284da;}function updateFields(_0x317702){const _0x51e4ee=a54_0x4284,_0x49eaec=_0x317702[_0x51e4ee(0xb6)]('name')!==undefined,_0x132aff=_0x317702['flag'](_0x51e4ee(0xa4))!==undefined;if(!_0x49eaec&&!_0x132aff)throw CliErrors[_0x51e4ee(0xb2)]('Pass\x20--name\x20or\x20--remark\x20to\x20update\x20the\x20runtime\x20role.');const _0x1f33db=_0x317702[_0x51e4ee(0xab)](_0x51e4ee(0xa7))[_0x51e4ee(0xb7)](),_0x517cb2=_0x317702[_0x51e4ee(0xab)](_0x51e4ee(0xa4))[_0x51e4ee(0xb7)]();if(_0x49eaec&&!_0x1f33db)throw CliErrors['validation'](_0x51e4ee(0xb9));if(_0x132aff&&!_0x517cb2)throw CliErrors[_0x51e4ee(0xb2)](_0x51e4ee(0xaa),'The\x20current\x20runtime\x20role\x20API\x20does\x20not\x20support\x20clearing\x20an\x20existing\x20remark.');return{..._0x49eaec?{'roleName':_0x1f33db}:{},..._0x132aff?{'remark':_0x517cb2}:{}};}async function prepare(_0x3d1010){const _0x1961ed=a54_0x4284,_0x279c7b=await getRuntimeRoleById(_0x3d1010[_0x1961ed(0xad)],_0x3d1010[_0x1961ed(0xb0)]('id'));return assertCustomRuntimeRole(_0x279c7b,_0x1961ed(0xa0)),{'role':_0x279c7b,'body':{'id':_0x279c7b['id'],'appCode':_0x3d1010['appCode'],...updateFields(_0x3d1010)}};}export const roleUpdate={'service':a54_0x3a4ea8(0x9f),'command':'update','description':'Update\x20a\x20runtime\x20CUSTOM\x20role','risk':a54_0x3a4ea8(0xb3),'confirmationDescription':a54_0x3a4ea8(0xaf),'flags':[ROLE_ID_FLAG,{'name':'name','type':a54_0x3a4ea8(0xae),'description':a54_0x3a4ea8(0xa5)},{'name':a54_0x3a4ea8(0xa4),'type':'string','description':'New\x20non-empty\x20role\x20remark'}],async 'validate'(_0x17453c){updateFields(_0x17453c);},async 'dryRun'(_0x520479){const _0x35ab91=a54_0x3a4ea8,{body:_0x57e121}=await prepare(_0x520479);return dryRun(_0x35ab91(0x9e),_0x35ab91(0xac))['body'](_0x57e121)['description']('Preview:\x20update\x20a\x20runtime\x20CUSTOM\x20role')['build']();},async 'execute'(_0x51e4c0){const _0x1ca48e=a54_0x3a4ea8,{role:_0x415667,body:_0x5dc6f8}=await prepare(_0x51e4c0),_0x5c1b1f=await updateRuntimeAppRole(_0x5dc6f8);return{'ok':!![],'data':runtimeRoleWriteResult(_0x1ca48e(0xa0),{'roleId':_0x415667['id']},projectRuntimeRole(_0x415667),projectRuntimeRole(_0x5c1b1f),{'method':'POST','path':_0x1ca48e(0xac)})};}};function a54_0x3ed6(){const _0x254d99=['修改当前运行应用中的自定义角色名称或备注;变更会立即影响角色展示。','num','300bKTsbB','validation','high-risk-write','2oVnXxS','5485359xzBnDT','flag','trim','182538gZNjRg','--name\x20must\x20not\x20be\x20blank.','31553yZVfOW','POST','role','update','16090YyzRgl','18JFBtiF','7HecFyQ','remark','New\x20role\x20name','1150728uXKCKc','name','964164YXxHLX','714710TIjIsy','--remark\x20must\x20not\x20be\x20blank.','str','/client/permit/role/update','appCode','string'];a54_0x3ed6=function(){return _0x254d99;};return a54_0x3ed6();}
@@ -1 +1 @@
1
- const a55_0x3c9f04=a55_0x6e8c;(function(_0x5b23ca,_0x5a84af){const _0x58eecc=a55_0x6e8c,_0x5f050b=_0x5b23ca();while(!![]){try{const _0x1ebd55=parseInt(_0x58eecc(0xa7))/0x1+parseInt(_0x58eecc(0xa8))/0x2+-parseInt(_0x58eecc(0xaf))/0x3*(parseInt(_0x58eecc(0xad))/0x4)+parseInt(_0x58eecc(0xbe))/0x5*(parseInt(_0x58eecc(0xb0))/0x6)+parseInt(_0x58eecc(0xba))/0x7*(-parseInt(_0x58eecc(0xb8))/0x8)+-parseInt(_0x58eecc(0xc0))/0x9+parseInt(_0x58eecc(0xa9))/0xa;if(_0x1ebd55===_0x5a84af)break;else _0x5f050b['push'](_0x5f050b['shift']());}catch(_0x28773c){_0x5f050b['push'](_0x5f050b['shift']());}}}(a55_0x58fa,0x5b58c));function a55_0x6e8c(_0x36de80,_0x38174f){_0x36de80=_0x36de80-0xa7;const _0x58fab9=a55_0x58fa();let _0x6e8cb7=_0x58fab9[_0x36de80];return _0x6e8cb7;}import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';function a55_0x58fa(){const _0x5c3a13=['user-add','298434pVzpdM','65298FhJnWg','before','Preview:\x20add\x20runtime\x20role\x20member','POST','high-risk-write','把指定运行用户加入目标角色;该用户将获得该角色对应的运行权限。','roleList','body','8jTHiSy','role','5063947bOGexB','warnings','shouldWrite','description','220embXTQ','Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','3601584XmTZSj','appCode','9991QxHVIS','538806jKARex','13363750TXgwDJ','build','userId','/client/permit/user-role/update-user-list','24aHaOJs'];a55_0x58fa=function(){return _0x5c3a13;};return a55_0x58fa();}export const roleUserAdd={'service':a55_0x3c9f04(0xb9),'command':a55_0x3c9f04(0xae),'description':a55_0x3c9f04(0xbf),'risk':a55_0x3c9f04(0xb4),'confirmationDescription':a55_0x3c9f04(0xb5),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x1bbb03){const _0x4c1ef6=a55_0x3c9f04,_0x49aee4=await prepareRuntimeMemberMutation(_0x1bbb03,'user-add');return dryRun('POST',_0x4c1ef6(0xac))[_0x4c1ef6(0xb7)]({'appCode':_0x1bbb03[_0x4c1ef6(0xc1)],'roleList':_0x49aee4[_0x4c1ef6(0xb6)]})[_0x4c1ef6(0xbd)](_0x49aee4[_0x4c1ef6(0xbc)]?_0x4c1ef6(0xb2):_0x49aee4[_0x4c1ef6(0xbb)][0x0])[_0x4c1ef6(0xaa)]();},async 'execute'(_0x5e3981){const _0x10eaec=a55_0x3c9f04,_0x573a60=await prepareRuntimeMemberMutation(_0x5e3981,_0x10eaec(0xae));return _0x573a60[_0x10eaec(0xbc)]&&await updateRuntimeRoleUsers(_0x5e3981[_0x10eaec(0xc1)],_0x573a60['roleList']),{'ok':!![],'data':runtimeRoleWriteResult('user-add',{'roleId':_0x573a60['role']['id'],'userId':_0x573a60[_0x10eaec(0xab)]},_0x573a60[_0x10eaec(0xb1)],_0x573a60['after'],{'method':_0x10eaec(0xb3),'path':'/client/permit/user-role/update-user-list'},_0x573a60[_0x10eaec(0xbb)])};}};
1
+ function a55_0x5a83(_0x20e742,_0x1bbd95){_0x20e742=_0x20e742-0xf2;const _0x29e525=a55_0x29e5();let _0x5a83eb=_0x29e525[_0x20e742];return _0x5a83eb;}const a55_0xe354ef=a55_0x5a83;function a55_0x29e5(){const _0x30437f=['POST','appCode','body','436620nEujIG','23106670grIpEz','description','9sQhzHk','/client/permit/user-role/update-user-list','roleList','build','6sNbmzY','Preview:\x20add\x20runtime\x20role\x20member','8880xPZszx','331055KgdWWI','3346847zZzpNe','642002KUAFsr','user-add','warnings','Add\x20a\x20numeric\x20userId\x20to\x20one\x20runtime\x20role','16avRqaW','role','3649640eYEVcB'];a55_0x29e5=function(){return _0x30437f;};return a55_0x29e5();}(function(_0x565d26,_0x4a7a9c){const _0x387055=a55_0x5a83,_0xb63917=_0x565d26();while(!![]){try{const _0x2180a1=-parseInt(_0x387055(0x107))/0x1+-parseInt(_0x387055(0xfb))/0x2+-parseInt(_0x387055(0x104))/0x3*(parseInt(_0x387055(0xf5))/0x4)+parseInt(_0x387055(0x105))/0x5*(parseInt(_0x387055(0x102))/0x6)+-parseInt(_0x387055(0x106))/0x7+-parseInt(_0x387055(0xf7))/0x8+parseInt(_0x387055(0xfe))/0x9*(parseInt(_0x387055(0xfc))/0xa);if(_0x2180a1===_0x4a7a9c)break;else _0xb63917['push'](_0xb63917['shift']());}catch(_0x503a49){_0xb63917['push'](_0xb63917['shift']());}}}(a55_0x29e5,0x8b420));import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':a55_0xe354ef(0xf6),'command':a55_0xe354ef(0xf2),'description':a55_0xe354ef(0xf4),'risk':'high-risk-write','confirmationDescription':'把指定运行用户加入目标角色;该用户将获得该角色对应的运行权限。','flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x58f01c){const _0x7cc925=a55_0xe354ef,_0x559f48=await prepareRuntimeMemberMutation(_0x58f01c,_0x7cc925(0xf2));return dryRun(_0x7cc925(0xf8),'/client/permit/user-role/update-user-list')[_0x7cc925(0xfa)]({'appCode':_0x58f01c['appCode'],'roleList':_0x559f48[_0x7cc925(0x100)]})[_0x7cc925(0xfd)](_0x559f48['shouldWrite']?_0x7cc925(0x103):_0x559f48[_0x7cc925(0xf3)][0x0])[_0x7cc925(0x101)]();},async 'execute'(_0x32714f){const _0x171da3=a55_0xe354ef,_0x11db27=await prepareRuntimeMemberMutation(_0x32714f,_0x171da3(0xf2));return _0x11db27['shouldWrite']&&await updateRuntimeRoleUsers(_0x32714f[_0x171da3(0xf9)],_0x11db27[_0x171da3(0x100)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x171da3(0xf2),{'roleId':_0x11db27[_0x171da3(0xf6)]['id'],'userId':_0x11db27['userId']},_0x11db27['before'],_0x11db27['after'],{'method':_0x171da3(0xf8),'path':_0x171da3(0xff)},_0x11db27[_0x171da3(0xf3)])};}};
@@ -1 +1 @@
1
- const a56_0x39b84e=a56_0x5324;function a56_0x5792(){const _0x3b2bc1=['roleList','role','168142cWjAsS','before','after','1043736fMzogd','userId','827373Xqfseo','appCode','3784736jZyFJo','Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','把指定运行用户移出目标角色;该用户将失去仅由该角色授予的运行权限。','5515osWeeK','description','2529297nrnwzP','user-remove','body','POST','warnings','2116TbzXoL','21847uzctTh','build','shouldWrite','534HUkcXm'];a56_0x5792=function(){return _0x3b2bc1;};return a56_0x5792();}(function(_0x23ce76,_0x5e16b9){const _0x4380c9=a56_0x5324,_0x34ec00=_0x23ce76();while(!![]){try{const _0x312512=parseInt(_0x4380c9(0x92))/0x1+parseInt(_0x4380c9(0x95))/0x2+parseInt(_0x4380c9(0x97))/0x3+parseInt(_0x4380c9(0xa3))/0x4*(-parseInt(_0x4380c9(0x9c))/0x5)+-parseInt(_0x4380c9(0x8f))/0x6*(parseInt(_0x4380c9(0xa4))/0x7)+parseInt(_0x4380c9(0x99))/0x8+-parseInt(_0x4380c9(0x9e))/0x9;if(_0x312512===_0x5e16b9)break;else _0x34ec00['push'](_0x34ec00['shift']());}catch(_0x14b9b2){_0x34ec00['push'](_0x34ec00['shift']());}}}(a56_0x5792,0x4869c));import{updateRuntimeRoleUsers}from'../../core/api-client.js';function a56_0x5324(_0x44572d,_0x286f74){_0x44572d=_0x44572d-0x8f;const _0x5792a8=a56_0x5792();let _0x5324bb=_0x5792a8[_0x44572d];return _0x5324bb;}import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a56_0x39b84e(0x91),'command':a56_0x39b84e(0x9f),'description':a56_0x39b84e(0x9a),'risk':'high-risk-write','confirmationDescription':a56_0x39b84e(0x9b),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x458fb7){const _0x8b1a8=a56_0x39b84e,_0x5d1f16=await prepareRuntimeMemberMutation(_0x458fb7,_0x8b1a8(0x9f));return dryRun(_0x8b1a8(0xa1),'/client/permit/user-role/update-user-list')[_0x8b1a8(0xa0)]({'appCode':_0x458fb7['appCode'],'roleList':_0x5d1f16[_0x8b1a8(0x90)]})[_0x8b1a8(0x9d)](_0x5d1f16['shouldWrite']?'Preview:\x20remove\x20runtime\x20role\x20member':_0x5d1f16[_0x8b1a8(0xa2)][0x0])[_0x8b1a8(0xa5)]();},async 'execute'(_0x360ac5){const _0x125372=a56_0x39b84e,_0x2142c2=await prepareRuntimeMemberMutation(_0x360ac5,_0x125372(0x9f));return _0x2142c2[_0x125372(0xa6)]&&await updateRuntimeRoleUsers(_0x360ac5[_0x125372(0x98)],_0x2142c2['roleList']),{'ok':!![],'data':runtimeRoleWriteResult(_0x125372(0x9f),{'roleId':_0x2142c2['role']['id'],'userId':_0x2142c2[_0x125372(0x96)]},_0x2142c2[_0x125372(0x93)],_0x2142c2[_0x125372(0x94)],{'method':_0x125372(0xa1),'path':'/client/permit/user-role/update-user-list'},_0x2142c2[_0x125372(0xa2)])};}};
1
+ function a56_0x3626(){const _0x35dabf=['role','84470DJCOoq','1968128zbqCWk','appCode','description','build','165414IiIGKy','90312oUMILU','POST','/client/permit/user-role/update-user-list','1269737HwEzou','把指定运行用户移出目标角色;该用户将失去仅由该角色授予的运行权限。','shouldWrite','844968okAUiz','user-remove','20KvDMri','Remove\x20a\x20numeric\x20userId\x20from\x20one\x20runtime\x20role','body','92xCJZqd','roleList','13443sIDVDl','9MVInSl','warnings'];a56_0x3626=function(){return _0x35dabf;};return a56_0x3626();}const a56_0x525fac=a56_0x5711;function a56_0x5711(_0x55a1c8,_0x5ae342){_0x55a1c8=_0x55a1c8-0x18a;const _0x36266c=a56_0x3626();let _0x571193=_0x36266c[_0x55a1c8];return _0x571193;}(function(_0x46fbfa,_0x11e65d){const _0x3c911b=a56_0x5711,_0x44fd4c=_0x46fbfa();while(!![]){try{const _0x47c1f8=parseInt(_0x3c911b(0x18e))/0x1+-parseInt(_0x3c911b(0x199))/0x2*(parseInt(_0x3c911b(0x19b))/0x3)+parseInt(_0x3c911b(0x194))/0x4+-parseInt(_0x3c911b(0x196))/0x5*(-parseInt(_0x3c911b(0x18d))/0x6)+parseInt(_0x3c911b(0x191))/0x7+-parseInt(_0x3c911b(0x1a0))/0x8+-parseInt(_0x3c911b(0x19c))/0x9*(parseInt(_0x3c911b(0x19f))/0xa);if(_0x47c1f8===_0x11e65d)break;else _0x44fd4c['push'](_0x44fd4c['shift']());}catch(_0x4d0bd1){_0x44fd4c['push'](_0x44fd4c['shift']());}}}(a56_0x3626,0x20618));import{updateRuntimeRoleUsers}from'../../core/api-client.js';import{dryRun}from'../../framework/dryrun.js';import{EXPECT_USER_COUNT_FLAG,prepareRuntimeMemberMutation,ROLE_REF_FLAG,runtimeRoleWriteResult,USER_ID_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':'role','command':a56_0x525fac(0x195),'description':a56_0x525fac(0x197),'risk':'high-risk-write','confirmationDescription':a56_0x525fac(0x192),'flags':[ROLE_REF_FLAG,USER_ID_FLAG,EXPECT_USER_COUNT_FLAG],async 'dryRun'(_0x3b427e){const _0x544a06=a56_0x525fac,_0x228111=await prepareRuntimeMemberMutation(_0x3b427e,_0x544a06(0x195));return dryRun(_0x544a06(0x18f),_0x544a06(0x190))[_0x544a06(0x198)]({'appCode':_0x3b427e[_0x544a06(0x18a)],'roleList':_0x228111[_0x544a06(0x19a)]})[_0x544a06(0x18b)](_0x228111[_0x544a06(0x193)]?'Preview:\x20remove\x20runtime\x20role\x20member':_0x228111[_0x544a06(0x19d)][0x0])[_0x544a06(0x18c)]();},async 'execute'(_0x565c5f){const _0x52ef0a=a56_0x525fac,_0x492742=await prepareRuntimeMemberMutation(_0x565c5f,'user-remove');return _0x492742[_0x52ef0a(0x193)]&&await updateRuntimeRoleUsers(_0x565c5f[_0x52ef0a(0x18a)],_0x492742[_0x52ef0a(0x19a)]),{'ok':!![],'data':runtimeRoleWriteResult(_0x52ef0a(0x195),{'roleId':_0x492742[_0x52ef0a(0x19e)]['id'],'userId':_0x492742['userId']},_0x492742['before'],_0x492742['after'],{'method':_0x52ef0a(0x18f),'path':_0x52ef0a(0x190)},_0x492742[_0x52ef0a(0x19d)])};}};