aboutsummaryrefslogtreecommitdiff
path: root/server/src/Controller/Income.hs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/Controller/Income.hs')
-rw-r--r--server/src/Controller/Income.hs16
1 files changed, 11 insertions, 5 deletions
diff --git a/server/src/Controller/Income.hs b/server/src/Controller/Income.hs
index 784a2db..96ccbbc 100644
--- a/server/src/Controller/Income.hs
+++ b/server/src/Controller/Income.hs
@@ -8,7 +8,7 @@ module Controller.Income
import Control.Monad.IO.Class (liftIO)
import qualified Data.Map as M
import qualified Data.Time.Clock as Clock
-import Data.Validation (Validation (Failure, Success))
+import Data.Validation (Validation (..))
import qualified Network.HTTP.Types.Status as Status
import Web.Scotty hiding (delete)
@@ -16,6 +16,7 @@ import Common.Model (CreateIncomeForm (..),
EditIncomeForm (..),
IncomeHeader (..), IncomeId,
IncomePage (..), User (..))
+import qualified Common.Msg as Msg
import qualified Controller.Helper as ControllerHelper
import Model.CreateIncome (CreateIncome (..))
@@ -60,7 +61,7 @@ create form =
Failure validationError ->
return $ Left validationError
- ) >>= ControllerHelper.jsonOrBadRequest
+ ) >>= ControllerHelper.okOrBadRequest
)
edit :: EditIncomeForm -> ActionM ()
@@ -68,12 +69,17 @@ edit form =
Secure.loggedAction (\user ->
(liftIO . Query.run $ do
case IncomeValidation.editIncome form of
- Success (EditIncome incomeId amount date) -> do
- Right <$> (IncomePersistence.edit (_user_id user) incomeId date amount)
+ Success (EditIncome incomeId amount date) ->
+ do
+ isSuccess <- IncomePersistence.edit (_user_id user) incomeId date amount
+ return $ if isSuccess then
+ Right ()
+ else
+ Left $ Msg.get Msg.Error_IncomeEdit
Failure validationError ->
return $ Left validationError
- ) >>= ControllerHelper.jsonOrBadRequest
+ ) >>= ControllerHelper.okOrBadRequest
)
delete :: IncomeId -> ActionM ()