diff options
author | Joris | 2019-11-03 11:28:42 +0100 |
---|---|---|
committer | Joris | 2019-11-03 11:28:42 +0100 |
commit | 9dbb4e6f7c2f0edc1126626e2ff498144c6b9947 (patch) | |
tree | da352e0861a2786a3a57dab2397ec7d678b5919b /common | |
parent | a267f0bb4566389342c3244d3c082dc2453f4615 (diff) |
Show income header
Diffstat (limited to 'common')
-rw-r--r-- | common/common.cabal | 4 | ||||
-rw-r--r-- | common/src/Common/Model.hs | 3 | ||||
-rw-r--r-- | common/src/Common/Model/IncomeHeader.hs | 18 | ||||
-rw-r--r-- | common/src/Common/Model/IncomePage.hs | 18 | ||||
-rw-r--r-- | common/src/Common/Model/IncomesAndCount.hs | 16 |
5 files changed, 41 insertions, 18 deletions
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 |