github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/app/lib/user/profile.go (about) 1 // Package user - Content managed by Project Forge, see [projectforge.md] for details. 2 package user 3 4 type Profile struct { 5 Name string `json:"name,omitempty"` 6 Mode string `json:"mode,omitempty"` 7 Theme string `json:"theme,omitempty"` 8 } 9 10 var DefaultProfile = &Profile{Name: "Guest"} 11 12 func (p *Profile) String() string { 13 return p.Name 14 } 15 16 func (p *Profile) Clone() *Profile { 17 return &Profile{Name: p.Name, Mode: p.Mode, Theme: p.Theme} 18 } 19 20 func (p *Profile) ModeClass() string { 21 if p.Mode == "" { 22 return "" 23 } 24 return "mode-" + p.Mode 25 } 26 27 func (p *Profile) Equals(x *Profile) bool { 28 return p.Name == x.Name && p.Mode == x.Mode && p.Theme == x.Theme 29 }