Migrate Team.GetMember to Sync by default (#11141)
* Team.GetMember to Sync * fix govet: declaration of err shadows declaration at line 250 * Requested change * Requested change
Этот коммит содержится в:
коммит произвёл
Jesús Espino
родитель
b61ded0ae4
Коммит
8c56a5f202
@@ -587,30 +587,26 @@ func (s SqlTeamStore) UpdateMember(member *model.TeamMember) store.StoreChannel
|
||||
})
|
||||
}
|
||||
|
||||
func (s SqlTeamStore) GetMember(teamId string, userId string) store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
query := s.getTeamMembersWithSchemeSelectQuery().
|
||||
Where(sq.Eq{"TeamMembers.TeamId": teamId}).
|
||||
Where(sq.Eq{"TeamMembers.UserId": userId})
|
||||
func (s SqlTeamStore) GetMember(teamId string, userId string) (*model.TeamMember, *model.AppError) {
|
||||
query := s.getTeamMembersWithSchemeSelectQuery().
|
||||
Where(sq.Eq{"TeamMembers.TeamId": teamId}).
|
||||
Where(sq.Eq{"TeamMembers.UserId": userId})
|
||||
|
||||
queryString, args, err := query.ToSql()
|
||||
if err != nil {
|
||||
result.Err = model.NewAppError("SqlTeamStore.GetMember", "store.sql_team.get_member.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
queryString, args, err := query.ToSql()
|
||||
if err != nil {
|
||||
return nil, model.NewAppError("SqlTeamStore.GetMember", "store.sql_team.get_member.app_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
var dbMember teamMemberWithSchemeRoles
|
||||
err = s.GetReplica().SelectOne(&dbMember, queryString, args...)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
result.Err = model.NewAppError("SqlTeamStore.GetMember", "store.sql_team.get_member.missing.app_error", nil, "teamId="+teamId+" userId="+userId+" "+err.Error(), http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
result.Err = model.NewAppError("SqlTeamStore.GetMember", "store.sql_team.get_member.app_error", nil, "teamId="+teamId+" userId="+userId+" "+err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
var dbMember teamMemberWithSchemeRoles
|
||||
err = s.GetReplica().SelectOne(&dbMember, queryString, args...)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, model.NewAppError("SqlTeamStore.GetMember", "store.sql_team.get_member.missing.app_error", nil, "teamId="+teamId+" userId="+userId+" "+err.Error(), http.StatusNotFound)
|
||||
}
|
||||
result.Data = dbMember.ToModel()
|
||||
})
|
||||
return nil, model.NewAppError("SqlTeamStore.GetMember", "store.sql_team.get_member.app_error", nil, "teamId="+teamId+" userId="+userId+" "+err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return dbMember.ToModel(), nil
|
||||
}
|
||||
|
||||
func (s SqlTeamStore) GetMembers(teamId string, offset int, limit int, restrictions *model.ViewUsersRestrictions) ([]*model.TeamMember, *model.AppError) {
|
||||
|
||||
@@ -102,7 +102,7 @@ type TeamStore interface {
|
||||
AnalyticsTeamCount() (int64, *model.AppError)
|
||||
SaveMember(member *model.TeamMember, maxUsersPerTeam int) StoreChannel
|
||||
UpdateMember(member *model.TeamMember) StoreChannel
|
||||
GetMember(teamId string, userId string) StoreChannel
|
||||
GetMember(teamId string, userId string) (*model.TeamMember, *model.AppError)
|
||||
GetMembers(teamId string, offset int, limit int, restrictions *model.ViewUsersRestrictions) ([]*model.TeamMember, *model.AppError)
|
||||
GetMembersByIds(teamId string, userIds []string, restrictions *model.ViewUsersRestrictions) ([]*model.TeamMember, *model.AppError)
|
||||
GetTotalMemberCount(teamId string) (int64, *model.AppError)
|
||||
|
||||
@@ -336,19 +336,28 @@ func (_m *TeamStore) GetChannelUnreadsForTeam(teamId string, userId string) ([]*
|
||||
}
|
||||
|
||||
// GetMember provides a mock function with given fields: teamId, userId
|
||||
func (_m *TeamStore) GetMember(teamId string, userId string) store.StoreChannel {
|
||||
func (_m *TeamStore) GetMember(teamId string, userId string) (*model.TeamMember, *model.AppError) {
|
||||
ret := _m.Called(teamId, userId)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(string, string) store.StoreChannel); ok {
|
||||
var r0 *model.TeamMember
|
||||
if rf, ok := ret.Get(0).(func(string, string) *model.TeamMember); ok {
|
||||
r0 = rf(teamId, userId)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.TeamMember)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(string, string) *model.AppError); ok {
|
||||
r1 = rf(teamId, userId)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetMembers provides a mock function with given fields: teamId, offset, limit, restrictions
|
||||
|
||||
@@ -1037,10 +1037,9 @@ func testGetTeamMember(t *testing.T, ss store.Store) {
|
||||
m1 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()}
|
||||
store.Must(ss.Team().SaveMember(m1, -1))
|
||||
|
||||
if r := <-ss.Team().GetMember(m1.TeamId, m1.UserId); r.Err != nil {
|
||||
t.Fatal(r.Err)
|
||||
if rm1, err := ss.Team().GetMember(m1.TeamId, m1.UserId); err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
rm1 := r.Data.(*model.TeamMember)
|
||||
|
||||
if rm1.TeamId != m1.TeamId {
|
||||
t.Fatal("bad team id")
|
||||
@@ -1051,11 +1050,11 @@ func testGetTeamMember(t *testing.T, ss store.Store) {
|
||||
}
|
||||
}
|
||||
|
||||
if r := <-ss.Team().GetMember(m1.TeamId, ""); r.Err == nil {
|
||||
if _, err := ss.Team().GetMember(m1.TeamId, ""); err == nil {
|
||||
t.Fatal("empty user id - should have failed")
|
||||
}
|
||||
|
||||
if r := <-ss.Team().GetMember("", m1.UserId); r.Err == nil {
|
||||
if _, err := ss.Team().GetMember("", m1.UserId); err == nil {
|
||||
t.Fatal("empty team id - should have failed")
|
||||
}
|
||||
|
||||
@@ -1084,9 +1083,8 @@ func testGetTeamMember(t *testing.T, ss store.Store) {
|
||||
m2 := &model.TeamMember{TeamId: t2.Id, UserId: model.NewId(), SchemeUser: true}
|
||||
store.Must(ss.Team().SaveMember(m2, -1))
|
||||
|
||||
r2 := <-ss.Team().GetMember(m2.TeamId, m2.UserId)
|
||||
require.Nil(t, r2.Err)
|
||||
m3 := r2.Data.(*model.TeamMember)
|
||||
m3, err := ss.Team().GetMember(m2.TeamId, m2.UserId)
|
||||
require.Nil(t, err)
|
||||
t.Log(m3)
|
||||
|
||||
assert.Equal(t, s2.DefaultTeamUserRole, m3.Roles)
|
||||
@@ -1094,9 +1092,8 @@ func testGetTeamMember(t *testing.T, ss store.Store) {
|
||||
m4 := &model.TeamMember{TeamId: t2.Id, UserId: model.NewId(), SchemeGuest: true}
|
||||
store.Must(ss.Team().SaveMember(m4, -1))
|
||||
|
||||
r3 := <-ss.Team().GetMember(m4.TeamId, m4.UserId)
|
||||
require.Nil(t, r3.Err)
|
||||
m5 := r3.Data.(*model.TeamMember)
|
||||
m5, err := ss.Team().GetMember(m4.TeamId, m4.UserId)
|
||||
require.Nil(t, err)
|
||||
|
||||
assert.Equal(t, s2.DefaultTeamGuestRole, m5.Roles)
|
||||
}
|
||||
@@ -1440,23 +1437,20 @@ func testTeamStoreMigrateTeamMembers(t *testing.T, ss store.Store) {
|
||||
}
|
||||
}
|
||||
|
||||
res1 := <-ss.Team().GetMember(tm1.TeamId, tm1.UserId)
|
||||
assert.Nil(t, res1.Err)
|
||||
tm1b := res1.Data.(*model.TeamMember)
|
||||
tm1b, err := ss.Team().GetMember(tm1.TeamId, tm1.UserId)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, "", tm1b.ExplicitRoles)
|
||||
assert.True(t, tm1b.SchemeUser)
|
||||
assert.True(t, tm1b.SchemeAdmin)
|
||||
|
||||
res2 := <-ss.Team().GetMember(tm2.TeamId, tm2.UserId)
|
||||
assert.Nil(t, res2.Err)
|
||||
tm2b := res2.Data.(*model.TeamMember)
|
||||
tm2b, err := ss.Team().GetMember(tm2.TeamId, tm2.UserId)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, "", tm2b.ExplicitRoles)
|
||||
assert.True(t, tm2b.SchemeUser)
|
||||
assert.False(t, tm2b.SchemeAdmin)
|
||||
|
||||
res3 := <-ss.Team().GetMember(tm3.TeamId, tm3.UserId)
|
||||
assert.Nil(t, res3.Err)
|
||||
tm3b := res3.Data.(*model.TeamMember)
|
||||
tm3b, err := ss.Team().GetMember(tm3.TeamId, tm3.UserId)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, "something_else", tm3b.ExplicitRoles)
|
||||
assert.False(t, tm3b.SchemeUser)
|
||||
assert.False(t, tm3b.SchemeAdmin)
|
||||
@@ -1537,21 +1531,21 @@ func testTeamStoreClearAllCustomRoleAssignments(t *testing.T, ss store.Store) {
|
||||
|
||||
require.Nil(t, (<-ss.Team().ClearAllCustomRoleAssignments()).Err)
|
||||
|
||||
r1 := <-ss.Team().GetMember(m1.TeamId, m1.UserId)
|
||||
require.Nil(t, r1.Err)
|
||||
assert.Equal(t, m1.ExplicitRoles, r1.Data.(*model.TeamMember).Roles)
|
||||
r1, err := ss.Team().GetMember(m1.TeamId, m1.UserId)
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, m1.ExplicitRoles, r1.Roles)
|
||||
|
||||
r2 := <-ss.Team().GetMember(m2.TeamId, m2.UserId)
|
||||
require.Nil(t, r2.Err)
|
||||
assert.Equal(t, "team_user team_admin", r2.Data.(*model.TeamMember).Roles)
|
||||
r2, err := ss.Team().GetMember(m2.TeamId, m2.UserId)
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, "team_user team_admin", r2.Roles)
|
||||
|
||||
r3 := <-ss.Team().GetMember(m3.TeamId, m3.UserId)
|
||||
require.Nil(t, r3.Err)
|
||||
assert.Equal(t, m3.ExplicitRoles, r3.Data.(*model.TeamMember).Roles)
|
||||
r3, err := ss.Team().GetMember(m3.TeamId, m3.UserId)
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, m3.ExplicitRoles, r3.Roles)
|
||||
|
||||
r4 := <-ss.Team().GetMember(m4.TeamId, m4.UserId)
|
||||
require.Nil(t, r4.Err)
|
||||
assert.Equal(t, "", r4.Data.(*model.TeamMember).Roles)
|
||||
r4, err := ss.Team().GetMember(m4.TeamId, m4.UserId)
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, "", r4.Roles)
|
||||
}
|
||||
|
||||
func testTeamStoreAnalyticsGetTeamCountForScheme(t *testing.T, ss store.Store) {
|
||||
|
||||
Ссылка в новой задаче
Block a user