From c82a84ed765bd9c4d601b93201d93af92f6ee742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Tue, 2 Oct 2018 08:04:38 +0200 Subject: 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 --- store/sqlstore/user_store.go | 10 ++++++++++ store/store.go | 1 + store/storetest/mocks/UserStore.go | 16 ++++++++++++++++ 3 files changed, 27 insertions(+) (limited to 'store') 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) -- cgit v1.2.3-1-g7c22