From 9dbb4e6f7c2f0edc1126626e2ff498144c6b9947 Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 3 Nov 2019 11:28:42 +0100 Subject: Show income header --- common/common.cabal | 4 +++- common/src/Common/Model.hs | 3 ++- common/src/Common/Model/IncomeHeader.hs | 18 ++++++++++++++++++ common/src/Common/Model/IncomePage.hs | 18 ++++++++++++++++++ common/src/Common/Model/IncomesAndCount.hs | 16 ---------------- 5 files changed, 41 insertions(+), 18 deletions(-) create mode 100644 common/src/Common/Model/IncomeHeader.hs create mode 100644 common/src/Common/Model/IncomePage.hs delete mode 100644 common/src/Common/Model/IncomesAndCount.hs (limited to 'common') diff --git a/common/common.cabal b/common/common.cabal index 9f3f65b..651673f 100644 --- a/common/common.cabal +++ b/common/common.cabal @@ -24,6 +24,7 @@ Library Build-depends: aeson , base >= 4.11 && < 5 + , containers , text , time , validation @@ -60,7 +61,8 @@ Library Common.Model.EditPaymentForm Common.Model.Frequency Common.Model.Income - Common.Model.IncomesAndCount + Common.Model.IncomeHeader + Common.Model.IncomePage Common.Model.Init Common.Model.InitResult Common.Model.Payer diff --git a/common/src/Common/Model.hs b/common/src/Common/Model.hs index 3a5a627..313f26b 100644 --- a/common/src/Common/Model.hs +++ b/common/src/Common/Model.hs @@ -12,7 +12,8 @@ import Common.Model.EditPaymentForm as X import Common.Model.Email as X import Common.Model.Frequency as X import Common.Model.Income as X -import Common.Model.IncomesAndCount as X +import Common.Model.IncomeHeader as X +import Common.Model.IncomePage as X import Common.Model.Init as X import Common.Model.InitResult as X import Common.Model.Payer as X diff --git a/common/src/Common/Model/IncomeHeader.hs b/common/src/Common/Model/IncomeHeader.hs new file mode 100644 index 0000000..a1defdf --- /dev/null +++ b/common/src/Common/Model/IncomeHeader.hs @@ -0,0 +1,18 @@ +module Common.Model.IncomeHeader + ( IncomeHeader(..) + ) where + +import Data.Aeson (FromJSON, ToJSON) +import Data.Map (Map) +import Data.Time.Clock (UTCTime) +import GHC.Generics (Generic) + +import Common.Model.User (UserId) + +data IncomeHeader = IncomeHeader + { _incomeHeader_since :: Maybe UTCTime + , _incomeHeader_byUser :: Map UserId Int + } deriving (Show, Generic) + +instance FromJSON IncomeHeader +instance ToJSON IncomeHeader diff --git a/common/src/Common/Model/IncomePage.hs b/common/src/Common/Model/IncomePage.hs new file mode 100644 index 0000000..c3f478e --- /dev/null +++ b/common/src/Common/Model/IncomePage.hs @@ -0,0 +1,18 @@ +module Common.Model.IncomePage + ( IncomePage(..) + ) where + +import Data.Aeson (FromJSON, ToJSON) +import GHC.Generics (Generic) + +import Common.Model.Income (Income) +import Common.Model.IncomeHeader (IncomeHeader) + +data IncomePage = IncomePage + { _incomePage_header :: IncomeHeader + , _incomePage_incomes :: [Income] + , _incomePage_totalCount :: Int + } deriving (Show, Generic) + +instance FromJSON IncomePage +instance ToJSON IncomePage diff --git a/common/src/Common/Model/IncomesAndCount.hs b/common/src/Common/Model/IncomesAndCount.hs deleted file mode 100644 index 4365180..0000000 --- a/common/src/Common/Model/IncomesAndCount.hs +++ /dev/null @@ -1,16 +0,0 @@ -module Common.Model.IncomesAndCount - ( IncomesAndCount(..) - ) where - -import Data.Aeson (FromJSON, ToJSON) -import GHC.Generics (Generic) - -import Common.Model.Income (Income) - -data IncomesAndCount = IncomesAndCount - { _incomesAndCount_incomes :: [Income] - , _incomesAndCount_count :: Int - } deriving (Show, Generic) - -instance FromJSON IncomesAndCount -instance ToJSON IncomesAndCount -- cgit v1.2.3