aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorJoris2016-03-28 18:04:25 +0200
committerJoris2016-03-28 18:04:25 +0200
commitcc58377a48d13ef85cedb5ec0e19eb8b879dd497 (patch)
tree8a400e8e208f9ca7a94a3dad054bdad2b4a04b0f /src/server
parent166cd04e4b28770ede854dafc9ae30eae64102fe (diff)
downloadbudget-cc58377a48d13ef85cedb5ec0e19eb8b879dd497.tar.gz
budget-cc58377a48d13ef85cedb5ec0e19eb8b879dd497.tar.bz2
budget-cc58377a48d13ef85cedb5ec0e19eb8b879dd497.zip
Compute payment count client side
Diffstat (limited to 'src/server')
-rw-r--r--src/server/Controller/Payment.hs8
-rw-r--r--src/server/Main.hs2
-rw-r--r--src/server/Model/Json/Payer.hs22
-rw-r--r--src/server/Model/Payer/Payment.hs40
-rw-r--r--src/server/Model/Payment.hs8
5 files changed, 0 insertions, 80 deletions
diff --git a/src/server/Controller/Payment.hs b/src/server/Controller/Payment.hs
index ec241f7..a9d1acb 100644
--- a/src/server/Controller/Payment.hs
+++ b/src/server/Controller/Payment.hs
@@ -5,7 +5,6 @@ module Controller.Payment
, getMonthlyPayments
, createPayment
, deletePayment
- , getPaymentsCount
) where
import Web.Scotty
@@ -28,7 +27,6 @@ import Json (jsonObject)
import Model.Database
import qualified Model.Payment as P
import Model.Frequency
-import Model.Json.Number
import Model.Message.Key (Key(PaymentNotDeleted))
getPayments :: ActionM ()
@@ -66,9 +64,3 @@ deletePayment paymentId =
status badRequest400
text . TL.pack . show $ PaymentNotDeleted
)
-
-getPaymentsCount :: ActionM ()
-getPaymentsCount =
- Secure.loggedAction (\_ -> do
- Number <$> (liftIO . runDb $ P.getPaymentsCount) >>= json
- )
diff --git a/src/server/Main.hs b/src/server/Main.hs
index e4ad9f6..1cb324e 100644
--- a/src/server/Main.hs
+++ b/src/server/Main.hs
@@ -87,5 +87,3 @@ api conf = do
post "/api/payment/delete" $ do
paymentId <- param "id" :: ActionM Text
deletePayment paymentId
-
- get "/api/payments/count" getPaymentsCount
diff --git a/src/server/Model/Json/Payer.hs b/src/server/Model/Json/Payer.hs
deleted file mode 100644
index 2101e40..0000000
--- a/src/server/Model/Json/Payer.hs
+++ /dev/null
@@ -1,22 +0,0 @@
-{-# LANGUAGE DeriveGeneric #-}
-
-module Model.Json.Payer
- ( Payer(..)
- ) where
-
-import GHC.Generics
-
-import Data.Aeson
-
-import Model.Database (UserId)
-import Model.Json.Income
-
-data Payer = Payer
- { userId :: UserId
- , preIncomePaymentSum :: Int
- , postIncomePaymentSum :: Int
- , incomes :: [Income]
- } deriving (Show, Generic)
-
-instance FromJSON Payer
-instance ToJSON Payer
diff --git a/src/server/Model/Payer/Payment.hs b/src/server/Model/Payer/Payment.hs
deleted file mode 100644
index 6efc38d..0000000
--- a/src/server/Model/Payer/Payment.hs
+++ /dev/null
@@ -1,40 +0,0 @@
-module Model.Payer.Payment
- ( getTotalPaymentsBefore
- , getTotalPaymentsAfter
- ) where
-
-import Data.Time.Clock (UTCTime)
-import Data.Maybe (catMaybes)
-
-import Database.Persist
-import Database.Esqueleto
-import qualified Database.Esqueleto as E
-
-import Model.Database
-import Model.Frequency
-
-getTotalPaymentsBefore :: UTCTime -> Persist [(UserId, Int)]
-getTotalPaymentsBefore time =
- getTotalPayments (\p -> p ^. PaymentCreation E.<. val time)
-
-getTotalPaymentsAfter :: UTCTime -> Persist [(UserId, Int)]
-getTotalPaymentsAfter time =
- getTotalPayments (\p -> p ^. PaymentCreation E.>=. val time)
-
-getTotalPayments :: (SqlExpr (Entity Payment) -> SqlExpr (Value Bool)) -> Persist [(UserId, Int)]
-getTotalPayments paymentWhere = do
- values <- select $
- from $ \payment -> do
- where_ (isNothing (payment ^. PaymentDeletedAt))
- where_ (payment ^. PaymentFrequency E.==. val Punctual)
- where_ (paymentWhere payment)
- groupBy (payment ^. PaymentUserId)
- return (payment ^. PaymentUserId, sum_ (payment ^. PaymentCost))
- return $ catMaybes . map (unMaybe . unValueTuple) $ values
-
-unValueTuple :: (Value a, Value b) -> (a, b)
-unValueTuple (Value a, Value b) = (a, b)
-
-unMaybe :: (a, Maybe b) -> Maybe (a, b)
-unMaybe (a, Just b) = Just (a, b)
-unMaybe _ = Nothing
diff --git a/src/server/Model/Payment.hs b/src/server/Model/Payment.hs
index 9b32fea..5c7d940 100644
--- a/src/server/Model/Payment.hs
+++ b/src/server/Model/Payment.hs
@@ -6,7 +6,6 @@ module Model.Payment
, getMonthlyPayments
, createPayment
, deleteOwnPayment
- , getPaymentsCount
) where
import Data.Text (Text)
@@ -91,10 +90,3 @@ deleteOwnPayment user paymentId = do
return False
Nothing ->
return False
-
-getPaymentsCount :: Persist Int
-getPaymentsCount =
- count
- [ PaymentDeletedAt P.==. Nothing
- , PaymentFrequency P.==. Punctual
- ]