MM-43929: Ignore archived team memberships in GraphQL (#20130)

https://mattermost.atlassian.net/browse/MM-43929

```release-note
NONE
```
Этот коммит содержится в:
Agniva De Sarker
2022-05-04 19:43:02 +05:30
коммит произвёл GitHub
родитель 89fac9d485
Коммит 3c83187c5b
18 изменённых файлов: 59 добавлений и 34 удалений

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

@@ -53,7 +53,7 @@ func createEmoji(c *Context, w http.ResponseWriter, r *http.Request) {
defer c.LogAuditRec(auditRec)
// Allow any user with CREATE_EMOJIS permission at Team level to create emojis at system level
memberships, err := c.App.GetTeamMembersForUser(c.AppContext.Session().UserId)
memberships, err := c.App.GetTeamMembersForUser(c.AppContext.Session().UserId, true)
if err != nil {
c.Err = err
@@ -143,7 +143,7 @@ func deleteEmoji(c *Context, w http.ResponseWriter, r *http.Request) {
auditRec.AddMeta("emoji", emoji)
// Allow any user with DELETE_EMOJIS permission at Team level to delete emojis at system level
memberships, err := c.App.GetTeamMembersForUser(c.AppContext.Session().UserId)
memberships, err := c.App.GetTeamMembersForUser(c.AppContext.Session().UserId, true)
if err != nil {
c.Err = err

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

@@ -172,7 +172,8 @@ func (r *resolver) TeamMembers(ctx context.Context, args struct {
return []*teamMember{{*tm}}, nil
}
members, appErr := c.App.GetTeamMembersForUser(args.UserID)
// Do not return archived team members
members, appErr := c.App.GetTeamMembersForUser(args.UserID, false)
if appErr != nil {
return nil, appErr
}

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

@@ -248,5 +248,13 @@ func TestGraphQLTeamMembers(t *testing.T) {
expectedTeams[i].Id = tm.Team.ID
expectedTeams[i].DisplayName = tm.Team.DisplayName
}
// Removing from a team and ensuring we get the right response.
th.UnlinkUserFromTeam(th.BasicUser, myTeam)
resp, err = th.MakeGraphQLRequest(&input)
require.NoError(t, err)
require.Len(t, resp.Errors, 0)
require.NoError(t, json.Unmarshal(resp.Data, &q))
assert.Len(t, q.TeamMembers, 1)
})
}

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

@@ -554,7 +554,7 @@ func getTeamMembersForUser(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
members, err := c.App.GetTeamMembersForUser(c.Params.UserId)
members, err := c.App.GetTeamMembersForUser(c.Params.UserId, true)
if err != nil {
c.Err = err
return