GetAllForExportAfter migrated to sync by default. (#11562)

Этот коммит содержится в:
Max Vovshin
2019-07-08 11:10:09 +03:00
коммит произвёл Miguel de la Cruz
родитель f08f7f77c3
Коммит 956c8930f5
5 изменённых файлов: 40 добавлений и 37 удалений

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

@@ -113,14 +113,12 @@ func (a *App) ExportVersion(writer io.Writer) *model.AppError {
func (a *App) ExportAllTeams(writer io.Writer) *model.AppError { func (a *App) ExportAllTeams(writer io.Writer) *model.AppError {
afterId := strings.Repeat("0", 26) afterId := strings.Repeat("0", 26)
for { for {
result := <-a.Srv.Store.Team().GetAllForExportAfter(1000, afterId) teams, err := a.Srv.Store.Team().GetAllForExportAfter(1000, afterId)
if result.Err != nil { if err != nil {
return result.Err return err
} }
teams := result.Data.([]*model.TeamForExport)
if len(teams) == 0 { if len(teams) == 0 {
break break
} }

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

@@ -976,8 +976,7 @@ func (s SqlTeamStore) AnalyticsGetTeamCountForScheme(schemeId string) store.Stor
}) })
} }
func (s SqlTeamStore) GetAllForExportAfter(limit int, afterId string) store.StoreChannel { func (s SqlTeamStore) GetAllForExportAfter(limit int, afterId string) ([]*model.TeamForExport, *model.AppError) {
return store.Do(func(result *store.StoreResult) {
var data []*model.TeamForExport var data []*model.TeamForExport
if _, err := s.GetReplica().Select(&data, ` if _, err := s.GetReplica().Select(&data, `
SELECT SELECT
@@ -994,12 +993,10 @@ func (s SqlTeamStore) GetAllForExportAfter(limit int, afterId string) store.Stor
LIMIT LIMIT
:Limit`, :Limit`,
map[string]interface{}{"AfterId": afterId, "Limit": limit}); err != nil { map[string]interface{}{"AfterId": afterId, "Limit": limit}); err != nil {
result.Err = model.NewAppError("SqlTeamStore.GetAllTeams", "store.sql_team.get_all.app_error", nil, err.Error(), http.StatusInternalServerError) return nil, model.NewAppError("SqlTeamStore.GetAllTeams", "store.sql_team.get_all.app_error", nil, err.Error(), http.StatusInternalServerError)
return
} }
result.Data = data return data, nil
})
} }
func (s SqlTeamStore) GetUserTeamIds(userId string, allowFromCache bool) store.StoreChannel { func (s SqlTeamStore) GetUserTeamIds(userId string, allowFromCache bool) store.StoreChannel {

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

@@ -120,7 +120,7 @@ type TeamStore interface {
ResetAllTeamSchemes() StoreChannel ResetAllTeamSchemes() StoreChannel
ClearAllCustomRoleAssignments() StoreChannel ClearAllCustomRoleAssignments() StoreChannel
AnalyticsGetTeamCountForScheme(schemeId string) StoreChannel AnalyticsGetTeamCountForScheme(schemeId string) StoreChannel
GetAllForExportAfter(limit int, afterId string) StoreChannel GetAllForExportAfter(limit int, afterId string) ([]*model.TeamForExport, *model.AppError)
GetTeamMembersForExport(userId string) ([]*model.TeamMemberForExport, *model.AppError) GetTeamMembersForExport(userId string) ([]*model.TeamMemberForExport, *model.AppError)
UserBelongsToTeams(userId string, teamIds []string) StoreChannel UserBelongsToTeams(userId string, teamIds []string) StoreChannel
GetUserTeamIds(userId string, allowFromCache bool) StoreChannel GetUserTeamIds(userId string, allowFromCache bool) StoreChannel

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

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

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

@@ -1611,9 +1611,8 @@ func testTeamStoreGetAllForExportAfter(t *testing.T, ss store.Store) {
_, err := ss.Team().Save(&t1) _, err := ss.Team().Save(&t1)
require.Nil(t, err) require.Nil(t, err)
r1 := <-ss.Team().GetAllForExportAfter(10000, strings.Repeat("0", 26)) d1, err := ss.Team().GetAllForExportAfter(10000, strings.Repeat("0", 26))
assert.Nil(t, r1.Err) assert.Nil(t, err)
d1 := r1.Data.([]*model.TeamForExport)
found := false found := false
for _, team := range d1 { for _, team := range d1 {