GH-11085 Migrate Team.GetAllTeamPageListing to Sync by default (#11106)

* GH-11085 Migrate Team.GetAllTeamPageListing to Sync by default

* GH-11085 review fixes

* GH-11085 rename data to teams

* GH-11085 revert i18n changes
Этот коммит содержится в:
Marc Argent
2019-06-16 17:11:24 +01:00
коммит произвёл Jesús Espino
родитель f934502a56
Коммит 1a57018adf
5 изменённых файлов: 51 добавлений и 58 удалений

Просмотреть файл

@@ -639,11 +639,7 @@ func (a *App) GetAllPublicTeams() ([]*model.Team, *model.AppError) {
}
func (a *App) GetAllPublicTeamsPage(offset int, limit int) ([]*model.Team, *model.AppError) {
result := <-a.Srv.Store.Team().GetAllTeamPageListing(offset, limit)
if result.Err != nil {
return nil, result.Err
}
return result.Data.([]*model.Team), nil
return a.Srv.Store.Team().GetAllTeamPageListing(offset, limit)
}
func (a *App) SearchAllTeams(term string) ([]*model.Team, *model.AppError) {

Просмотреть файл

@@ -436,22 +436,19 @@ func (s SqlTeamStore) GetAllTeamListing() store.StoreChannel {
})
}
func (s SqlTeamStore) GetAllTeamPageListing(offset int, limit int) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
query := "SELECT * FROM Teams WHERE AllowOpenInvite = 1 ORDER BY DisplayName LIMIT :Limit OFFSET :Offset"
func (s SqlTeamStore) GetAllTeamPageListing(offset int, limit int) ([]*model.Team, *model.AppError) {
query := "SELECT * FROM Teams WHERE AllowOpenInvite = 1 ORDER BY DisplayName LIMIT :Limit OFFSET :Offset"
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
query = "SELECT * FROM Teams WHERE AllowOpenInvite = true ORDER BY DisplayName LIMIT :Limit OFFSET :Offset"
}
if s.DriverName() == model.DATABASE_DRIVER_POSTGRES {
query = "SELECT * FROM Teams WHERE AllowOpenInvite = true ORDER BY DisplayName LIMIT :Limit OFFSET :Offset"
}
var data []*model.Team
if _, err := s.GetReplica().Select(&data, query, map[string]interface{}{"Offset": offset, "Limit": limit}); err != nil {
result.Err = model.NewAppError("SqlTeamStore.GetAllTeamListing", "store.sql_team.get_all_team_listing.app_error", nil, err.Error(), http.StatusInternalServerError)
return
}
var teams []*model.Team
if _, err := s.GetReplica().Select(&teams, query, map[string]interface{}{"Offset": offset, "Limit": limit}); err != nil {
return nil, model.NewAppError("SqlTeamStore.GetAllTeamListing", "store.sql_team.get_all_team_listing.app_error", nil, err.Error(), http.StatusInternalServerError)
}
result.Data = data
})
return teams, nil
}
func (s SqlTeamStore) PermanentDelete(teamId string) store.StoreChannel {

Просмотреть файл

@@ -95,7 +95,7 @@ type TeamStore interface {
GetAllPrivateTeamListing() StoreChannel
GetAllPrivateTeamPageListing(offset int, limit int) ([]*model.Team, *model.AppError)
GetAllTeamListing() StoreChannel
GetAllTeamPageListing(offset int, limit int) StoreChannel
GetAllTeamPageListing(offset int, limit int) ([]*model.Team, *model.AppError)
GetTeamsByUserId(userId string) StoreChannel
GetByInviteId(inviteId string) (*model.Team, *model.AppError)
PermanentDelete(teamId string) StoreChannel

Просмотреть файл

@@ -236,19 +236,28 @@ func (_m *TeamStore) GetAllTeamListing() store.StoreChannel {
}
// GetAllTeamPageListing provides a mock function with given fields: offset, limit
func (_m *TeamStore) GetAllTeamPageListing(offset int, limit int) store.StoreChannel {
func (_m *TeamStore) GetAllTeamPageListing(offset int, limit int) ([]*model.Team, *model.AppError) {
ret := _m.Called(offset, limit)
var r0 store.StoreChannel
if rf, ok := ret.Get(0).(func(int, int) store.StoreChannel); ok {
var r0 []*model.Team
if rf, ok := ret.Get(0).(func(int, int) []*model.Team); ok {
r0 = rf(offset, limit)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel)
r0 = ret.Get(0).([]*model.Team)
}
}
return r0
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(int, int) *model.AppError); ok {
r1 = rf(offset, limit)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
}
// GetByInviteId provides a mock function with given fields: inviteId

Просмотреть файл

@@ -536,20 +536,17 @@ func testGetAllTeamPageListing(t *testing.T, ss store.Store) {
_, err = ss.Team().Save(&o4)
require.Nil(t, err)
if r1 := <-ss.Team().GetAllTeamPageListing(0, 10); r1.Err != nil {
t.Fatal(r1.Err)
} else {
teams := r1.Data.([]*model.Team)
teams, err := ss.Team().GetAllTeamPageListing(0, 10)
require.Nil(t, err)
for _, team := range teams {
if !team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as true")
}
for _, team := range teams {
if !team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as true")
}
}
if len(teams) > 10 {
t.Fatal("should have returned max of 10 teams")
}
if len(teams) > 10 {
t.Fatal("should have returned max of 10 teams")
}
o5 := model.Team{}
@@ -561,37 +558,31 @@ func testGetAllTeamPageListing(t *testing.T, ss store.Store) {
_, err = ss.Team().Save(&o5)
require.Nil(t, err)
if r1 := <-ss.Team().GetAllTeamPageListing(0, 4); r1.Err != nil {
t.Fatal(r1.Err)
} else {
teams := r1.Data.([]*model.Team)
teams, err = ss.Team().GetAllTeamPageListing(0, 4)
require.Nil(t, err)
for _, team := range teams {
if !team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as true")
}
}
if len(teams) > 4 {
t.Fatal("should have returned max of 4 teams")
for _, team := range teams {
if !team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as true")
}
}
if r1 := <-ss.Team().GetAllTeamPageListing(1, 1); r1.Err != nil {
t.Fatal(r1.Err)
} else {
teams := r1.Data.([]*model.Team)
if len(teams) > 4 {
t.Fatal("should have returned max of 4 teams")
}
for _, team := range teams {
if !team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as true")
}
}
teams, err = ss.Team().GetAllTeamPageListing(1, 1)
require.Nil(t, err)
if len(teams) > 1 {
t.Fatal("should have returned max of 1 team")
for _, team := range teams {
if !team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as true")
}
}
if len(teams) > 1 {
t.Fatal("should have returned max of 1 team")
}
}
func testGetAllPrivateTeamListing(t *testing.T, ss store.Store) {