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 }