Skip to content

Handle missing group gracefully in role page#3274

Merged
havetisyan merged 2 commits intoAthenZ:masterfrom
t4niwa:fix/ui-handle-missing-group-in-role-page
Apr 6, 2026
Merged

Handle missing group gracefully in role page#3274
havetisyan merged 2 commits intoAthenZ:masterfrom
t4niwa:fix/ui-handle-missing-group-in-role-page

Conversation

@t4niwa
Copy link
Copy Markdown
Contributor

@t4niwa t4niwa commented Apr 3, 2026

Description

Add group consistency check to template deletion. #3273

Contribution Checklist:

  • The pull request does not introduce any breaking changes
  • I have read the contribution guidelines.
  • Create an issue and link to the pull request.

Attach Screenshots (Optional)

Signed-off-by: t4niwa <taniwa@lycorp.co.jp>
@t4niwa t4niwa changed the title handle missing group gracefully in role page Handle missing group gracefully in role page Apr 3, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the error handling logic for fetching group members in ui/src/server/handlers/api.js to resolve the promise when a 404 status is encountered. This change is implemented across five different locations in the file. The review feedback suggests refactoring this duplicated logic into a shared helper function and using early returns to reduce code nesting and improve maintainability.

Comment on lines 1303 to 1320
if (err) {
reject(err);
}
if (data && data.groupMembers) {
roleMember.groupMembers = data.groupMembers;
roleMember.groupMembers.forEach((member) => {
member.memberFullName =
userService.getUserFullName(
member.memberName
);
});
if (err.status === 404) {
resolve();
} else {
reject(err);
}
} else {
if (data && data.groupMembers) {
roleMember.groupMembers = data.groupMembers;
roleMember.groupMembers.forEach((member) => {
member.memberFullName =
userService.getUserFullName(
member.memberName
);
});
}
resolve();
}
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.

medium

The logic for fetching group members and handling 404 errors is duplicated in five different places within this file (lines 1303, 1453, 1540, 2348, and 2448). This redundancy makes the code harder to maintain and increases the risk of inconsistencies if the logic needs to change in the future.\n\nConsider refactoring this into a single shared helper function. Additionally, the implementation can be simplified by using an early return for the error case, which reduces nesting and improves readability.

                        if (err) {\n                            return err.status === 404 ? resolve() : reject(err);\n                        }\n                        if (data && data.groupMembers) {\n                            roleMember.groupMembers = data.groupMembers;\n                            roleMember.groupMembers.forEach((member) => {\n                                member.memberFullName =\n                                    userService.getUserFullName(\n                                        member.memberName\n                                    );\n                            });\n                        }\n                        resolve();

@havetisyan
Copy link
Copy Markdown
Collaborator

@t4niwa please fix the lint errors. before submitting any PR, you can just run mvn clean install in the appropriate directory to make sure it passes

Signed-off-by: t4niwa <taniwa@lycorp.co.jp>
@havetisyan havetisyan merged commit fc6fcea into AthenZ:master Apr 6, 2026
3 checks passed
@t4niwa t4niwa deleted the fix/ui-handle-missing-group-in-role-page branch April 6, 2026 05:15
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.

2 participants