19 lines
403 B
Go
19 lines
403 B
Go
package ent
|
|
|
|
// GetPrimaryRole 获取用户主角色(权限最高的角色)
|
|
func (u *User) GetPrimaryRole() *Role {
|
|
// 如果没有预加载角色,或者角色列表为空,直接返回 nil
|
|
if u.Edges.Roles == nil || len(u.Edges.Roles) == 0 {
|
|
return nil
|
|
}
|
|
|
|
primary := u.Edges.Roles[0]
|
|
for _, r := range u.Edges.Roles {
|
|
if r.Code < primary.Code {
|
|
primary = r
|
|
}
|
|
}
|
|
|
|
return primary
|
|
}
|