summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-03-25 02:38:24 -0400
committerenahum <nahumhbl@gmail.com>2017-03-25 03:38:24 -0300
commitea74613444c65e965a76a6ad7640f6c011c2c69b (patch)
tree6d4941d695a5637bb2ff112706edeabc7ba79ef9 /model
parent54d3d47daf9190275bbdaf8703b84969a4593451 (diff)
downloadchat-ea74613444c65e965a76a6ad7640f6c011c2c69b.tar.gz
chat-ea74613444c65e965a76a6ad7640f6c011c2c69b.tar.bz2
chat-ea74613444c65e965a76a6ad7640f6c011c2c69b.zip
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
Diffstat (limited to 'model')
-rw-r--r--model/client4.go20
1 files changed, 20 insertions, 0 deletions
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) {