module Common.Model.PaymentHeader
  ( PaymentHeader(..)
  ) where

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

import           Common.Model.ExceedingPayer (ExceedingPayer)
import           Common.Model.User           (UserId)

data PaymentHeader = PaymentHeader
  { _paymentHeader_exceedingPayers :: [ExceedingPayer]
  , _paymentHeader_repartition     :: Map UserId Int
  } deriving (Eq, Show, Generic)

instance FromJSON PaymentHeader
instance ToJSON PaymentHeader