Merge pull request #12 from skade/optional-name

Make Github name optional
This commit is contained in:
pat brisbin 2014-09-18 11:27:39 -04:00
commit 66054fbb54

View File

@ -32,7 +32,7 @@ import qualified Data.Text as T
data GithubUser = GithubUser data GithubUser = GithubUser
{ githubUserId :: Int { githubUserId :: Int
, githubUserName :: Text , githubUserName :: Maybe Text
, githubUserLogin :: Text , githubUserLogin :: Text
, githubUserAvatarUrl :: Text , githubUserAvatarUrl :: Text
} }
@ -40,7 +40,7 @@ data GithubUser = GithubUser
instance FromJSON GithubUser where instance FromJSON GithubUser where
parseJSON (Object o) = parseJSON (Object o) =
GithubUser <$> o .: "id" GithubUser <$> o .: "id"
<*> o .: "name" <*> o .:? "name"
<*> o .: "login" <*> o .: "login"
<*> o .: "avatar_url" <*> o .: "avatar_url"
@ -113,9 +113,12 @@ fetchGithubProfile manager token = do
toCreds :: GithubUser -> [GithubUserEmail] -> AccessToken -> Creds m toCreds :: GithubUser -> [GithubUserEmail] -> AccessToken -> Creds m
toCreds user userMail token = Creds "github" toCreds user userMail token = Creds "github"
(T.pack $ show $ githubUserId user) (T.pack $ show $ githubUserId user)
[ ("name", githubUserName user) cExtra
, ("email", githubUserEmail $ head userMail) where
, ("login", githubUserLogin user) cExtra = [ ("email", githubUserEmail $ head userMail)
, ("avatar_url", githubUserAvatarUrl user) , ("login", githubUserLogin user)
, ("access_token", decodeUtf8 $ accessToken token) , ("avatar_url", githubUserAvatarUrl user)
] , ("access_token", decodeUtf8 $ accessToken token)
] ++ (maybeName $ githubUserName user)
maybeName Nothing = []
maybeName (Just name) = [("name", name)]