X-LightYear opened a new pull request, #5022:
URL: https://github.com/apache/rocketmq-dashboard/pull/5022

   ## Summary
   
   - expose the existing ACL user update lifecycle through MCP
   - reuse `AclService.updateUser` for Apache and Tencent provider paths
   - add deterministic coverage for partial updates, credential-free output, 
Tencent role identifiers, and catalog authorization
   
   ## Existing capability
   
   The REST endpoint `/api/acl/users/update`, `AclService.updateUser`, 
`TencentAclService.updateUser`, and the Studio ACL user editor already support 
this operation. The MCP catalog previously exposed user list/get/create/delete, 
but not update.
   
   ## Fix
   
   Add `rmq.user.update` as an L3 `acl:write` mutation. It accepts the existing 
editor fields `id`, `username`, `admin`, and `clusters`; omitted fields 
preserve their current values. The handler reuses `AclService.updateUser`, uses 
the existing confirmation/dry-run mutation filter, and projects the result 
through `AclUserItem`, so credentials are not returned.
   
   The tool requires `ACL_MANAGEMENT` only. Tencent cloud instances expose ACL 
management without `REMOTING`, and the existing service delegates role updates 
through the cloud provider path.
   
   The result schema permits a missing numeric `id` for current Tencent role 
representations; this does not modify the separate stable-identifier work in 
#5012/#5013.
   
   ## Testing
   
   - `UserUpdateToolHandlerTest`: 3 passed
   - MCP catalog/registration/output contract suite: 46 passed
   - ACL service/provider/controller suite: 122 passed
   - checkstyle: 0 violations
   - `mvn -B -ntp -Dmaven.compiler.proc=full -Dmaven.antrun.skip=true 
-DskipTests package`: passed
   
   Fixes #5021


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to