github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/lib/login/extract_info.go (about) 1 package loginLib 2 3 import ( 4 loginI18n "github.com/taubyte/tau-cli/i18n/login" 5 "github.com/taubyte/tau-cli/states" 6 ) 7 8 func extractInfo(token, provider string) (name, email string, err error) { 9 // TODO provider 10 11 client := githubApiClient(token) 12 13 user, _, err := client.Users.Get( 14 states.Context, 15 "", 16 ) 17 if err != nil { 18 err = loginI18n.GettingUserInfoFailed(err) 19 return 20 } 21 22 name = user.GetLogin() 23 24 emails, _, err := client.Users.ListEmails( 25 states.Context, 26 nil, 27 ) 28 if err != nil { 29 err = loginI18n.ListingEmailsFailed(err) 30 return 31 } 32 if len(emails) == 0 { 33 err = loginI18n.ErrorNoEmailsFound 34 return 35 } 36 37 email = emails[0].GetEmail() 38 39 return 40 }