aboutsummaryrefslogtreecommitdiff
path: root/server/src/Job
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/Job')
-rw-r--r--server/src/Job/Daemon.hs25
-rw-r--r--server/src/Job/Frequency.hs2
-rw-r--r--server/src/Job/Kind.hs13
-rw-r--r--server/src/Job/Model.hs18
-rw-r--r--server/src/Job/MonthlyPayment.hs10
-rw-r--r--server/src/Job/WeeklyReport.hs12
6 files changed, 41 insertions, 39 deletions
diff --git a/server/src/Job/Daemon.hs b/server/src/Job/Daemon.hs
index 0bc6f6e..26977d1 100644
--- a/server/src/Job/Daemon.hs
+++ b/server/src/Job/Daemon.hs
@@ -2,18 +2,19 @@ module Job.Daemon
( runDaemons
) where
-import Control.Concurrent (threadDelay, forkIO, ThreadId)
-import Control.Monad (forever)
-import Data.Time.Clock (UTCTime)
+import Control.Concurrent (ThreadId, forkIO, threadDelay)
+import Control.Monad (forever)
+import Data.Time.Clock (UTCTime)
-import Conf (Conf)
-import Job.Frequency (Frequency(..), microSeconds)
-import Job.Kind (Kind(..))
-import Job.Model (getLastExecution, actualizeLastCheck, actualizeLastExecution)
-import Job.MonthlyPayment (monthlyPayment)
-import Job.WeeklyReport (weeklyReport)
-import qualified Model.Query as Query
-import Utils.Time (belongToCurrentMonth, belongToCurrentWeek)
+import Conf (Conf)
+import Job.Frequency (Frequency (..), microSeconds)
+import Job.Kind (Kind (..))
+import Job.Model (actualizeLastCheck, actualizeLastExecution,
+ getLastExecution)
+import Job.MonthlyPayment (monthlyPayment)
+import Job.WeeklyReport (weeklyReport)
+import qualified Model.Query as Query
+import Utils.Time (belongToCurrentMonth, belongToCurrentWeek)
runDaemons :: Conf -> IO ()
runDaemons conf = do
@@ -29,7 +30,7 @@ runDaemon kind frequency isLastExecutionTooOld runJob =
getLastExecution kind
hasToRun <- case mbLastExecution of
Just lastExecution -> isLastExecutionTooOld lastExecution
- Nothing -> return True
+ Nothing -> return True
if hasToRun
then runJob mbLastExecution >>= (Query.run . actualizeLastExecution kind)
else return ()
diff --git a/server/src/Job/Frequency.hs b/server/src/Job/Frequency.hs
index 263f6e6..c5bef42 100644
--- a/server/src/Job/Frequency.hs
+++ b/server/src/Job/Frequency.hs
@@ -10,4 +10,4 @@ data Frequency =
microSeconds :: Frequency -> Int
microSeconds EveryHour = 1000000 * 60 * 60
-microSeconds EveryDay = (microSeconds EveryHour) * 24
+microSeconds EveryDay = (microSeconds EveryHour) * 24
diff --git a/server/src/Job/Kind.hs b/server/src/Job/Kind.hs
index af5d4f8..17997f7 100644
--- a/server/src/Job/Kind.hs
+++ b/server/src/Job/Kind.hs
@@ -2,11 +2,12 @@ module Job.Kind
( Kind(..)
) where
-import Database.SQLite.Simple (SQLData(SQLText))
-import Database.SQLite.Simple.FromField (fieldData, FromField(fromField))
-import Database.SQLite.Simple.Ok (Ok(Ok, Errors))
-import Database.SQLite.Simple.ToField (ToField(toField))
-import qualified Data.Text as T
+import qualified Data.Text as T
+import Database.SQLite.Simple (SQLData (SQLText))
+import Database.SQLite.Simple.FromField (FromField (fromField),
+ fieldData)
+import Database.SQLite.Simple.Ok (Ok (Errors, Ok))
+import Database.SQLite.Simple.ToField (ToField (toField))
data Kind =
MonthlyPayment
@@ -16,7 +17,7 @@ data Kind =
instance FromField Kind where
fromField field = case fieldData field of
SQLText text -> Ok (read (T.unpack text) :: Kind)
- _ -> Errors [error "SQLText field required for job kind"]
+ _ -> Errors [error "SQLText field required for job kind"]
instance ToField Kind where
toField kind = SQLText . T.pack . show $ kind
diff --git a/server/src/Job/Model.hs b/server/src/Job/Model.hs
index e1a3c77..b90dca0 100644
--- a/server/src/Job/Model.hs
+++ b/server/src/Job/Model.hs
@@ -7,20 +7,20 @@ module Job.Model
, actualizeLastCheck
) where
-import Data.Maybe (isJust)
-import Data.Time.Clock (UTCTime, getCurrentTime)
-import Database.SQLite.Simple (Only(Only))
+import Data.Maybe (isJust)
+import Data.Time.Clock (UTCTime, getCurrentTime)
+import Database.SQLite.Simple (Only (Only))
import qualified Database.SQLite.Simple as SQLite
-import Prelude hiding (id)
+import Prelude hiding (id)
-import Job.Kind
-import Model.Query (Query(Query))
+import Job.Kind
+import Model.Query (Query (Query))
data Job = Job
- { id :: String
- , kind :: Kind
+ { id :: String
+ , kind :: Kind
, lastExecution :: Maybe UTCTime
- , lastCheck :: Maybe UTCTime
+ , lastCheck :: Maybe UTCTime
} deriving (Show)
getLastExecution :: Kind -> Query (Maybe UTCTime)
diff --git a/server/src/Job/MonthlyPayment.hs b/server/src/Job/MonthlyPayment.hs
index ba24cca..8cb1c27 100644
--- a/server/src/Job/MonthlyPayment.hs
+++ b/server/src/Job/MonthlyPayment.hs
@@ -2,13 +2,13 @@ module Job.MonthlyPayment
( monthlyPayment
) where
-import Data.Time.Clock (UTCTime, getCurrentTime)
+import Data.Time.Clock (UTCTime, getCurrentTime)
-import Common.Model (Frequency(..), Payment(..))
+import Common.Model (Frequency (..), Payment (..))
-import qualified Model.Payment as Payment
-import Utils.Time (timeToDay)
-import qualified Model.Query as Query
+import qualified Model.Payment as Payment
+import qualified Model.Query as Query
+import Utils.Time (timeToDay)
monthlyPayment :: Maybe UTCTime -> IO UTCTime
monthlyPayment _ = do
diff --git a/server/src/Job/WeeklyReport.hs b/server/src/Job/WeeklyReport.hs
index 5737c75..74180df 100644
--- a/server/src/Job/WeeklyReport.hs
+++ b/server/src/Job/WeeklyReport.hs
@@ -2,13 +2,13 @@ module Job.WeeklyReport
( weeklyReport
) where
-import Data.Time.Clock (UTCTime, getCurrentTime)
+import Data.Time.Clock (UTCTime, getCurrentTime)
-import Conf (Conf)
-import qualified Model.Income as Income
-import qualified Model.Payment as Payment
-import qualified Model.Query as Query
-import qualified Model.User as User
+import Conf (Conf)
+import qualified Model.Income as Income
+import qualified Model.Payment as Payment
+import qualified Model.Query as Query
+import qualified Model.User as User
import qualified SendMail
import qualified View.Mail.WeeklyReport as WeeklyReport