// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: Apache-2.0 package arvados import "time" // User is an arvados#user record type User struct { 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 // record corresponding to this client's credentials. func (c *Client) CurrentUser() (User, error) { var u User err := c.RequestAndDecode(&u, "GET", "arvados/v1/users/current", nil, nil) return u, err }