aboutsummaryrefslogtreecommitdiff
path: root/src/client/Model/Init.elm
diff options
context:
space:
mode:
authorJoris2017-03-26 21:10:42 +0200
committerJoris2017-03-26 21:10:42 +0200
commit1e47a7754ca38bd1a6c74765d8378caf68ce4619 (patch)
treed0d9238479dc2529a1b558bbbcde346e7e8c2935 /src/client/Model/Init.elm
parentc0ac16a713c4e53cf6af8e72a6d5f6b8ac5d6456 (diff)
downloadbudget-1e47a7754ca38bd1a6c74765d8378caf68ce4619.tar.gz
budget-1e47a7754ca38bd1a6c74765d8378caf68ce4619.tar.bz2
budget-1e47a7754ca38bd1a6c74765d8378caf68ce4619.zip
Separate client and server watch
Diffstat (limited to 'src/client/Model/Init.elm')
-rw-r--r--src/client/Model/Init.elm31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/client/Model/Init.elm b/src/client/Model/Init.elm
new file mode 100644
index 0000000..db7069f
--- /dev/null
+++ b/src/client/Model/Init.elm
@@ -0,0 +1,31 @@
+module Model.Init exposing
+ ( Init
+ , initDecoder
+ )
+
+import Json.Decode as Decode exposing (Decoder)
+
+import Model.Payment exposing (Payments, paymentsDecoder)
+import Model.User exposing (Users, UserId, usersDecoder, userIdDecoder)
+import Model.Income exposing (Incomes, incomesDecoder)
+import Model.Category exposing (Categories, categoriesDecoder)
+import Model.PaymentCategory exposing (PaymentCategories, paymentCategoriesDecoder)
+
+type alias Init =
+ { users : Users
+ , me : UserId
+ , payments : Payments
+ , incomes : Incomes
+ , categories : Categories
+ , paymentCategories : PaymentCategories
+ }
+
+initDecoder : Decoder Init
+initDecoder =
+ Decode.map6 Init
+ (Decode.field "users" usersDecoder)
+ (Decode.field "me" userIdDecoder)
+ (Decode.field "payments" paymentsDecoder)
+ (Decode.field "incomes" incomesDecoder)
+ (Decode.field "categories" categoriesDecoder)
+ (Decode.field "paymentCategories" paymentCategoriesDecoder)