19146: Add can_write and can_manage response fields.
[arvados.git] / sdk / go / arvados / user.go
index 38d2eddd0a11312541e60dc9a7bc66eb0454622f..2fb061e7fb818840fc8e1c42ae10e771c45e1ee5 100644 (file)
@@ -4,12 +4,38 @@
 
 package arvados
 
+import "time"
+
 // User is an arvados#user record
 type User struct {
-       UUID     string `json:"uuid,omitempty"`
-       IsActive bool   `json:"is_active"`
-       IsAdmin  bool   `json:"is_admin"`
-       Username string `json:"username,omitempty"`
+       UUID                 string                 `json:"uuid"`
+       Etag                 string                 `json:"etag"`
+       IsActive             bool                   `json:"is_active"`
+       IsAdmin              bool                   `json:"is_admin"`
+       Username             string                 `json:"username"`
+       Email                string                 `json:"email"`
+       FullName             string                 `json:"full_name"`
+       FirstName            string                 `json:"first_name"`
+       LastName             string                 `json:"last_name"`
+       IdentityURL          string                 `json:"identity_url"`
+       IsInvited            bool                   `json:"is_invited"`
+       OwnerUUID            string                 `json:"owner_uuid"`
+       CreatedAt            time.Time              `json:"created_at"`
+       ModifiedAt           time.Time              `json:"modified_at"`
+       ModifiedByUserUUID   string                 `json:"modified_by_user_uuid"`
+       ModifiedByClientUUID string                 `json:"modified_by_client_uuid"`
+       Prefs                map[string]interface{} `json:"prefs"`
+       WritableBy           []string               `json:"writable_by,omitempty"`
+       CanWrite             bool                   `json:"can_write"`
+       CanManage            bool                   `json:"can_manage"`
+}
+
+// UserList is an arvados#userList resource.
+type UserList struct {
+       Items          []User `json:"items"`
+       ItemsAvailable int    `json:"items_available"`
+       Offset         int    `json:"offset"`
+       Limit          int    `json:"limit"`
 }
 
 // CurrentUser calls arvados.v1.users.current, and returns the User