module Web.MangoPay.Access
(
createCredentialsSecret
,oauthLogin
)
where
import Web.MangoPay.Monad
import Web.MangoPay.Types
import Data.Text
import Network.HTTP.Conduit (applyBasicAuth)
import Control.Monad (liftM)
import qualified Network.HTTP.Types as HT
import qualified Data.Text.Encoding as TE
import Data.Maybe (isNothing)
createCredentialsSecret :: (MPUsableMonad m) => MangoPayT m Credentials
createCredentialsSecret =do
creds<- getCreds
if isNothing $ cClientSecret creds
then postExchange "/v2/clients" Nothing creds
else return creds
oauthLogin :: (MPUsableMonad m) => Text -> Text -> MangoPayT m OAuthToken
oauthLogin user pass = do
req<- liftM (applyBasicAuth (TE.encodeUtf8 user) (TE.encodeUtf8 pass)) $ getPostRequest "/v2/oauth/token" Nothing ([("grant_type",Just "client_credentials")]::HT.Query)
getJSONResponse req