diff --git a/app/team.go b/app/team.go index dae48f1248..c6251fd705 100644 --- a/app/team.go +++ b/app/team.go @@ -1097,8 +1097,8 @@ func (a *App) PermanentDeleteTeam(team *model.Team) *model.AppError { return err } - if result := <-a.Srv.Store.Team().PermanentDelete(team.Id); result.Err != nil { - return result.Err + if err := a.Srv.Store.Team().PermanentDelete(team.Id); err != nil { + return err } a.sendTeamEvent(team, model.WEBSOCKET_EVENT_DELETE_TEAM) diff --git a/store/sqlstore/team_store.go b/store/sqlstore/team_store.go index dcbb325a34..4511d7be2b 100644 --- a/store/sqlstore/team_store.go +++ b/store/sqlstore/team_store.go @@ -451,13 +451,11 @@ func (s SqlTeamStore) GetAllTeamPageListing(offset int, limit int) ([]*model.Tea return teams, nil } -func (s SqlTeamStore) PermanentDelete(teamId string) store.StoreChannel { - return store.Do(func(result *store.StoreResult) { - if _, err := s.GetMaster().Exec("DELETE FROM Teams WHERE Id = :TeamId", map[string]interface{}{"TeamId": teamId}); err != nil { - result.Err = model.NewAppError("SqlTeamStore.Delete", "store.sql_team.permanent_delete.app_error", nil, "teamId="+teamId+", "+err.Error(), http.StatusInternalServerError) - return - } - }) +func (s SqlTeamStore) PermanentDelete(teamId string) *model.AppError { + if _, err := s.GetMaster().Exec("DELETE FROM Teams WHERE Id = :TeamId", map[string]interface{}{"TeamId": teamId}); err != nil { + return model.NewAppError("SqlTeamStore.Delete", "store.sql_team.permanent_delete.app_error", nil, "teamId="+teamId+", "+err.Error(), http.StatusInternalServerError) + } + return nil } func (s SqlTeamStore) AnalyticsTeamCount() (int64, *model.AppError) { diff --git a/store/store.go b/store/store.go index cf71d48349..3906444f9d 100644 --- a/store/store.go +++ b/store/store.go @@ -98,7 +98,7 @@ type TeamStore interface { GetAllTeamPageListing(offset int, limit int) ([]*model.Team, *model.AppError) GetTeamsByUserId(userId string) StoreChannel GetByInviteId(inviteId string) (*model.Team, *model.AppError) - PermanentDelete(teamId string) StoreChannel + PermanentDelete(teamId string) *model.AppError AnalyticsTeamCount() (int64, *model.AppError) SaveMember(member *model.TeamMember, maxUsersPerTeam int) StoreChannel UpdateMember(member *model.TeamMember) (*model.TeamMember, *model.AppError) diff --git a/store/storetest/mocks/TeamStore.go b/store/storetest/mocks/TeamStore.go index 0dbd61eee7..f1740e6463 100644 --- a/store/storetest/mocks/TeamStore.go +++ b/store/storetest/mocks/TeamStore.go @@ -567,15 +567,15 @@ func (_m *TeamStore) MigrateTeamMembers(fromTeamId string, fromUserId string) st } // PermanentDelete provides a mock function with given fields: teamId -func (_m *TeamStore) PermanentDelete(teamId string) store.StoreChannel { +func (_m *TeamStore) PermanentDelete(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 e1e0f0a19b..1eeaa48f86 100644 --- a/store/storetest/team_store.go +++ b/store/storetest/team_store.go @@ -744,8 +744,8 @@ func testDelete(t *testing.T, ss store.Store) { _, err = ss.Team().Save(&o2) require.Nil(t, err) - if r1 := <-ss.Team().PermanentDelete(o1.Id); r1.Err != nil { - t.Fatal(r1.Err) + if r1 := ss.Team().PermanentDelete(o1.Id); r1 != nil { + t.Fatal(r1) } } @@ -923,7 +923,7 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) { }) require.Nil(t, errSave) defer func() { - <-ss.Team().PermanentDelete(team.Id) + ss.Team().PermanentDelete(team.Id) }() userIds := make([]string, maxUsersPerTeam) @@ -1070,7 +1070,7 @@ func testGetTeamMember(t *testing.T, ss store.Store) { require.Nil(t, err) defer func() { - <-ss.Team().PermanentDelete(t2.Id) + ss.Team().PermanentDelete(t2.Id) }() m2 := &model.TeamMember{TeamId: t2.Id, UserId: model.NewId(), SchemeUser: true}