@@ -3,13 +3,17 @@ module Registry.App.Server.Router where
33import Registry.App.Prelude hiding ((/))
44
55import Data.Codec.JSON as CJ
6+ import Data.Date as Date
7+ import Data.DateTime (DateTime (..))
68import Data.DateTime as DateTime
9+ import Data.Enum as Enum
710import Data.Time.Duration (Hours (..), negateDuration )
811import Effect.Aff as Aff
912import Effect.Class.Console as Console
1013import HTTPurple (Method (..), Request , Response )
1114import HTTPurple as HTTPurple
1215import HTTPurple.Status as Status
16+ import Partial.Unsafe (unsafePartial )
1317import Registry.API.V1 (Route (..))
1418import Registry.API.V1 as V1
1519import Registry.App.API as API
@@ -24,6 +28,12 @@ import Run (Run)
2428import Run as Run
2529import Run.Except as Run.Except
2630
31+ -- | The earliest date for which we have job logs (registry server launch date)
32+ registryLaunch :: DateTime
33+ registryLaunch = DateTime date bottom
34+ where
35+ date = Date .canonicalDate (unsafePartial fromJust $ Enum .toEnum 2026 ) Date.January (unsafePartial fromJust $ Enum .toEnum 31 )
36+
2737runRouter :: ServerEnv -> Effect Unit
2838runRouter env = do
2939 -- Read port from SERVER_PORT env var (optional, HTTPurple defaults to 8080)
@@ -117,9 +127,7 @@ router { route, method, body } = HTTPurple.usingCont case route, method of
117127 Right jobs -> jsonOk (CJ .array V1 .jobCodec) jobs
118128
119129 Job jobId { level: maybeLogLevel, since }, Get -> do
120- now <- liftEffect nowUTC
121- let oneHourAgo = fromMaybe now $ DateTime .adjust (negateDuration (Hours 1.0 )) now
122- lift (Run.Except .runExcept $ Db .selectJob { jobId, level: maybeLogLevel, since: fromMaybe oneHourAgo since }) >>= case _ of
130+ lift (Run.Except .runExcept $ Db .selectJob { jobId, level: maybeLogLevel, since: fromMaybe registryLaunch since }) >>= case _ of
123131 Left err -> do
124132 lift $ Log .error $ " Error while fetching job: " <> err
125133 HTTPurple .internalServerError $ " Error while fetching job: " <> err
0 commit comments