summaryrefslogtreecommitdiffstats
path: root/store
diff options
context:
space:
mode:
authorJesús Espino <jespinog@gmail.com>2018-10-02 08:04:38 +0200
committerGitHub <noreply@github.com>2018-10-02 08:04:38 +0200
commitc82a84ed765bd9c4d601b93201d93af92f6ee742 (patch)
tree468b65659656bea32721cda7a193dcc83f93a678 /store
parent3e462713debd5c992aa071bed902110bed88ec67 (diff)
downloadchat-c82a84ed765bd9c4d601b93201d93af92f6ee742.tar.gz
chat-c82a84ed765bd9c4d601b93201d93af92f6ee742.tar.bz2
chat-c82a84ed765bd9c4d601b93201d93af92f6ee742.zip
MM-12067: Add SetDefaultProfileImage to reset the user profile image to a generated one (#9449)
* MM-12067: Add SetDefaultProfileImage to reset the user profile image to a generated one * Allow to get the default profile image for my user * Allowing to reset the last update image date to 0 * PR reviews
Diffstat (limited to 'store')
-rw-r--r--store/sqlstore/user_store.go10
-rw-r--r--store/store.go1
-rw-r--r--store/storetest/mocks/UserStore.go16
3 files changed, 27 insertions, 0 deletions
diff --git a/store/sqlstore/user_store.go b/store/sqlstore/user_store.go
index 941aa60e9..1b9752064 100644
--- a/store/sqlstore/user_store.go
+++ b/store/sqlstore/user_store.go
@@ -212,6 +212,16 @@ func (us SqlUserStore) UpdateLastPictureUpdate(userId string) store.StoreChannel
})
}
+func (us SqlUserStore) ResetLastPictureUpdate(userId string) store.StoreChannel {
+ return store.Do(func(result *store.StoreResult) {
+ if _, err := us.GetMaster().Exec("UPDATE Users SET LastPictureUpdate = :Time, UpdateAt = :Time WHERE Id = :UserId", map[string]interface{}{"Time": 0, "UserId": userId}); err != nil {
+ result.Err = model.NewAppError("SqlUserStore.UpdateUpdateAt", "store.sql_user.update_last_picture_update.app_error", nil, "user_id="+userId, http.StatusInternalServerError)
+ } else {
+ result.Data = userId
+ }
+ })
+}
+
func (us SqlUserStore) UpdateUpdateAt(userId string) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
curTime := model.GetMillis()
diff --git a/store/store.go b/store/store.go
index f375bfb0f..02bbb11ca 100644
--- a/store/store.go
+++ b/store/store.go
@@ -230,6 +230,7 @@ type UserStore interface {
Save(user *model.User) StoreChannel
Update(user *model.User, allowRoleUpdate bool) StoreChannel
UpdateLastPictureUpdate(userId string) StoreChannel
+ ResetLastPictureUpdate(userId string) StoreChannel
UpdateUpdateAt(userId string) StoreChannel
UpdatePassword(userId, newPassword string) StoreChannel
UpdateAuthData(userId string, service string, authData *string, email string, resetMfa bool) StoreChannel
diff --git a/store/storetest/mocks/UserStore.go b/store/storetest/mocks/UserStore.go
index b505a2f0b..1e0ce8818 100644
--- a/store/storetest/mocks/UserStore.go
+++ b/store/storetest/mocks/UserStore.go
@@ -593,6 +593,22 @@ func (_m *UserStore) PermanentDelete(userId string) store.StoreChannel {
return r0
}
+// ResetLastPictureUpdate provides a mock function with given fields: userId
+func (_m *UserStore) ResetLastPictureUpdate(userId string) store.StoreChannel {
+ ret := _m.Called(userId)
+
+ var r0 store.StoreChannel
+ if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
+ r0 = rf(userId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(store.StoreChannel)
+ }
+ }
+
+ return r0
+}
+
// Save provides a mock function with given fields: user
func (_m *UserStore) Save(user *model.User) store.StoreChannel {
ret := _m.Called(user)