Migrate User.GetTeamGroupUsers to Sync by default (#11414)

This commit is contained in:
Claudio Costa
2019-06-27 09:59:50 +02:00
committed by Saturnino Abril
parent 8841e3dab9
commit eb8b475497
5 changed files with 32 additions and 32 deletions

View File

@@ -609,11 +609,7 @@ func (a *App) GetUsersWithoutTeam(offset int, limit int, viewRestrictions *model
// GetTeamGroupUsers returns the users who are associated to the team via GroupTeams and GroupMembers.
func (a *App) GetTeamGroupUsers(teamID string) ([]*model.User, *model.AppError) {
result := <-a.Srv.Store.User().GetTeamGroupUsers(teamID)
if result.Err != nil {
return nil, result.Err
}
return result.Data.([]*model.User), nil
return a.Srv.Store.User().GetTeamGroupUsers(teamID)
}
// GetChannelGroupUsers returns the users who are associated to the channel via GroupChannels and GroupMembers.

View File

@@ -1643,28 +1643,24 @@ func (us SqlUserStore) GetUsersBatchForIndexing(startTime, endTime int64, limit
return usersForIndexing, nil
}
func (us SqlUserStore) GetTeamGroupUsers(teamID string) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
query := applyTeamGroupConstrainedFilter(us.usersQuery, teamID)
func (us SqlUserStore) GetTeamGroupUsers(teamID string) ([]*model.User, *model.AppError) {
query := applyTeamGroupConstrainedFilter(us.usersQuery, teamID)
queryString, args, err := query.ToSql()
if err != nil {
result.Err = model.NewAppError("SqlUserStore.UsersPermittedToTeam", "store.sql_user.app_error", nil, err.Error(), http.StatusInternalServerError)
return
}
queryString, args, err := query.ToSql()
if err != nil {
return nil, model.NewAppError("SqlUserStore.UsersPermittedToTeam", "store.sql_user.app_error", nil, err.Error(), http.StatusInternalServerError)
}
var users []*model.User
if _, err := us.GetReplica().Select(&users, queryString, args...); err != nil {
result.Err = model.NewAppError("SqlUserStore.UsersPermittedToTeam", "store.sql_user.get_profiles.app_error", nil, err.Error(), http.StatusInternalServerError)
return
}
var users []*model.User
if _, err := us.GetReplica().Select(&users, queryString, args...); err != nil {
return nil, model.NewAppError("SqlUserStore.UsersPermittedToTeam", "store.sql_user.get_profiles.app_error", nil, err.Error(), http.StatusInternalServerError)
}
for _, u := range users {
u.Sanitize(map[string]bool{})
}
for _, u := range users {
u.Sanitize(map[string]bool{})
}
result.Data = users
})
return users, nil
}
func (us SqlUserStore) GetChannelGroupUsers(channelID string) ([]*model.User, *model.AppError) {

View File

@@ -302,7 +302,7 @@ type UserStore interface {
GetAllAfter(limit int, afterId string) StoreChannel
GetUsersBatchForIndexing(startTime, endTime int64, limit int) ([]*model.UserForIndexing, *model.AppError)
Count(options model.UserCountOptions) (int64, *model.AppError)
GetTeamGroupUsers(teamID string) StoreChannel
GetTeamGroupUsers(teamID string) ([]*model.User, *model.AppError)
GetChannelGroupUsers(channelID string) ([]*model.User, *model.AppError)
}

View File

@@ -617,19 +617,28 @@ func (_m *UserStore) GetSystemAdminProfiles() store.StoreChannel {
}
// GetTeamGroupUsers provides a mock function with given fields: teamID
func (_m *UserStore) GetTeamGroupUsers(teamID string) store.StoreChannel {
func (_m *UserStore) GetTeamGroupUsers(teamID string) ([]*model.User, *model.AppError) {
ret := _m.Called(teamID)
var r0 store.StoreChannel
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
var r0 []*model.User
if rf, ok := ret.Get(0).(func(string) []*model.User); ok {
r0 = rf(teamID)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel)
r0 = ret.Get(0).([]*model.User)
}
}
return r0
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
r1 = rf(teamID)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
}
// GetUnreadCount provides a mock function with given fields: userId

View File

@@ -3776,9 +3776,8 @@ func testUserStoreGetTeamGroupUsers(t *testing.T, ss store.Store) {
var users []*model.User
requireNUsers := func(n int) {
res = <-ss.User().GetTeamGroupUsers(team.Id)
require.Nil(t, res.Err)
users = res.Data.([]*model.User)
users, err = ss.User().GetTeamGroupUsers(team.Id)
require.Nil(t, err)
require.NotNil(t, users)
require.Len(t, users, n)
}