module Common.Model.PaymentPage
  ( PaymentPage(..)
  ) where

import           Data.Aeson                 (FromJSON, ToJSON)
import           GHC.Generics               (Generic)

import           Common.Model.Frequency     (Frequency)
import           Common.Model.Payment       (Payment)
import           Common.Model.PaymentHeader (PaymentHeader)

data PaymentPage = PaymentPage
  { _paymentPage_page       :: Int
  , _paymentPage_frequency  :: Frequency
  , _paymentPage_header     :: PaymentHeader
  , _paymentPage_payments   :: [Payment]
  , _paymentPage_totalCount :: Int
  } deriving (Eq, Show, Generic)

instance FromJSON PaymentPage
instance ToJSON PaymentPage