plaid-0.1.0.4: Plaid.com api integration library

Copyright2019 Sasha Bogicevic
LicenseBSD 3 clause
MaintainerSasha Bogicevic <sasa.bogicevic@pm.me>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Data.Plaid

Description

Welcome to Plaid

As you could guess this library aims to provide easy integration with Plaid.com

Synopsis

Documentation

plaidCreatePublicToken :: (MonadReader PlaidEnv m, MonadThrow m, PlaidHttp m) => PlaidBody PublicTokenCreate -> m PlaidPublicTokenResponse Source #

Creates a public token that can be used in further interaction with plaid.com https://plaid.com/docs/#creating-public-tokens returns PlaidPublicTokenResponse or fails with PlaidError

plaidExchangeToken :: (MonadReader PlaidEnv m, MonadThrow m, PlaidHttp m) => PlaidBody PlaidTokenExchange -> m PlaidAccessTokenResponse Source #

Exchange a public token to access token. Public token is invalidated after the exchange. https://plaid.com/docs/#exchange-token-flow returns PlaidAccessTokenResponse or fails with PlaidError

class Monad m => PlaidHttp m where Source #

type Bic = Text Source #

type Iban = Text Source #

newtype Url a Source #

Constructors

Url 

Fields

Instances
ToJSON (Url a) Source # 
Instance details

Defined in Data.Api.Types

Methods

toJSON :: Url a -> Value #

toEncoding :: Url a -> Encoding #

toJSONList :: [Url a] -> Value #

toEncodingList :: [Url a] -> Encoding #

FromJSON (Url a) Source # 
Instance details

Defined in Data.Api.Types

Methods

parseJSON :: Value -> Parser (Url a) #

parseJSONList :: Value -> Parser [Url a] #

newtype Secret Source #

Constructors

Secret 

Fields

Instances
Eq Secret Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: Secret -> Secret -> Bool #

(/=) :: Secret -> Secret -> Bool #

Show Secret Source # 
Instance details

Defined in Data.Api.Types

ToJSON Secret Source # 
Instance details

Defined in Data.Api.Types

FromJSON Secret Source # 
Instance details

Defined in Data.Api.Types

newtype ClientId Source #

Constructors

ClientId 

Fields

Instances
Eq ClientId Source # 
Instance details

Defined in Data.Api.Types

Show ClientId Source # 
Instance details

Defined in Data.Api.Types

ToJSON ClientId Source # 
Instance details

Defined in Data.Api.Types

FromJSON ClientId Source # 
Instance details

Defined in Data.Api.Types

data PlaidBody a Source #

Instances
Eq (PlaidBody a) Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: PlaidBody a -> PlaidBody a -> Bool #

(/=) :: PlaidBody a -> PlaidBody a -> Bool #

Show (PlaidBody a) Source # 
Instance details

Defined in Data.Api.Types

Semigroup (PlaidBody a) Source # 
Instance details

Defined in Data.Api.Types

Methods

(<>) :: PlaidBody a -> PlaidBody a -> PlaidBody a #

sconcat :: NonEmpty (PlaidBody a) -> PlaidBody a #

stimes :: Integral b => b -> PlaidBody a -> PlaidBody a #

Monoid (PlaidBody a) Source # 
Instance details

Defined in Data.Api.Types

ToJSON (PlaidBody PlaidIncomeGet) Source # 
Instance details

Defined in Data.Api.Types

ToJSON (PlaidBody PlaidIdentityGet) Source # 
Instance details

Defined in Data.Api.Types

ToJSON (PlaidBody PlaidTransactionsGet) Source # 
Instance details

Defined in Data.Api.Types

ToJSON (PlaidBody PlaidTokenExchange) Source # 
Instance details

Defined in Data.Api.Types

ToJSON (PlaidBody PublicTokenCreate) Source # 
Instance details

Defined in Data.Api.Types

ToJSON (PlaidBody GetBalance) Source # 
Instance details

Defined in Data.Api.Types

ToJSON (PlaidBody AuthGet) Source # 
Instance details

Defined in Data.Api.Types

unPlaidTest :: PlaidTest a -> Identity a Source #

unPlaid :: Plaid a -> ReaderT PlaidEnv IO a Source #

runPlaid :: PlaidEnv -> Plaid a -> IO a Source #

runTestPlaid :: PlaidTest a -> a Source #

data Ach Source #

Instances
Eq Ach Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: Ach -> Ach -> Bool #

(/=) :: Ach -> Ach -> Bool #

Show Ach Source # 
Instance details

Defined in Data.Api.Types

Methods

showsPrec :: Int -> Ach -> ShowS #

show :: Ach -> String #

showList :: [Ach] -> ShowS #

ToJSON Ach Source # 
Instance details

Defined in Data.Api.Types

FromJSON Ach Source # 
Instance details

Defined in Data.Api.Types

data Error Source #

Instances
Eq Error Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: Error -> Error -> Bool #

(/=) :: Error -> Error -> Bool #

Show Error Source # 
Instance details

Defined in Data.Api.Types

Methods

showsPrec :: Int -> Error -> ShowS #

show :: Error -> String #

showList :: [Error] -> ShowS #

ToJSON Error Source # 
Instance details

Defined in Data.Api.Types

FromJSON Error Source # 
Instance details

Defined in Data.Api.Types

data Item Source #

Instances
Eq Item Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: Item -> Item -> Bool #

(/=) :: Item -> Item -> Bool #

Show Item Source # 
Instance details

Defined in Data.Api.Types

Methods

showsPrec :: Int -> Item -> ShowS #

show :: Item -> String #

showList :: [Item] -> ShowS #

ToJSON Item Source # 
Instance details

Defined in Data.Api.Types

FromJSON Item Source # 
Instance details

Defined in Data.Api.Types

data Eft Source #

Instances
Eq Eft Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: Eft -> Eft -> Bool #

(/=) :: Eft -> Eft -> Bool #

Show Eft Source # 
Instance details

Defined in Data.Api.Types

Methods

showsPrec :: Int -> Eft -> ShowS #

show :: Eft -> String #

showList :: [Eft] -> ShowS #

ToJSON Eft Source # 
Instance details

Defined in Data.Api.Types

FromJSON Eft Source # 
Instance details

Defined in Data.Api.Types

data Bacs Source #

Instances
Eq Bacs Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: Bacs -> Bacs -> Bool #

(/=) :: Bacs -> Bacs -> Bool #

Show Bacs Source # 
Instance details

Defined in Data.Api.Types

Methods

showsPrec :: Int -> Bacs -> ShowS #

show :: Bacs -> String #

showList :: [Bacs] -> ShowS #

ToJSON Bacs Source # 
Instance details

Defined in Data.Api.Types

FromJSON Bacs Source # 
Instance details

Defined in Data.Api.Types

data Numbers Source #

Instances
Eq Numbers Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: Numbers -> Numbers -> Bool #

(/=) :: Numbers -> Numbers -> Bool #

Show Numbers Source # 
Instance details

Defined in Data.Api.Types

ToJSON Numbers Source # 
Instance details

Defined in Data.Api.Types

FromJSON Numbers Source # 
Instance details

Defined in Data.Api.Types

data Email Source #

Constructors

Email 
Instances
Eq Email Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: Email -> Email -> Bool #

(/=) :: Email -> Email -> Bool #

Show Email Source # 
Instance details

Defined in Data.Api.Types

Methods

showsPrec :: Int -> Email -> ShowS #

show :: Email -> String #

showList :: [Email] -> ShowS #

ToJSON Email Source # 
Instance details

Defined in Data.Api.Types

FromJSON Email Source # 
Instance details

Defined in Data.Api.Types

data Address Source #

Instances
Eq Address Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: Address -> Address -> Bool #

(/=) :: Address -> Address -> Bool #

Show Address Source # 
Instance details

Defined in Data.Api.Types

ToJSON Address Source # 
Instance details

Defined in Data.Api.Types

FromJSON Address Source # 
Instance details

Defined in Data.Api.Types

data Owners Source #

Instances
Eq Owners Source # 
Instance details

Defined in Data.Api.Types

Methods

(==) :: Owners -> Owners -> Bool #

(/=) :: Owners -> Owners -> Bool #

Show Owners Source # 
Instance details

Defined in Data.Api.Types

ToJSON Owners Source # 
Instance details

Defined in Data.Api.Types

FromJSON Owners Source # 
Instance details

Defined in Data.Api.Types