aboutsummaryrefslogtreecommitdiff
path: root/common/src/Common/Model/Payment.hs
blob: 804b5017e2b6d89f43025c9cb3cb394a97651fd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{-# LANGUAGE DeriveGeneric #-}

module Common.Model.Payment
  ( PaymentId
  , Payment(..)
  ) where

import Data.Aeson (FromJSON, ToJSON)
import Data.Int (Int64)
import Data.Text (Text)
import Data.Time (UTCTime)
import Data.Time.Calendar (Day)
import GHC.Generics (Generic)

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

type PaymentId = Int64

data Payment = Payment
  { _payment_id :: PaymentId
  , _payment_user :: UserId
  , _payment_name :: Text
  , _payment_cost :: Int
  , _payment_date :: Day
  , _payment_frequency :: Frequency
  , _payment_createdAt :: UTCTime
  , _payment_editedAt :: Maybe UTCTime
  , _payment_deletedAt :: Maybe UTCTime
  } deriving (Show, Generic)

instance FromJSON Payment
instance ToJSON Payment