diff options
Diffstat (limited to 'vendor/github.com/miniflux/miniflux-go/client.go')
-rw-r--r-- | vendor/github.com/miniflux/miniflux-go/client.go | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/vendor/github.com/miniflux/miniflux-go/client.go b/vendor/github.com/miniflux/miniflux-go/client.go index 7350a70..8440a31 100644 --- a/vendor/github.com/miniflux/miniflux-go/client.go +++ b/vendor/github.com/miniflux/miniflux-go/client.go @@ -33,8 +33,8 @@ func (c *Client) Users() (Users, error) { return users, nil } -// User returns a single user. -func (c *Client) User(userID int64) (*User, error) { +// UserByID returns a single user. +func (c *Client) UserByID(userID int64) (*User, error) { body, err := c.request.Get(fmt.Sprintf("/v1/users/%d", userID)) if err != nil { return nil, err @@ -50,6 +50,23 @@ func (c *Client) User(userID int64) (*User, error) { return &user, nil } +// UserByUsername returns a single user. +func (c *Client) UserByUsername(username string) (*User, error) { + body, err := c.request.Get(fmt.Sprintf("/v1/users/%s", username)) + if err != nil { + return nil, err + } + defer body.Close() + + var user User + decoder := json.NewDecoder(body) + if err := decoder.Decode(&user); err != nil { + return nil, fmt.Errorf("miniflux: response error (%v)", err) + } + + return &user, nil +} + // CreateUser creates a new user in the system. func (c *Client) CreateUser(username, password string, isAdmin bool) (*User, error) { body, err := c.request.Post("/v1/users", &User{Username: username, Password: password, IsAdmin: isAdmin}) |