diff --git a/backend/src/Configuration.hs b/backend/src/Configuration.hs index 42ed217..b080533 100644 --- a/backend/src/Configuration.hs +++ b/backend/src/Configuration.hs @@ -18,7 +18,8 @@ data Store = Filestore { path :: Text } deriving (Show, Generic) data Config = Config { database :: Pg - , store :: Store } + , store :: Store + , port :: Integer } deriving (Show, Generic) instance Interpret Pg diff --git a/backend/src/Main.hs b/backend/src/Main.hs index 83c972b..ffef7a5 100644 --- a/backend/src/Main.hs +++ b/backend/src/Main.hs @@ -8,7 +8,7 @@ module Main where import ClassyPrelude import Configuration -import Control.Lens (view) +import Control.Lens (view, to) import Data.Generics.Product import Data.Pool (createPool) import Database.Selda.PostgreSQL (PGConnectInfo (..), pgOpen, @@ -21,7 +21,7 @@ import Types import System.Environment (getEnvironment) defaultMain :: App -> IO () -defaultMain = run 8080 . server +defaultMain app = run (view (field @"config" . field @"port" . to fromIntegral) app) $ server app withApp :: Config -> (App -> IO ()) -> IO () withApp config f = do diff --git a/config/Configuration.dhall b/config/Configuration.dhall index 8dfe163..0e459cd 100644 --- a/config/Configuration.dhall +++ b/config/Configuration.dhall @@ -4,4 +4,5 @@ , database : Text , migrations : Text } , store : < Filestore : { path : Text } | IPFS : { common : Text } > +, port : Integer }