diff options
Diffstat (limited to 'src/server/Controller/Payment.hs')
| -rw-r--r-- | src/server/Controller/Payment.hs | 60 | 
1 files changed, 0 insertions, 60 deletions
diff --git a/src/server/Controller/Payment.hs b/src/server/Controller/Payment.hs deleted file mode 100644 index 6a9ede7..0000000 --- a/src/server/Controller/Payment.hs +++ /dev/null @@ -1,60 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module Controller.Payment -  ( list -  , create -  , editOwn -  , deleteOwn -  ) where - -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 qualified Model.Payment as Payment -import qualified Model.PaymentCategory as PaymentCategory -import qualified Model.Query as Query -import qualified Secure - -list :: ActionM () -list = -  Secure.loggedAction (\_ -> -    (liftIO . Query.run $ Payment.list) >>= json -  ) - -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 -    ) >>= jsonId -  ) - -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 -      _ <- if edited -        then PaymentCategory.save name category >> return () -        else return () -      return edited -    if updated -      then status ok200 -      else status badRequest400 -  ) - -deleteOwn :: PaymentId -> ActionM () -deleteOwn paymentId = -  Secure.loggedAction (\user -> do -    deleted <- liftIO . Query.run $ Payment.deleteOwn (_user_id user) paymentId -    if deleted -      then status ok200 -      else status badRequest400 -  )  | 
