Include public_email key in credsExtra for Github

This commit is contained in:
patrick brisbin 2016-02-07 14:53:11 -05:00
parent 29b4a7f4e7
commit f412b7c8f2
No known key found for this signature in database
GPG Key ID: ADB6812F871D4478

View File

@ -38,6 +38,7 @@ data GithubUser = GithubUser
, githubUserLogin :: Text
, githubUserAvatarUrl :: Text
, githubUserLocation :: Text
, githubUserPublicEmail :: Maybe Text
}
instance FromJSON GithubUser where
@ -47,6 +48,7 @@ instance FromJSON GithubUser where
<*> o .: "login"
<*> o .: "avatar_url"
<*> o .: "location"
<*> o .: "email"
parseJSON _ = mzero
@ -104,10 +106,16 @@ toCreds user userMails token = Creds
, ("avatar_url", githubUserAvatarUrl user)
, ("location", githubUserLocation user)
, ("access_token", decodeUtf8 $ accessToken token)
] ++ maybeName (githubUserName user)
]
++ maybeName (githubUserName user)
++ maybePublicEmail (githubUserPublicEmail user)
}
where
email = fromMaybe (head userMails) $ find githubUserEmailPrimary userMails
maybeName Nothing = []
maybeName (Just name) = [("name", name)]
maybePublicEmail Nothing = []
maybePublicEmail (Just e) = [("public_email", e)]