Этот коммит содержится в:
Ben Schumacher
2025-01-13 20:23:09 +01:00
коммит произвёл GitHub
родитель 091d1bba8b
Коммит 8d4bf4bae0
50 изменённых файлов: 2429 добавлений и 745 удалений

Просмотреть файл

@@ -6,6 +6,8 @@ package model
import (
"fmt"
"strings"
"github.com/mattermost/mattermost/server/public/utils/timeutils"
)
// SysconsoleAncillaryPermissions maps the non-sysconsole permissions required by each sysconsole view.
@@ -438,6 +440,84 @@ func (r *Role) Auditable() map[string]interface{} {
}
}
func (r *Role) Sanitize() {
r.DisplayName = FakeSetting
r.Description = FakeSetting
}
func (r *Role) MarshalYAML() (any, error) {
return struct {
Id string `yaml:"id"`
Name string `yaml:"name"`
DisplayName string `yaml:"display_name"`
Description string `yaml:"description"`
CreateAt string `yaml:"create_at"`
UpdateAt string `yaml:"update_at"`
DeleteAt string `yaml:"delete_at"`
Permissions []string `yaml:"permissions"`
SchemeManaged bool `yaml:"scheme_managed"`
BuiltIn bool `yaml:"built_in"`
}{
Id: r.Id,
Name: r.Name,
DisplayName: r.DisplayName,
Description: r.Description,
CreateAt: timeutils.FormatMillis(r.CreateAt),
UpdateAt: timeutils.FormatMillis(r.UpdateAt),
DeleteAt: timeutils.FormatMillis(r.DeleteAt),
Permissions: r.Permissions,
SchemeManaged: r.SchemeManaged,
BuiltIn: r.BuiltIn,
}, nil
}
func (r *Role) UnmarshalYAML(unmarshal func(interface{}) error) error {
out := struct {
Id string `yaml:"id"`
Name string `yaml:"name"`
DisplayName string `yaml:"display_name"`
Description string `yaml:"description"`
CreateAt string `yaml:"create_at"`
UpdateAt string `yaml:"update_at"`
DeleteAt string `yaml:"delete_at"`
Permissions []string `yaml:"permissions"`
SchemeManaged bool `yaml:"scheme_managed"`
BuiltIn bool `yaml:"built_in"`
}{}
err := unmarshal(&out)
if err != nil {
return err
}
createAt, err := timeutils.ParseFormatedMillis(out.CreateAt)
if err != nil {
return err
}
updateAt, err := timeutils.ParseFormatedMillis(out.UpdateAt)
if err != nil {
return err
}
deleteAt, err := timeutils.ParseFormatedMillis(out.DeleteAt)
if err != nil {
return err
}
*r = Role{
Id: out.Id,
Name: out.Name,
DisplayName: out.DisplayName,
Description: out.Description,
CreateAt: createAt,
UpdateAt: updateAt,
DeleteAt: deleteAt,
Permissions: out.Permissions,
SchemeManaged: out.SchemeManaged,
BuiltIn: out.BuiltIn,
}
return nil
}
type RolePatch struct {
Permissions *[]string `json:"permissions"`
}