Team.GetTeamMembersForExport migration to Sync by default. (#11559)

Этот коммит содержится в:
Max Vovshin
2019-07-07 13:13:43 +03:00
коммит произвёл Jesús Espino
родитель 96c33948da
Коммит 0b90888e73
5 изменённых файлов: 44 добавлений и 42 удалений

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

@@ -252,14 +252,12 @@ func (a *App) ExportAllUsers(writer io.Writer) *model.AppError {
func (a *App) buildUserTeamAndChannelMemberships(userId string) (*[]UserTeamImportData, *model.AppError) { func (a *App) buildUserTeamAndChannelMemberships(userId string) (*[]UserTeamImportData, *model.AppError) {
var memberships []UserTeamImportData var memberships []UserTeamImportData
result := <-a.Srv.Store.Team().GetTeamMembersForExport(userId) members, err := a.Srv.Store.Team().GetTeamMembersForExport(userId)
if result.Err != nil { if err != nil {
return nil, result.Err return nil, err
} }
members := result.Data.([]*model.TeamMemberForExport)
for _, member := range members { for _, member := range members {
// Skip deleted. // Skip deleted.
if member.DeleteAt != 0 { if member.DeleteAt != 0 {

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

@@ -1047,8 +1047,7 @@ func (s SqlTeamStore) GetUserTeamIds(userId string, allowFromCache bool) store.S
}) })
} }
func (s SqlTeamStore) GetTeamMembersForExport(userId string) store.StoreChannel { func (s SqlTeamStore) GetTeamMembersForExport(userId string) ([]*model.TeamMemberForExport, *model.AppError) {
return store.Do(func(result *store.StoreResult) {
var members []*model.TeamMemberForExport var members []*model.TeamMemberForExport
_, err := s.GetReplica().Select(&members, ` _, err := s.GetReplica().Select(&members, `
SELECT SELECT
@@ -1069,12 +1068,9 @@ func (s SqlTeamStore) GetTeamMembersForExport(userId string) store.StoreChannel
AND Teams.DeleteAt = 0`, AND Teams.DeleteAt = 0`,
map[string]interface{}{"UserId": userId}) map[string]interface{}{"UserId": userId})
if err != nil { if err != nil {
result.Err = model.NewAppError("SqlTeamStore.GetTeamMembersForExport", "store.sql_team.get_members.app_error", nil, "userId="+userId+" "+err.Error(), http.StatusInternalServerError) return nil, model.NewAppError("SqlTeamStore.GetTeamMembersForExport", "store.sql_team.get_members.app_error", nil, "userId="+userId+" "+err.Error(), http.StatusInternalServerError)
return
} }
return members, nil
result.Data = members
})
} }
func (s SqlTeamStore) UserBelongsToTeams(userId string, teamIds []string) store.StoreChannel { func (s SqlTeamStore) UserBelongsToTeams(userId string, teamIds []string) store.StoreChannel {

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

@@ -121,7 +121,7 @@ type TeamStore interface {
ClearAllCustomRoleAssignments() StoreChannel ClearAllCustomRoleAssignments() StoreChannel
AnalyticsGetTeamCountForScheme(schemeId string) StoreChannel AnalyticsGetTeamCountForScheme(schemeId string) StoreChannel
GetAllForExportAfter(limit int, afterId string) StoreChannel GetAllForExportAfter(limit int, afterId string) StoreChannel
GetTeamMembersForExport(userId string) StoreChannel 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
InvalidateAllTeamIdsForUser(userId string) InvalidateAllTeamIdsForUser(userId string)

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

@@ -445,19 +445,28 @@ func (_m *TeamStore) GetMembersByIds(teamId string, userIds []string, restrictio
} }
// GetTeamMembersForExport provides a mock function with given fields: userId // GetTeamMembersForExport provides a mock function with given fields: userId
func (_m *TeamStore) GetTeamMembersForExport(userId string) store.StoreChannel { func (_m *TeamStore) GetTeamMembersForExport(userId string) ([]*model.TeamMemberForExport, *model.AppError) {
ret := _m.Called(userId) ret := _m.Called(userId)
var r0 store.StoreChannel var r0 []*model.TeamMemberForExport
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok { if rf, ok := ret.Get(0).(func(string) []*model.TeamMemberForExport); ok {
r0 = rf(userId) r0 = rf(userId)
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel) r0 = ret.Get(0).([]*model.TeamMemberForExport)
} }
} }
return r0 var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
r1 = rf(userId)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
} }
// GetTeamsByScheme provides a mock function with given fields: schemeId, offset, limit // GetTeamsByScheme provides a mock function with given fields: schemeId, offset, limit

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

@@ -1652,10 +1652,9 @@ func testTeamStoreGetTeamMembersForExport(t *testing.T, ss store.Store) {
m2 := &model.TeamMember{TeamId: t1.Id, UserId: u2.Id} m2 := &model.TeamMember{TeamId: t1.Id, UserId: u2.Id}
store.Must(ss.Team().SaveMember(m2, -1)) store.Must(ss.Team().SaveMember(m2, -1))
r1 := <-ss.Team().GetTeamMembersForExport(u1.Id) d1, err := ss.Team().GetTeamMembersForExport(u1.Id)
assert.Nil(t, r1.Err) assert.Nil(t, err)
d1 := r1.Data.([]*model.TeamMemberForExport)
assert.Len(t, d1, 1) assert.Len(t, d1, 1)
tmfe1 := d1[0] tmfe1 := d1[0]