diff options
Diffstat (limited to 'models')
-rw-r--r-- | models/user_avatar.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/models/user_avatar.go b/models/user_avatar.go index 65e59eb326..a7ca1c9151 100644 --- a/models/user_avatar.go +++ b/models/user_avatar.go @@ -153,6 +153,15 @@ func (u *User) UploadAvatar(data []byte) error { return sess.Commit() } +// IsUploadAvatarChanged returns true if the current user's avatar would be changed with the provided data +func (u *User) IsUploadAvatarChanged(data []byte) bool { + if !u.UseCustomAvatar || len(u.Avatar) == 0 { + return true + } + avatarID := fmt.Sprintf("%x", md5.Sum([]byte(fmt.Sprintf("%d-%x", u.ID, md5.Sum(data))))) + return u.Avatar != avatarID +} + // DeleteAvatar deletes the user's custom avatar. func (u *User) DeleteAvatar() error { aPath := u.CustomAvatarRelativePath() |