From 898e7ed11ab0958fcdaf65b99b33f7b04787630a Mon Sep 17 00:00:00 2001
From: Joris
Date: Sun, 24 Sep 2017 22:14:48 +0200
Subject: Bootstrap with GHCJS and reflex:

- setup login and logout,
- first draft of payment view.
---
 src/server/Controller/Payment.hs | 25 ++++++++++++-------------
 1 file changed, 12 insertions(+), 13 deletions(-)

(limited to 'src/server/Controller/Payment.hs')

diff --git a/src/server/Controller/Payment.hs b/src/server/Controller/Payment.hs
index d71b451..6a9ede7 100644
--- a/src/server/Controller/Payment.hs
+++ b/src/server/Controller/Payment.hs
@@ -11,37 +11,36 @@ import Control.Monad.IO.Class (liftIO)
 import Network.HTTP.Types.Status (ok200, badRequest400)
 import Web.Scotty
 
+import qualified Common.Model.CreatePayment as M
+import qualified Common.Model.EditPayment as M
+import Common.Model (PaymentId, User(..))
+
 import Json (jsonId)
-import Model.Payment (PaymentId)
-import qualified Model.Json.CreatePayment as Json
-import qualified Model.Json.EditPayment as Json
-import qualified Model.Json.Payment as Json
 import qualified Model.Payment as Payment
 import qualified Model.PaymentCategory as PaymentCategory
 import qualified Model.Query as Query
-import qualified Model.User as User
 import qualified Secure
 
 list :: ActionM ()
 list =
   Secure.loggedAction (\_ ->
-    (liftIO . Query.run $ map Json.fromPayment <$> Payment.list) >>= json
+    (liftIO . Query.run $ Payment.list) >>= json
   )
 
-create :: Json.CreatePayment -> ActionM ()
-create (Json.CreatePayment name cost date category frequency) =
+create :: M.CreatePayment -> ActionM ()
+create (M.CreatePayment name cost date category frequency) =
   Secure.loggedAction (\user ->
     (liftIO . Query.run $ do
       PaymentCategory.save name category
-      Payment.create (User.id user) name cost date frequency
+      Payment.create (_user_id user) name cost date frequency
     ) >>= jsonId
   )
 
-editOwn :: Json.EditPayment -> ActionM ()
-editOwn (Json.EditPayment paymentId name cost date category frequency) =
+editOwn :: M.EditPayment -> ActionM ()
+editOwn (M.EditPayment paymentId name cost date category frequency) =
   Secure.loggedAction (\user -> do
     updated <- liftIO . Query.run $ do
-      edited <- Payment.editOwn (User.id user) paymentId name cost date frequency
+      edited <- Payment.editOwn (_user_id user) paymentId name cost date frequency
       _ <- if edited
         then PaymentCategory.save name category >> return ()
         else return ()
@@ -54,7 +53,7 @@ editOwn (Json.EditPayment paymentId name cost date category frequency) =
 deleteOwn :: PaymentId -> ActionM ()
 deleteOwn paymentId =
   Secure.loggedAction (\user -> do
-    deleted <- liftIO . Query.run $ Payment.deleteOwn (User.id user) paymentId
+    deleted <- liftIO . Query.run $ Payment.deleteOwn (_user_id user) paymentId
     if deleted
       then status ok200
       else status badRequest400
-- 
cgit v1.2.3