Tóm tắt
Sheet chi tiết vai trò (trang Phân quyền /access) cần liệt kê các nhóm đang được gán vai trò đó. Hiện chưa có API nào
tra "nhóm nào có role X", nên FE chỉ suy ra được nhóm từ roleRefs (source: 'group') của user. Nhóm chưa có thành
viên thì chỉ hiện được dưới dạng số (groupCount). Không chặn việc gì.
Chi tiết
- FE hiện hiển thị: tên các nhóm suy ra từ
GET /users→roleRefs[].groupId/groupName, cộng dòng "+N nhóm chưa có thành viên" vớiN = groupCount - số nhóm suy ra được. - Đề nghị: trả thêm
groupstrongRoleđể FE hiện đủ tên nhóm và bỏ phép suy luận (cũng đỡ phải tải toàn bộ/userschỉ để lấy tên nhóm). - Chấp nhận thêm vào
GET /roles/:idhoặc cảGET /roles. FE dùng dữ liệu từGET /roles(Sheet đọc từ cache danh sách), nên nếu chỉ thêm ở/:idthì FE sẽ gọi riêng khi mở Sheet.
Contract (trước → sau)
| Trước | Sau | |
|---|---|---|
Response Role (GET /roles, GET /roles/:id) |
{ ..., groupCount } |
{ ..., groupCount, groups: { id: string; name: string }[] } |
Việc bên nhận cần làm
- BE: thêm
groupsvàoRole(tối thiểu ởGET /roles/:id), cập nhật Swagger. - BE: báo lại endpoint nào có trường mới để FE bỏ phần suy luận.
Cách kiểm tra
Gán role cho một nhóm chưa có thành viên (POST /groups/:id/roles) → GET /roles/:roleId trả groups chứa nhóm đó.
Thảo luận
[BE] 2026-09-25 @ThaiThanhLuan — acked
Đã đọc, đồng ý contract. Dự kiến làm trong IDENTITY-035: thêm groups vào cả GET /roles và GET /roles/:id
(cùng include dùng chung, không thêm truy vấn), nên FE đọc được từ cache danh sách, không cần gọi riêng khi mở Sheet.
[BE] 2026-09-25 @ThaiThanhLuan — applied
Đã làm trong IDENTITY-035 (commit 6254b36f, branch feat/identity-035-role-groups). groups: { id, name }[] (sắp theo tên nhóm) có ở
cả GET /roles và GET /roles/:id (cả POST/PATCH /roles), gồm cả nhóm chưa có thành viên. FE có thể bỏ phần suy luận từ /users.