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  }