tju-yxq opened a new issue, #2540:
URL: https://github.com/apache/rocketmq-dashboard/issues/2540

   ## Problem
   
   The Studio user management page loads every local account in one request:
   
   ```java
   public List<RmqStudioUser> listUsers() {
       return userMapper.selectList(new 
QueryWrapper<RmqStudioUser>().orderByAsc("username"));
   }
   ```
   
   The page has no username search, role/status filters, page size control, or 
server total. This differs from the other Studio inventories (cloud credentials 
and data sources), which already use server-side pagination and bounded 
`pageSize`.
   
   As the local account inventory grows, the admin endpoint transfers all rows 
and the UI has no way to narrow the list. There is also no shared invalid-page 
rejection before the database is queried.
   
   ## Expected behavior
   
   - `GET /api/studio-users` should accept:
     - `search` (username substring)
     - `admin`
     - `enabled`
     - `page` (default 1)
     - `pageSize` (default 20, maximum 100)
   - Filtering, stable ordering, and pagination should run in SQL rather than 
in JavaScript.
   - Invalid page/pageSize and oversized search text should be rejected before 
repository access.
   - The user management page should debounce search input, reset to page 1 
when filters change, show the server total, and use 20/50/100 page sizes.
   - Password hashes must remain absent from the response.
   - Existing account creation, enable/disable, and password reset behavior 
should remain unchanged.
   
   ## Verification scope
   
   Tests should cover service pagination validation and SQL construction, the 
HTTP response contract (including no password hash), API query parameters, and 
UI loading/filtering behavior.
   


-- 
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