Skip to content

feat(admin): improve user management page #1847

Open
gnugomez wants to merge 3 commits into
eclipse-openvsx:mainfrom
gnugomez:gnugomez/main/admin-users
Open

feat(admin): improve user management page #1847
gnugomez wants to merge 3 commits into
eclipse-openvsx:mainfrom
gnugomez:gnugomez/main/admin-users

Conversation

@gnugomez
Copy link
Copy Markdown
Member

Resolves #1786

Assisted-By: github:claude-opus-4.6, github:claude-sonnet-4.6, anthropic:claude-opus-4-7[1m]

gnugomez added 2 commits May 19, 2026 10:04
Assisted-By: anthropic:claude-opus-4-7[1m]
… update

Assisted-By: github:claude-opus-4.6, github:claude-sonnet-4.6, anthropic:claude-opus-4-7[1m]
@gnugomez gnugomez requested review from autumnfound and netomi and removed request for netomi May 19, 2026 10:14
}
var json = user.toUserJson();
var serverUrl = UrlUtil.getBaseUrl();
json.setRole(user.getRole());
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if the role is not part anymore of the User object, the frontend will not be able to check if the current user is an admin I guess?

Copy link
Copy Markdown
Member Author

@gnugomez gnugomez May 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UserData::toUserJson is already setting the role, here we're just adding it twice

import java.util.List;

@JsonInclude(Include.NON_NULL)
public class UserAdminJson {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick (non-blocking): This is a somewhat weak name as it describes where it's used rather than what it is. A stronger name would be something like UserRelationshipsJson to indicate that that it contains user relation data.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree


if (StringUtils.isNotBlank(search)) {
var like = "%" + search.toLowerCase(Locale.ROOT) + "%";
var searchCondition = DSL.lower(USER_DATA.LOGIN_NAME).like(like)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: Do we need 6 sequential wildcard searches? These are going to cause a massive hit to the database if there's no match. While this is for admins only, this could still be a performance issue that bogs the service down as it won't ever use table indexes.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, that might be a bit of an overkill, I guess

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide a user-management page in the admin dashboard

3 participants