27d2b28a42b6c5c4312d0aa16624e8061103ac5d
[arvados.git] / sdk / go / arvados / user.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: Apache-2.0
4
5 package arvados
6
7 // User is an arvados#user record
8 type User struct {
9         UUID     string `json:"uuid"`
10         IsActive bool   `json:"is_active"`
11         IsAdmin  bool   `json:"is_admin"`
12         Username string `json:"username"`
13         Email    string `json:"email"`
14 }
15
16 // UserList is an arvados#userList resource.
17 type UserList struct {
18         Items          []User `json:"items"`
19         ItemsAvailable int    `json:"items_available"`
20         Offset         int    `json:"offset"`
21         Limit          int    `json:"limit"`
22 }
23
24 // CurrentUser calls arvados.v1.users.current, and returns the User
25 // record corresponding to this client's credentials.
26 func (c *Client) CurrentUser() (User, error) {
27         var u User
28         err := c.RequestAndDecode(&u, "GET", "arvados/v1/users/current", nil, nil)
29         return u, err
30 }