From ea74613444c65e965a76a6ad7640f6c011c2c69b Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Sat, 25 Mar 2017 02:38:24 -0400 Subject: Implement some team endpoints for APIv4 (#5870) * Implement GET /users/{user_id}/teams/members endpoint for APIv4 * Implement DELETE /teams/{team_id}/members/{user_id} endpoint for APIv4 --- model/client4.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'model/client4.go') diff --git a/model/client4.go b/model/client4.go index 9ad9c9ae4..19d4a9a00 100644 --- a/model/client4.go +++ b/model/client4.go @@ -819,6 +819,16 @@ func (c *Client4) GetTeamMembers(teamId string, page int, perPage int, etag stri } } +// GetTeamMembersForUser returns the team members for a user. +func (c *Client4) GetTeamMembersForUser(userId string, etag string) ([]*TeamMember, *Response) { + if r, err := c.DoApiGet(c.GetUserRoute(userId)+"/teams/members", etag); err != nil { + return nil, &Response{StatusCode: r.StatusCode, Error: err} + } else { + defer closeBody(r) + return TeamMembersFromJson(r.Body), BuildResponse(r) + } +} + // GetTeamMembersByIds will return an array of team members based on the // team id and a list of user ids provided. Must be authenticated. func (c *Client4) GetTeamMembersByIds(teamId string, userIds []string) ([]*TeamMember, *Response) { @@ -852,6 +862,16 @@ func (c *Client4) AddTeamMember(teamId, userId, hash, dataToHash, inviteId strin } } +// RemoveTeamMember will remove a user from a team. +func (c *Client4) RemoveTeamMember(teamId, userId string) (bool, *Response) { + if r, err := c.DoApiDelete(c.GetTeamMemberRoute(teamId, userId)); err != nil { + return false, &Response{StatusCode: r.StatusCode, Error: err} + } else { + defer closeBody(r) + return CheckStatusOK(r), BuildResponse(r) + } +} + // GetTeamStats returns a team stats based on the team id string. // Must be authenticated. func (c *Client4) GetTeamStats(teamId, etag string) (*TeamStats, *Response) { -- cgit v1.2.3-1-g7c22