mateamt/src/Types/Journal.hs

50 lines
1.1 KiB
Haskell
Raw Normal View History

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
2019-08-09 18:54:06 +00:00
import Data.Time (UTCTime)
2019-08-09 17:21:38 +00:00
data JournalEntry = JournalEntry
2019-08-09 18:54:06 +00:00
{ journalEntryId :: Int
, journalEntryDescription :: T.Text
2019-08-09 17:21:38 +00:00
, 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