aboutsummaryrefslogtreecommitdiff
path: root/src/client/Model/Payment.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/Model/Payment.elm')
-rw-r--r--src/client/Model/Payment.elm31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/client/Model/Payment.elm b/src/client/Model/Payment.elm
new file mode 100644
index 0000000..4a08027
--- /dev/null
+++ b/src/client/Model/Payment.elm
@@ -0,0 +1,31 @@
+module Model.Payment
+ ( Payments
+ , Payment
+ , paymentsDecoder
+ ) where
+
+import Date exposing (..)
+import Json.Decode as Json exposing ((:=))
+
+type alias Payments = List Payment
+
+type alias Payment =
+ { creation : Date
+ , name : String
+ , cost : Int
+ , userName : String
+ }
+
+paymentsDecoder : Json.Decoder Payments
+paymentsDecoder = Json.list paymentDecoder
+
+paymentDecoder : Json.Decoder Payment
+paymentDecoder =
+ Json.object4 Payment
+ ("creation" := dateDecoder)
+ ("name" := Json.string)
+ ("cost" := Json.int)
+ ("userName" := Json.string)
+
+dateDecoder : Json.Decoder Date
+dateDecoder = Json.customDecoder Json.string Date.fromString