2019-08-08 16:59:23 +00:00
|
|
|
{-# LANGUAGE DeriveGeneric #-}
|
2019-08-09 17:21:38 +00:00
|
|
|
-- {-# LANGUAGE OverloadedStrings #-}
|
2019-08-08 16:59:23 +00:00
|
|
|
module Types.Journal where
|
|
|
|
|
2019-08-09 17:21:38 +00:00
|
|
|
import GHC.Generics
|
|
|
|
|
|
|
|
import qualified Data.Text as T (Text)
|
|
|
|
|
|
|
|
import Data.Aeson
|
|
|
|
|
|
|
|
import Data.Time.Clock (UTCTime)
|
|
|
|
|
|
|
|
data JournalEntry = JournalEntry
|
|
|
|
{ journalEntryDescription :: T.Text
|
|
|
|
, journalEntryTimestamp :: UTCTime
|
|
|
|
, journalEntryAmount :: Int
|
|
|
|
, journalEntryTotalAmount :: Int
|
|
|
|
, journalEntryIsCheck :: Bool
|
|
|
|
}
|
|
|
|
deriving (Generic, Show)
|
|
|
|
|
|
|
|
instance ToJSON JournalEntry where
|
|
|
|
toEncoding = genericToEncoding defaultOptions
|
|
|
|
|
|
|
|
instance FromJSON JournalEntry
|
|
|
|
|
|
|
|
|
|
|
|
data JournalSubmit = JournalSubmit
|
|
|
|
{ journalSubmitDescription :: T.Text
|
|
|
|
, journalSubmitAmount :: Int
|
|
|
|
}
|
|
|
|
deriving (Generic, Show)
|
|
|
|
|
|
|
|
instance ToJSON JournalSubmit where
|
|
|
|
toEncoding = genericToEncoding defaultOptions
|
|
|
|
|
|
|
|
instance FromJSON JournalSubmit
|
|
|
|
|
|
|
|
|
|
|
|
data JournalCashCheck = JournalCashCheck
|
|
|
|
{ journalCashCheckTotalAmount :: Int
|
|
|
|
}
|
|
|
|
deriving (Generic, Show)
|
|
|
|
|
|
|
|
instance ToJSON JournalCashCheck where
|
|
|
|
toEncoding = genericToEncoding defaultOptions
|
|
|
|
|
|
|
|
instance FromJSON JournalCashCheck
|