{-# 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)