|
|
|
|
@ -27,7 +27,7 @@ type Role struct { |
|
|
|
|
Version int64 `json:"version"` |
|
|
|
|
UID string `xorm:"uid" json:"uid"` |
|
|
|
|
Name string `json:"name"` |
|
|
|
|
DisplayName string `json:"displayName"` |
|
|
|
|
DisplayName string `json:"displayName,omitempty"` |
|
|
|
|
Group string `xorm:"group_name" json:"group"` |
|
|
|
|
Description string `json:"description"` |
|
|
|
|
Hidden bool `json:"hidden"` |
|
|
|
|
@ -48,17 +48,9 @@ func (r *Role) IsBasic() bool { |
|
|
|
|
return strings.HasPrefix(r.Name, BasicRolePrefix) || strings.HasPrefix(r.UID, BasicRoleUIDPrefix) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (r *Role) GetDisplayName() string { |
|
|
|
|
if r.IsFixed() && r.DisplayName == "" { |
|
|
|
|
r.DisplayName = fallbackDisplayName(r.Name) |
|
|
|
|
} |
|
|
|
|
return r.DisplayName |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (r Role) MarshalJSON() ([]byte, error) { |
|
|
|
|
type Alias Role |
|
|
|
|
|
|
|
|
|
r.DisplayName = r.GetDisplayName() |
|
|
|
|
return json.Marshal(&struct { |
|
|
|
|
Alias |
|
|
|
|
Global bool `json:"global" xorm:"-"` |
|
|
|
|
@ -72,7 +64,7 @@ type RoleDTO struct { |
|
|
|
|
Version int64 `json:"version"` |
|
|
|
|
UID string `xorm:"uid" json:"uid"` |
|
|
|
|
Name string `json:"name"` |
|
|
|
|
DisplayName string `json:"displayName"` |
|
|
|
|
DisplayName string `json:"displayName,omitempty"` |
|
|
|
|
Description string `json:"description"` |
|
|
|
|
Group string `xorm:"group_name" json:"group"` |
|
|
|
|
Permissions []Permission `json:"permissions,omitempty"` |
|
|
|
|
@ -137,20 +129,9 @@ func (r *RoleDTO) IsBasic() bool { |
|
|
|
|
return strings.HasPrefix(r.Name, BasicRolePrefix) || strings.HasPrefix(r.UID, BasicRoleUIDPrefix) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (r *RoleDTO) GetDisplayName() string { |
|
|
|
|
if r.IsFixed() && r.DisplayName == "" { |
|
|
|
|
r.DisplayName = fallbackDisplayName(r.Name) |
|
|
|
|
} |
|
|
|
|
if r.DisplayName == "" { |
|
|
|
|
return r.Name |
|
|
|
|
} |
|
|
|
|
return r.DisplayName |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (r RoleDTO) MarshalJSON() ([]byte, error) { |
|
|
|
|
type Alias RoleDTO |
|
|
|
|
|
|
|
|
|
r.DisplayName = r.GetDisplayName() |
|
|
|
|
return json.Marshal(&struct { |
|
|
|
|
Alias |
|
|
|
|
Global bool `json:"global" xorm:"-"` |
|
|
|
|
@ -160,17 +141,6 @@ func (r RoleDTO) MarshalJSON() ([]byte, error) { |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// fallbackDisplayName provides a fallback name for role
|
|
|
|
|
// that can be displayed in the ui for better readability
|
|
|
|
|
// example: currently this would give:
|
|
|
|
|
// fixed:datasources:name -> datasources name
|
|
|
|
|
// datasources:admin -> datasources admin
|
|
|
|
|
func fallbackDisplayName(rName string) string { |
|
|
|
|
// removing prefix for fixed roles
|
|
|
|
|
rNameWithoutPrefix := strings.Replace(rName, FixedRolePrefix, "", 1) |
|
|
|
|
return strings.TrimSpace(strings.ReplaceAll(rNameWithoutPrefix, ":", " ")) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type TeamRole struct { |
|
|
|
|
ID int64 `json:"id" xorm:"pk autoincr 'id'"` |
|
|
|
|
OrgID int64 `json:"orgId" xorm:"org_id"` |
|
|
|
|
|