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

This commit is contained in:
Max Vovshin
2019-07-07 13:13:43 +03:00
committed by Jesús Espino
parent 96c33948da
commit 0b90888e73
5 changed files with 44 additions and 42 deletions

View File

@@ -1047,34 +1047,30 @@ func (s SqlTeamStore) GetUserTeamIds(userId string, allowFromCache bool) store.S
})
}
func (s SqlTeamStore) GetTeamMembersForExport(userId string) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
var members []*model.TeamMemberForExport
_, err := s.GetReplica().Select(&members, `
SELECT
TeamMembers.TeamId,
TeamMembers.UserId,
TeamMembers.Roles,
TeamMembers.DeleteAt,
(TeamMembers.SchemeGuest IS NOT NULL AND TeamMembers.SchemeGuest) as SchemeGuest,
TeamMembers.SchemeUser,
TeamMembers.SchemeAdmin,
Teams.Name as TeamName
FROM
TeamMembers
INNER JOIN
Teams ON TeamMembers.TeamId = Teams.Id
WHERE
TeamMembers.UserId = :UserId
AND Teams.DeleteAt = 0`,
map[string]interface{}{"UserId": userId})
if err != nil {
result.Err = model.NewAppError("SqlTeamStore.GetTeamMembersForExport", "store.sql_team.get_members.app_error", nil, "userId="+userId+" "+err.Error(), http.StatusInternalServerError)
return
}
result.Data = members
})
func (s SqlTeamStore) GetTeamMembersForExport(userId string) ([]*model.TeamMemberForExport, *model.AppError) {
var members []*model.TeamMemberForExport
_, err := s.GetReplica().Select(&members, `
SELECT
TeamMembers.TeamId,
TeamMembers.UserId,
TeamMembers.Roles,
TeamMembers.DeleteAt,
(TeamMembers.SchemeGuest IS NOT NULL AND TeamMembers.SchemeGuest) as SchemeGuest,
TeamMembers.SchemeUser,
TeamMembers.SchemeAdmin,
Teams.Name as TeamName
FROM
TeamMembers
INNER JOIN
Teams ON TeamMembers.TeamId = Teams.Id
WHERE
TeamMembers.UserId = :UserId
AND Teams.DeleteAt = 0`,
map[string]interface{}{"UserId": userId})
if err != nil {
return nil, model.NewAppError("SqlTeamStore.GetTeamMembersForExport", "store.sql_team.get_members.app_error", nil, "userId="+userId+" "+err.Error(), http.StatusInternalServerError)
}
return members, nil
}
func (s SqlTeamStore) UserBelongsToTeams(userId string, teamIds []string) store.StoreChannel {

View File

@@ -121,7 +121,7 @@ type TeamStore interface {
ClearAllCustomRoleAssignments() StoreChannel
AnalyticsGetTeamCountForScheme(schemeId 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
GetUserTeamIds(userId string, allowFromCache bool) StoreChannel
InvalidateAllTeamIdsForUser(userId string)

View File

@@ -445,19 +445,28 @@ func (_m *TeamStore) GetMembersByIds(teamId string, userIds []string, restrictio
}
// 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)
var r0 store.StoreChannel
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
var r0 []*model.TeamMemberForExport
if rf, ok := ret.Get(0).(func(string) []*model.TeamMemberForExport); ok {
r0 = rf(userId)
} else {
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

View File

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