diff options
Diffstat (limited to 'model/client.go')
-rw-r--r-- | model/client.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/model/client.go b/model/client.go index 8a361c177..32532508f 100644 --- a/model/client.go +++ b/model/client.go @@ -500,6 +500,17 @@ func (c *Client) GetUser(id string, etag string) (*Result, *AppError) { } } +// getByUsername returns a user based on a provided username string. Must be authenticated. +func (c *Client) GetByUsername(username string, etag string) (*Result, *AppError) { + if r, err := c.DoApiGet(fmt.Sprintf("/users/name/%v", username), "", etag); err != nil { + return nil, err + } else { + defer closeBody(r) + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), UserFromJson(r.Body)}, nil + } +} + // GetMe returns the current user. func (c *Client) GetMe(etag string) (*Result, *AppError) { if r, err := c.DoApiGet("/users/me", "", etag); err != nil { @@ -846,6 +857,16 @@ func (c *Client) CreateCommand(cmd *Command) (*Result, *AppError) { } } +func (c *Client) UpdateCommand(cmd *Command) (*Result, *AppError) { + if r, err := c.DoApiPost(c.GetTeamRoute()+"/commands/update", cmd.ToJson()); err != nil { + return nil, err + } else { + defer closeBody(r) + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), CommandFromJson(r.Body)}, nil + } +} + func (c *Client) RegenCommandToken(data map[string]string) (*Result, *AppError) { if r, err := c.DoApiPost(c.GetTeamRoute()+"/commands/regen_token", MapToJson(data)); err != nil { return nil, err |