aboutsummaryrefslogtreecommitdiff
path: root/src/server/Model/Init.hs
blob: 7a9ccea9ff4f7233718bb0cd4eff2e65d6d1ff2c (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
{-# LANGUAGE OverloadedStrings #-}

module Model.Init
  ( getInit
  ) where

import Model.Json.Init (Init)
import Model.Query (Query)
import Model.User (User)
import qualified Model.Category as Category
import qualified Model.Income as Income
import qualified Model.Json.Category as Json
import qualified Model.Json.Income as Json
import qualified Model.Json.Init as Init
import qualified Model.Json.Payment as Json
import qualified Model.Json.PaymentCategory as Json
import qualified Model.Json.User as Json
import qualified Model.Payment as Payment
import qualified Model.PaymentCategory as PaymentCategory
import qualified Model.User as User

getInit :: User -> Query Init
getInit user =
  Init.Init <$>
    (map Json.fromUser <$> User.list) <*>
    (return . User.id $ user) <*>
    (map Json.fromPayment <$> Payment.list) <*>
    (map Json.fromIncome <$> Income.list) <*>
    (map Json.fromCategory <$> Category.list) <*>
    (map Json.fromPaymentCategory <$> PaymentCategory.list)