[MM-13746] Add GetTeamMembersForUser and GetChannelMembersForUser apis (#10269)
* Add GetTeamMembersForUser and GetChannelMembersForUser apis * Address comments * Fix tests * Fix test * Fix comment * Fix minimum server version * Change to []*model.ChannelMember * Fix panic, add more tests * Remove print statement
Этот коммит содержится в:
@@ -1207,6 +1207,22 @@ func (a *App) GetChannelMembersForUser(teamId string, userId string) (*model.Cha
|
||||
return result.Data.(*model.ChannelMembers), nil
|
||||
}
|
||||
|
||||
func (a *App) GetChannelMembersForUserWithPagination(teamId, userId string, page, perPage int) ([]*model.ChannelMember, *model.AppError) {
|
||||
result := <-a.Srv.Store.Channel().GetMembersForUserWithPagination(teamId, userId, page, perPage)
|
||||
if result.Err != nil {
|
||||
return nil, result.Err
|
||||
}
|
||||
|
||||
m := result.Data.(*model.ChannelMembers)
|
||||
members := make([]*model.ChannelMember, 0)
|
||||
if m != nil {
|
||||
for _, member := range *m {
|
||||
members = append(members, &member)
|
||||
}
|
||||
}
|
||||
return members, nil
|
||||
}
|
||||
|
||||
func (a *App) GetChannelMemberCount(channelId string) (int64, *model.AppError) {
|
||||
result := <-a.Srv.Store.Channel().GetMemberCount(channelId, true)
|
||||
if result.Err != nil {
|
||||
|
||||
@@ -158,6 +158,10 @@ func (api *PluginAPI) GetTeamMember(teamId, userId string) (*model.TeamMember, *
|
||||
return api.app.GetTeamMember(teamId, userId)
|
||||
}
|
||||
|
||||
func (api *PluginAPI) GetTeamMembersForUser(userId string, page int, perPage int) ([]*model.TeamMember, *model.AppError) {
|
||||
return api.app.GetTeamMembersForUserWithPagination(userId, page, perPage)
|
||||
}
|
||||
|
||||
func (api *PluginAPI) UpdateTeamMemberRoles(teamId, userId, newRoles string) (*model.TeamMember, *model.AppError) {
|
||||
return api.app.UpdateTeamMemberRoles(teamId, userId, newRoles)
|
||||
}
|
||||
@@ -375,6 +379,10 @@ func (api *PluginAPI) GetChannelMembersByIds(channelId string, userIds []string)
|
||||
return api.app.GetChannelMembersByIds(channelId, userIds)
|
||||
}
|
||||
|
||||
func (api *PluginAPI) GetChannelMembersForUser(teamId, userId string, page, perPage int) ([]*model.ChannelMember, *model.AppError) {
|
||||
return api.app.GetChannelMembersForUserWithPagination(teamId, userId, page, perPage)
|
||||
}
|
||||
|
||||
func (api *PluginAPI) UpdateChannelMemberRoles(channelId, userId, newRoles string) (*model.ChannelMember, *model.AppError) {
|
||||
return api.app.UpdateChannelMemberRoles(channelId, userId, newRoles)
|
||||
}
|
||||
|
||||
@@ -881,3 +881,30 @@ func TestPluginAPI_SearchTeams(t *testing.T) {
|
||||
assert.Empty(t, teams)
|
||||
})
|
||||
}
|
||||
|
||||
func TestPluginAPI_GetTeamMembersForUser(t *testing.T) {
|
||||
th := Setup(t).InitBasic()
|
||||
defer th.TearDown()
|
||||
api := th.SetupPluginAPI()
|
||||
|
||||
userId := th.BasicUser.Id
|
||||
teamMembers, err := api.GetTeamMembersForUser(userId, 0, 10)
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, len(teamMembers), 1)
|
||||
assert.Equal(t, teamMembers[0].TeamId, th.BasicTeam.Id)
|
||||
assert.Equal(t, teamMembers[0].UserId, th.BasicUser.Id)
|
||||
}
|
||||
|
||||
func TestPluginAPI_GetChannelMembersForUser(t *testing.T) {
|
||||
th := Setup(t).InitBasic()
|
||||
defer th.TearDown()
|
||||
api := th.SetupPluginAPI()
|
||||
|
||||
userId := th.BasicUser.Id
|
||||
teamId := th.BasicTeam.Id
|
||||
channelMembers, err := api.GetChannelMembersForUser(teamId, userId, 0, 10)
|
||||
|
||||
assert.Nil(t, err)
|
||||
assert.Equal(t, len(channelMembers), 3)
|
||||
assert.Equal(t, channelMembers[0].UserId, th.BasicUser.Id)
|
||||
}
|
||||
|
||||
@@ -590,6 +590,14 @@ func (a *App) GetTeamMembersForUser(userId string) ([]*model.TeamMember, *model.
|
||||
return result.Data.([]*model.TeamMember), nil
|
||||
}
|
||||
|
||||
func (a *App) GetTeamMembersForUserWithPagination(userId string, page, perPage int) ([]*model.TeamMember, *model.AppError) {
|
||||
result := <-a.Srv.Store.Team().GetTeamsForUserWithPagination(userId, page, perPage)
|
||||
if result.Err != nil {
|
||||
return nil, result.Err
|
||||
}
|
||||
return result.Data.([]*model.TeamMember), nil
|
||||
}
|
||||
|
||||
func (a *App) GetTeamMembers(teamId string, offset int, limit int) ([]*model.TeamMember, *model.AppError) {
|
||||
result := <-a.Srv.Store.Team().GetMembers(teamId, offset, limit)
|
||||
if result.Err != nil {
|
||||
|
||||
Ссылка в новой задаче
Block a user