aboutsummaryrefslogtreecommitdiff
path: root/server/src/Job/WeeklyReport.hs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/Job/WeeklyReport.hs')
-rw-r--r--server/src/Job/WeeklyReport.hs52
1 files changed, 0 insertions, 52 deletions
diff --git a/server/src/Job/WeeklyReport.hs b/server/src/Job/WeeklyReport.hs
deleted file mode 100644
index 282f2f1..0000000
--- a/server/src/Job/WeeklyReport.hs
+++ /dev/null
@@ -1,52 +0,0 @@
-module Job.WeeklyReport
- ( weeklyReport
- ) where
-
-import qualified Data.Map as M
-import qualified Data.Time.Clock as Clock
-import Data.Time.Clock (UTCTime, getCurrentTime)
-
-import Common.Model (User (..))
-
-import Conf (Conf)
-import qualified Model.Query as Query
-import qualified Persistence.Income as IncomePersistence
-import qualified Persistence.Payment as PaymentPersistence
-import qualified Persistence.User as UserPersistence
-import qualified SendMail
-import qualified View.Mail.WeeklyReport as WeeklyReport
-
-weeklyReport :: Conf -> Maybe UTCTime -> IO UTCTime
-weeklyReport conf mbLastExecution = do
- now <- getCurrentTime
-
- case mbLastExecution of
- Nothing ->
- return ()
-
- Just lastExecution -> do
- (weekPayments, cumulativeIncome, preIncomeRepartition, postIncomeRepartition, weekIncomes, users) <- Query.run $ do
- users <- UserPersistence.list
- paymentRange <- PaymentPersistence.getRange
- incomeDefinedForAll <- IncomePersistence.definedForAll (_user_id <$> users)
- cumulativeIncome <-
- case (incomeDefinedForAll, paymentRange) of
- (Just incomeStart, Just (paymentStart, _)) ->
- IncomePersistence.getCumulativeIncome (max incomeStart paymentStart) (Clock.utctDay now)
-
- _ ->
- return M.empty
- weekPayments <- PaymentPersistence.listModifiedPunctualSince lastExecution
- weekIncomes <- IncomePersistence.listModifiedSince lastExecution
- (preIncomeRepartition, postIncomeRepartition) <-
- PaymentPersistence.getPreAndPostPaymentRepartition paymentRange users
- return (weekPayments, cumulativeIncome, preIncomeRepartition, postIncomeRepartition, weekIncomes, users)
-
- _ <-
- SendMail.sendMail
- conf
- (WeeklyReport.mail conf users weekIncomes weekPayments cumulativeIncome preIncomeRepartition postIncomeRepartition lastExecution now)
-
- return ()
-
- return now