diff --git a/app/user.go b/app/user.go index dbfcd05027..6963124d02 100644 --- a/app/user.go +++ b/app/user.go @@ -1479,8 +1479,8 @@ func (a *App) PermanentDeleteUser(user *model.User) *model.AppError { return err } - if result := <-a.Srv.Store.Team().RemoveAllMembersByUser(user.Id); result.Err != nil { - return result.Err + if err := a.Srv.Store.Team().RemoveAllMembersByUser(user.Id); err != nil { + return err } mlog.Warn(fmt.Sprintf("Permanently deleted account %v id=%v", user.Email, user.Id), mlog.String("user_id", user.Id)) diff --git a/store/sqlstore/team_store.go b/store/sqlstore/team_store.go index 532378e9ed..79ce95f8c3 100644 --- a/store/sqlstore/team_store.go +++ b/store/sqlstore/team_store.go @@ -785,13 +785,12 @@ func (s SqlTeamStore) RemoveAllMembersByTeam(teamId string) store.StoreChannel { }) } -func (s SqlTeamStore) RemoveAllMembersByUser(userId string) store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - _, err := s.GetMaster().Exec("DELETE FROM TeamMembers WHERE UserId = :UserId", map[string]interface{}{"UserId": userId}) - if err != nil { - result.Err = model.NewAppError("SqlTeamStore.RemoveMember", "store.sql_team.remove_member.app_error", nil, "user_id="+userId+", "+err.Error(), http.StatusInternalServerError) - } - }) +func (s SqlTeamStore) RemoveAllMembersByUser(userId string) *model.AppError { + _, err := s.GetMaster().Exec("DELETE FROM TeamMembers WHERE UserId = :UserId", map[string]interface{}{"UserId": userId}) + if err != nil { + return model.NewAppError("SqlTeamStore.RemoveMember", "store.sql_team.remove_member.app_error", nil, "user_id="+userId+", "+err.Error(), http.StatusInternalServerError) + } + return nil } func (us SqlTeamStore) UpdateLastTeamIconUpdate(teamId string, curTime int64) *model.AppError { diff --git a/store/store.go b/store/store.go index 43f6bb8d5f..a20019b5c4 100644 --- a/store/store.go +++ b/store/store.go @@ -113,7 +113,7 @@ type TeamStore interface { GetChannelUnreadsForTeam(teamId, userId string) ([]*model.ChannelUnread, *model.AppError) RemoveMember(teamId string, userId string) StoreChannel RemoveAllMembersByTeam(teamId string) StoreChannel - RemoveAllMembersByUser(userId string) StoreChannel + RemoveAllMembersByUser(userId string) *model.AppError UpdateLastTeamIconUpdate(teamId string, curTime int64) *model.AppError GetTeamsByScheme(schemeId string, offset int, limit int) StoreChannel MigrateTeamMembers(fromTeamId string, fromUserId string) StoreChannel diff --git a/store/storetest/mocks/TeamStore.go b/store/storetest/mocks/TeamStore.go index eb0b34fc57..d248502225 100644 --- a/store/storetest/mocks/TeamStore.go +++ b/store/storetest/mocks/TeamStore.go @@ -662,15 +662,15 @@ func (_m *TeamStore) RemoveAllMembersByTeam(teamId string) store.StoreChannel { } // RemoveAllMembersByUser provides a mock function with given fields: userId -func (_m *TeamStore) RemoveAllMembersByUser(userId string) store.StoreChannel { +func (_m *TeamStore) RemoveAllMembersByUser(userId string) *model.AppError { ret := _m.Called(userId) - var r0 store.StoreChannel - if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok { + var r0 *model.AppError + if rf, ok := ret.Get(0).(func(string) *model.AppError); ok { r0 = rf(userId) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(store.StoreChannel) + r0 = ret.Get(0).(*model.AppError) } } diff --git a/store/storetest/team_store.go b/store/storetest/team_store.go index f3de754ec1..01b3724bea 100644 --- a/store/storetest/team_store.go +++ b/store/storetest/team_store.go @@ -842,8 +842,8 @@ func testTeamMembers(t *testing.T, ss store.Store) { require.Len(t, ms, 2) } - if r1 := <-ss.Team().RemoveAllMembersByUser(uid); r1.Err != nil { - t.Fatal(r1.Err) + if err := ss.Team().RemoveAllMembersByUser(uid); err != nil { + t.Fatal(err) } if ms, err := ss.Team().GetTeamsForUser(m1.UserId); err != nil { @@ -898,8 +898,8 @@ func testTeamMembersWithPagination(t *testing.T, ss store.Store) { require.Nil(t, err) require.Len(t, result, 1) - r1 = <-ss.Team().RemoveAllMembersByUser(uid) - require.Nil(t, r1.Err) + err = ss.Team().RemoveAllMembersByUser(uid) + require.Nil(t, err) result, err = ss.Team().GetTeamsForUserWithPagination(uid, 1, 1) require.Nil(t, err) @@ -1237,8 +1237,8 @@ func testGetChannelUnreadsForAllTeams(t *testing.T, ss store.Store) { } } - if r1 := <-ss.Team().RemoveAllMembersByUser(uid); r1.Err != nil { - t.Fatal(r1.Err) + if err := ss.Team().RemoveAllMembersByUser(uid); err != nil { + t.Fatal(err) } }