summaryrefslogtreecommitdiffstats
path: root/model/user.go
diff options
context:
space:
mode:
Diffstat (limited to 'model/user.go')
-rw-r--r--model/user.go51
1 files changed, 31 insertions, 20 deletions
diff --git a/model/user.go b/model/user.go
index 4365f47d2..77dc04a03 100644
--- a/model/user.go
+++ b/model/user.go
@@ -28,29 +28,29 @@ const (
type User struct {
Id string `json:"id"`
- CreateAt int64 `json:"create_at"`
- UpdateAt int64 `json:"update_at"`
+ CreateAt int64 `json:"create_at,omitempty"`
+ UpdateAt int64 `json:"update_at,omitempty"`
DeleteAt int64 `json:"delete_at"`
TeamId string `json:"team_id"`
Username string `json:"username"`
- Password string `json:"password"`
- AuthData string `json:"auth_data"`
+ Password string `json:"password,omitempty"`
+ AuthData string `json:"auth_data,omitempty"`
AuthService string `json:"auth_service"`
Email string `json:"email"`
- EmailVerified bool `json:"email_verified"`
+ EmailVerified bool `json:"email_verified,omitempty"`
Nickname string `json:"nickname"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Roles string `json:"roles"`
- LastActivityAt int64 `json:"last_activity_at"`
- LastPingAt int64 `json:"last_ping_at"`
- AllowMarketing bool `json:"allow_marketing"`
- Props StringMap `json:"props"`
- NotifyProps StringMap `json:"notify_props"`
- ThemeProps StringMap `json:"theme_props"`
- LastPasswordUpdate int64 `json:"last_password_update"`
- LastPictureUpdate int64 `json:"last_picture_update"`
- FailedAttempts int `json:"failed_attempts"`
+ LastActivityAt int64 `json:"last_activity_at,omitempty"`
+ LastPingAt int64 `json:"last_ping_at,omitempty"`
+ AllowMarketing bool `json:"allow_marketing,omitempty"`
+ Props StringMap `json:"props,omitempty"`
+ NotifyProps StringMap `json:"notify_props,omitempty"`
+ ThemeProps StringMap `json:"theme_props,omitempty"`
+ LastPasswordUpdate int64 `json:"last_password_update,omitempty"`
+ LastPictureUpdate int64 `json:"last_picture_update,omitempty"`
+ FailedAttempts int `json:"failed_attempts,omitempty"`
}
// IsValid validates the user and returns an error if it isn't configured
@@ -221,17 +221,28 @@ func (u *User) Sanitize(options map[string]bool) {
u.FirstName = ""
u.LastName = ""
}
- if len(options) != 0 && !options["skypeid"] {
- // TODO - fill in when SkypeId is added to user model
- }
- if len(options) != 0 && !options["phonenumber"] {
- // TODO - fill in when PhoneNumber is added to user model
- }
if len(options) != 0 && !options["passwordupdate"] {
u.LastPasswordUpdate = 0
}
}
+func (u *User) ClearNonProfileFields() {
+ u.CreateAt = 0
+ u.UpdateAt = 0
+ u.Password = ""
+ u.AuthData = ""
+ u.AuthService = ""
+ u.EmailVerified = false
+ u.LastPingAt = 0
+ u.AllowMarketing = false
+ u.Props = StringMap{}
+ u.NotifyProps = StringMap{}
+ u.ThemeProps = StringMap{}
+ u.LastPasswordUpdate = 0
+ u.LastPictureUpdate = 0
+ u.FailedAttempts = 0
+}
+
func (u *User) MakeNonNil() {
if u.Props == nil {
u.Props = make(map[string]string)