From 5fd11bd674075c57cb5c6f9e4b90042c1a37b3b5 Mon Sep 17 00:00:00 2001 From: Carlos Tadeu Panato Junior Date: Wed, 28 Dec 2016 14:44:32 +0100 Subject: Add API call to get a user by their email address (#4884) * Add API call to get a user by their email address * update per review --- model/client.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'model') diff --git a/model/client.go b/model/client.go index 4a6cb169f..54095fcba 100644 --- a/model/client.go +++ b/model/client.go @@ -518,6 +518,21 @@ func (c *Client) GetByUsername(username string, etag string) (*Result, *AppError } } +// getByEmail returns a user based on a provided username string. Must be authenticated. +func (c *Client) GetByEmail(email string, etag string) (*User, *ResponseMetadata) { + if r, err := c.DoApiGet(fmt.Sprintf("/users/email/%v", email), "", etag); err != nil { + return nil, &ResponseMetadata{StatusCode: r.StatusCode, Error: err} + } else { + defer closeBody(r) + return UserFromJson(r.Body), + &ResponseMetadata{ + StatusCode: r.StatusCode, + RequestId: r.Header.Get(HEADER_REQUEST_ID), + Etag: r.Header.Get(HEADER_ETAG_SERVER), + } + } +} + // GetMe returns the current user. func (c *Client) GetMe(etag string) (*Result, *AppError) { if r, err := c.DoApiGet("/users/me", "", etag); err != nil { -- cgit v1.2.3-1-g7c22