From 38aa14a5bf7dc999a90606e6df931ba39a37d7f3 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Tue, 9 Jul 2019 11:46:59 +0100 Subject: [PATCH] Migrate Team.RemoveAllMembersByTeam to Sync by default commit 5cc7051ca2c5f0f665eda79b22a46b8ad0c17398 Author: phillipahereza Date: Sat Jul 6 15:01:18 2019 +0300 --- app/team.go | 4 ++-- store/sqlstore/team_store.go | 13 ++++++------- store/store.go | 2 +- store/storetest/mocks/TeamStore.go | 8 ++++---- store/storetest/team_store.go | 8 ++++---- 5 files changed, 17 insertions(+), 18 deletions(-) diff --git a/app/team.go b/app/team.go index 51bfa3dc79..7b5fddbc52 100644 --- a/app/team.go +++ b/app/team.go @@ -1071,8 +1071,8 @@ func (a *App) PermanentDeleteTeam(team *model.Team) *model.AppError { } } - if result := <-a.Srv.Store.Team().RemoveAllMembersByTeam(team.Id); result.Err != nil { - return result.Err + if err := a.Srv.Store.Team().RemoveAllMembersByTeam(team.Id); err != nil { + return err } if err := a.Srv.Store.Command().PermanentDeleteByTeam(team.Id); err != nil { diff --git a/store/sqlstore/team_store.go b/store/sqlstore/team_store.go index 8a799af194..2e8e6c36e8 100644 --- a/store/sqlstore/team_store.go +++ b/store/sqlstore/team_store.go @@ -772,13 +772,12 @@ func (s SqlTeamStore) RemoveMember(teamId string, userId string) *model.AppError return nil } -func (s SqlTeamStore) RemoveAllMembersByTeam(teamId string) store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - _, err := s.GetMaster().Exec("DELETE FROM TeamMembers WHERE TeamId = :TeamId", map[string]interface{}{"TeamId": teamId}) - if err != nil { - result.Err = model.NewAppError("SqlTeamStore.RemoveMember", "store.sql_team.remove_member.app_error", nil, "team_id="+teamId+", "+err.Error(), http.StatusInternalServerError) - } - }) +func (s SqlTeamStore) RemoveAllMembersByTeam(teamId string) *model.AppError { + _, err := s.GetMaster().Exec("DELETE FROM TeamMembers WHERE TeamId = :TeamId", map[string]interface{}{"TeamId": teamId}) + if err != nil { + return model.NewAppError("SqlTeamStore.RemoveMember", "store.sql_team.remove_member.app_error", nil, "team_id="+teamId+", "+err.Error(), http.StatusInternalServerError) + } + return nil } func (s SqlTeamStore) RemoveAllMembersByUser(userId string) *model.AppError { diff --git a/store/store.go b/store/store.go index b37df4ef03..ce62a9c7a6 100644 --- a/store/store.go +++ b/store/store.go @@ -112,7 +112,7 @@ type TeamStore interface { GetChannelUnreadsForAllTeams(excludeTeamId, userId string) ([]*model.ChannelUnread, *model.AppError) GetChannelUnreadsForTeam(teamId, userId string) ([]*model.ChannelUnread, *model.AppError) RemoveMember(teamId string, userId string) *model.AppError - RemoveAllMembersByTeam(teamId string) StoreChannel + RemoveAllMembersByTeam(teamId string) *model.AppError RemoveAllMembersByUser(userId string) *model.AppError UpdateLastTeamIconUpdate(teamId string, curTime int64) *model.AppError GetTeamsByScheme(schemeId string, offset int, limit int) ([]*model.Team, *model.AppError) diff --git a/store/storetest/mocks/TeamStore.go b/store/storetest/mocks/TeamStore.go index b10faa8a6c..c9f5ebe38e 100644 --- a/store/storetest/mocks/TeamStore.go +++ b/store/storetest/mocks/TeamStore.go @@ -664,15 +664,15 @@ func (_m *TeamStore) PermanentDelete(teamId string) *model.AppError { } // RemoveAllMembersByTeam provides a mock function with given fields: teamId -func (_m *TeamStore) RemoveAllMembersByTeam(teamId string) store.StoreChannel { +func (_m *TeamStore) RemoveAllMembersByTeam(teamId string) *model.AppError { ret := _m.Called(teamId) - 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(teamId) } 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 a3ce242982..e8d12eb3fe 100644 --- a/store/storetest/team_store.go +++ b/store/storetest/team_store.go @@ -816,8 +816,8 @@ func testTeamMembers(t *testing.T, ss store.Store) { store.Must(ss.Team().SaveMember(m1, -1)) - if r1 := <-ss.Team().RemoveAllMembersByTeam(teamId1); r1.Err != nil { - t.Fatal(r1.Err) + if err := ss.Team().RemoveAllMembersByTeam(teamId1); err != nil { + t.Fatal(err) } if ms, err := ss.Team().GetMembers(teamId1, 0, 100, nil); err != nil { @@ -883,8 +883,8 @@ func testTeamMembersWithPagination(t *testing.T, ss store.Store) { store.Must(ss.Team().SaveMember(m1, -1)) - r1 = <-ss.Team().RemoveAllMembersByTeam(teamId1) - require.Nil(t, r1.Err) + err = ss.Team().RemoveAllMembersByTeam(teamId1) + require.Nil(t, err) uid := model.NewId() m4 := &model.TeamMember{TeamId: teamId1, UserId: uid}