aboutsummaryrefslogtreecommitdiff
path: root/src/server/Model/Json/Init.hs
blob: 530c3b78967b45ecd597ff7769855aed86415295 (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
31
32
33
34
35
36
{-# LANGUAGE DeriveGeneric #-}

module Model.Json.Init
  ( Init(..)
  , InitResult(..)
  ) where

import Data.Aeson
import GHC.Generics

import Model.Json.Category (Category)
import Model.Json.Income (Income)
import Model.Json.Payment (Payment)
import Model.Json.PaymentCategory (PaymentCategory)
import Model.Json.User (User)
import Model.Message.Key (Key)
import Model.User (UserId)

data Init = Init
  { users :: [User]
  , me :: UserId
  , payments :: [Payment]
  , incomes :: [Income]
  , categories :: [Category]
  , paymentCategories :: [PaymentCategory]
  } deriving (Show, Generic)

instance ToJSON Init

data InitResult =
  InitEmpty
  | InitSuccess Init
  | InitError Key
  deriving (Show, Generic)

instance ToJSON InitResult