github.com/crosbymichael/octokat@v0.0.0-20160826194511-076a32289ed5/users.go (about)

     1  package octokat
     2  
     3  import (
     4  	"fmt"
     5  	"time"
     6  )
     7  
     8  type User struct {
     9  	Login       string    `json:"login,omitempty"`
    10  	ID          int       `json:"id,omitempty"`
    11  	AvatarURL   string    `json:"avatar_url,omitempty"`
    12  	GravatarID  string    `json:"gravatar_id,omitempty"`
    13  	URL         string    `json:"url,omitempty"`
    14  	Name        string    `json:"name,omitempty"`
    15  	Company     string    `json:"company,omitempty"`
    16  	Blog        string    `json:"blog,omitempty"`
    17  	Location    string    `json:"location,omitempty"`
    18  	Email       string    `json:"email,omitempty"`
    19  	Hireable    bool      `json:"hireable,omitempty"`
    20  	Bio         string    `json:"bio,omitempty"`
    21  	PublicRepos int       `json:"public_repos,omitempty"`
    22  	PublicGists int       `json:"public_gists,omitempty"`
    23  	Followers   int       `json:"followers,omitempty"`
    24  	Following   int       `json:"following,omitempty"`
    25  	HTMLURL     string    `json:"html_url,omitempty"`
    26  	CreatedAt   time.Time `json:"created_at,omitempty"`
    27  	UpdatedAt   time.Time `json:"updated_at,omitempty"`
    28  	Type        string    `json:"type,omitempty"`
    29  	// hypermedia relations
    30  	FollowingURL      string `json:"following_url,omitempty"`
    31  	FollowersURL      string `json:"followers_url,omitempty"`
    32  	GistsURL          string `json:"gists_url,omitempty"`
    33  	StarredURL        string `json:"starred_url,omitempty"`
    34  	SubscriptionsURL  string `json:"subscriptions_url,omitempty"`
    35  	OrganizationsURL  string `json:"organizations_url,omitempty"`
    36  	ReposURL          string `json:"repos_url,omitempty"`
    37  	EventsURL         string `json:"events_url,omitempty"`
    38  	ReceivedEventsURL string `json:"received_events_url,omitempty"`
    39  }
    40  
    41  func (c *Client) User(login string, options *Options) (user *User, err error) {
    42  	var path string
    43  	if login == "" {
    44  		path = "user"
    45  	} else {
    46  		path = fmt.Sprintf("users/%s", login)
    47  	}
    48  
    49  	err = c.jsonGet(path, options, &user)
    50  	return
    51  }