From 0b191f5c48edffc9da3e38c284e9640fd82e7cb1 Mon Sep 17 00:00:00 2001 From: Joris Date: Mon, 5 Jun 2017 18:02:13 +0200 Subject: Replace persistent by sqlite-simple --- src/server/Controller/Category.hs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'src/server/Controller/Category.hs') diff --git a/src/server/Controller/Category.hs b/src/server/Controller/Category.hs index 19109a3..3f800da 100644 --- a/src/server/Controller/Category.hs +++ b/src/server/Controller/Category.hs @@ -7,43 +7,42 @@ module Controller.Category ) where import Control.Monad.IO.Class (liftIO) - -import Data.Text (Text) import Network.HTTP.Types.Status (ok200, badRequest400) import qualified Data.Text.Lazy as TL import Web.Scotty hiding (delete) import Json (jsonId) -import Model.Database +import Model.Category (CategoryId) import qualified Model.Category as Category import qualified Model.Json.CreateCategory as Json import qualified Model.Json.EditCategory as Json import qualified Model.Message.Key as Key import qualified Model.PaymentCategory as PaymentCategory +import qualified Model.Query as Query import qualified Secure create :: Json.CreateCategory -> ActionM () create (Json.CreateCategory name color) = Secure.loggedAction (\_ -> - (liftIO . runDb $ Category.create name color) >>= jsonId + (liftIO . Query.run $ Category.create name color) >>= jsonId ) edit :: Json.EditCategory -> ActionM () edit (Json.EditCategory categoryId name color) = Secure.loggedAction (\_ -> do - updated <- liftIO . runDb $ Category.edit categoryId name color + updated <- liftIO . Query.run $ Category.edit categoryId name color if updated then status ok200 else status badRequest400 ) -delete :: Text -> ActionM () +delete :: CategoryId -> ActionM () delete categoryId = Secure.loggedAction (\_ -> do - deleted <- liftIO . runDb $ do - paymentCategories <- PaymentCategory.listByCategory (textToKey categoryId) + deleted <- liftIO . Query.run $ do + paymentCategories <- PaymentCategory.listByCategory categoryId if null paymentCategories - then Category.delete (textToKey categoryId) + then Category.delete categoryId else return False if deleted then -- cgit v1.2.3