diff options
author | George Goldberg <george@gberg.me> | 2017-01-13 13:52:32 +0000 |
---|---|---|
committer | enahum <nahumhbl@gmail.com> | 2017-01-13 10:52:32 -0300 |
commit | 4e160c78abbc2a33ed9a329c0a62b1bfb7f411b6 (patch) | |
tree | 3c5d0f13fb8b61dbb75b72852d5501ab6c9251d1 /model/client.go | |
parent | e69809dce3708b7ba28a7475c8babbb429ca601c (diff) | |
download | chat-4e160c78abbc2a33ed9a329c0a62b1bfb7f411b6.tar.gz chat-4e160c78abbc2a33ed9a329c0a62b1bfb7f411b6.tar.bz2 chat-4e160c78abbc2a33ed9a329c0a62b1bfb7f411b6.zip |
PLT-5050 (Server). API to update channel member roles. (#5043)
Implements API reference proposal mattermost-api-reference:#66.
Diffstat (limited to 'model/client.go')
-rw-r--r-- | model/client.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/model/client.go b/model/client.go index b5c22c6ca..c75121e97 100644 --- a/model/client.go +++ b/model/client.go @@ -2334,3 +2334,26 @@ func (c *Client) ListReactions(channelId string, postId string) ([]*Reaction, *A return ReactionsFromJson(r.Body), nil } } + +// Updates the user's roles in the channel by replacing them with the roles provided. +func (c *Client) UpdateChannelRoles(channelId string, userId string, roles string) (map[string]string, *ResponseMetadata) { + data := make(map[string]string) + data["new_roles"] = roles + data["user_id"] = userId + + if r, err := c.DoApiPost(c.GetChannelRoute(channelId)+"/update_member_roles", MapToJson(data)); err != nil { + metadata := ResponseMetadata{Error: err} + if r != nil { + metadata.StatusCode = r.StatusCode + } + return nil, &metadata + } else { + defer closeBody(r) + return MapFromJson(r.Body), + &ResponseMetadata{ + StatusCode: r.StatusCode, + RequestId: r.Header.Get(HEADER_REQUEST_ID), + Etag: r.Header.Get(HEADER_ETAG_SERVER), + } + } +} |