Files
base/internal/pkg/oauth/github/user.go
2026-04-10 18:25:21 +03:30

60 lines
2.0 KiB
Go

package github
import (
"fmt"
"time"
)
type UserInfo struct {
Login string `json:"login"`
Id int `json:"id"`
NodeId string `json:"node_id"`
AvatarUrl string `json:"avatar_url"`
GravatarId string `json:"gravatar_id"`
Url string `json:"url"`
HtmlUrl string `json:"html_url"`
FollowersUrl string `json:"followers_url"`
FollowingUrl string `json:"following_url"`
GistsUrl string `json:"gists_url"`
StarredUrl string `json:"starred_url"`
SubscriptionsUrl string `json:"subscriptions_url"`
OrganizationsUrl string `json:"organizations_url"`
ReposUrl string `json:"repos_url"`
EventsUrl string `json:"events_url"`
ReceivedEventsUrl string `json:"received_events_url"`
Type string `json:"type"`
UserViewType string `json:"user_view_type"`
SiteAdmin bool `json:"site_admin"`
Name string `json:"name"`
Company interface{} `json:"company"`
Blog string `json:"blogusecase"`
Location interface{} `json:"location"`
GEmail string `json:"email"`
Hireable interface{} `json:"hireable"`
Bio string `json:"bio"`
TwitterUsername string `json:"twitter_username"`
NotificationEmail string `json:"notification_email"`
PublicRepos int `json:"public_repos"`
PublicGists int `json:"public_gists"`
Followers int `json:"followers"`
Following int `json:"following"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
func (u UserInfo) ID() string {
return fmt.Sprintf("%d", u.Id)
}
func (u UserInfo) Email() string {
return u.GEmail
}
func (u UserInfo) FirstName() string {
return u.Name
}
func (u UserInfo) LastName() string {
return u.Name
}