{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-}
module Mollie.API.Chargebacks
( ChargebackAPI
, getChargebacks
, getChargebacksPaginated
, getChargeback
) where
import GHC.Generics (Generic)
import Mollie.API.Internal (HalJSON)
import Mollie.API.Types
import Servant.API
import Servant.API.Generic
data ChargebackAPI route = ChargebackAPI
{ getChargebacksPaginated :: route :- "chargebacks"
:> QueryParam "limit" Int
:> QueryParam "from" ChargebackId
:> Get '[HalJSON] (List Chargeback)
, getChargebacks :: route :- "chargebacks"
:> Get '[HalJSON] (List Chargeback)
, getChargeback :: route :- "payments"
:> Capture "paymentId" PaymentId
:> "chargebacks"
:> Capture "id" ChargebackId
:> Get '[HalJSON] Chargeback
} deriving Generic