@@ -9,6 +9,7 @@ import Servant.Server (serve)
9
9
import System.Remote.Monitoring (forkServerWith )
10
10
11
11
import Lib.App (AppEnv , Env (.. ))
12
+ import Lib.Config (Config (.. ), loadConfig )
12
13
import Lib.Core.Jwt (JwtSecret (.. ), mkRandomString )
13
14
import Lib.Db (initialisePool )
14
15
import Lib.Effects.Log (mainLogAction )
@@ -17,10 +18,10 @@ import Lib.Server (API, server)
17
18
import qualified Data.HashMap.Strict as HashMap
18
19
import qualified System.Metrics as Metrics
19
20
20
- mkAppEnv :: IO AppEnv
21
- mkAppEnv = do
21
+ mkAppEnv :: Config -> IO AppEnv
22
+ mkAppEnv Config { .. } = do
22
23
-- IO configuration
23
- envDbPool <- initialisePool
24
+ envDbPool <- initialisePool cDbCredentials
24
25
envSessions <- newMVar HashMap. empty
25
26
envTimings <- newIORef HashMap. empty
26
27
envEkgStore <- Metrics. newStore
@@ -29,7 +30,7 @@ mkAppEnv = do
29
30
30
31
-- pure configuration
31
32
let envSessionExpiry = 600
32
- let envLogAction = mainLogAction D
33
+ let envLogAction = mainLogAction cLogSeverity
33
34
pure Env {.. }
34
35
35
36
runServer :: AppEnv -> IO ()
@@ -42,4 +43,4 @@ runServer env@Env{..} = do
42
43
application = serve (Proxy @ API ) (server env)
43
44
44
45
main :: IO ()
45
- main = mkAppEnv >>= runServer
46
+ main = loadConfig >>= mkAppEnv >>= runServer
0 commit comments