{-# LANGUAGE TemplateHaskell #-}
module Strive.Types.Authentication
( TokenExchangeResponse(..)
, DeauthorizationResponse(..)
) where
import Data.Aeson.TH (deriveFromJSON)
import Data.Text (Text)
import Strive.Internal.TH (options)
import Strive.Types.Athletes (AthleteSummary)
data TokenExchangeResponse = TokenExchangeResponse
{ TokenExchangeResponse -> Text
tokenExchangeResponse_accessToken :: Text
, TokenExchangeResponse -> AthleteSummary
tokenExchangeResponse_athlete :: AthleteSummary
}
deriving Int -> TokenExchangeResponse -> ShowS
[TokenExchangeResponse] -> ShowS
TokenExchangeResponse -> String
(Int -> TokenExchangeResponse -> ShowS)
-> (TokenExchangeResponse -> String)
-> ([TokenExchangeResponse] -> ShowS)
-> Show TokenExchangeResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TokenExchangeResponse] -> ShowS
$cshowList :: [TokenExchangeResponse] -> ShowS
show :: TokenExchangeResponse -> String
$cshow :: TokenExchangeResponse -> String
showsPrec :: Int -> TokenExchangeResponse -> ShowS
$cshowsPrec :: Int -> TokenExchangeResponse -> ShowS
Show
$(deriveFromJSON options ''TokenExchangeResponse)
data DeauthorizationResponse = DeauthorizationResponse
{ DeauthorizationResponse -> Text
deauthorizationResponse_accessToken :: Text
}
deriving Int -> DeauthorizationResponse -> ShowS
[DeauthorizationResponse] -> ShowS
DeauthorizationResponse -> String
(Int -> DeauthorizationResponse -> ShowS)
-> (DeauthorizationResponse -> String)
-> ([DeauthorizationResponse] -> ShowS)
-> Show DeauthorizationResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeauthorizationResponse] -> ShowS
$cshowList :: [DeauthorizationResponse] -> ShowS
show :: DeauthorizationResponse -> String
$cshow :: DeauthorizationResponse -> String
showsPrec :: Int -> DeauthorizationResponse -> ShowS
$cshowsPrec :: Int -> DeauthorizationResponse -> ShowS
Show
$(deriveFromJSON options ''DeauthorizationResponse)