20 lines
680 B
Haskell
20 lines
680 B
Haskell
module Lib ( main ) where
|
|
|
|
import qualified Core.Configuration as Configuration
|
|
import qualified Core.HTTP as HTTP
|
|
import qualified Core.SQLite as DB
|
|
import Core.Types
|
|
|
|
import Control.Monad.Reader (lift, liftIO, runReaderT)
|
|
import GHC.Natural (popCountNatural)
|
|
import Prelude hiding (id)
|
|
import Web.Scotty.Trans (scottyT)
|
|
|
|
main :: IO ()
|
|
main = do
|
|
dhallConf <- liftIO Configuration.main
|
|
DB.main (dbFile dhallConf)
|
|
scottyT (applicationPort dhallConf) (flip runApp dhallConf) HTTP.app where
|
|
runApp :: ConfigM a -> DhallConfig -> IO a
|
|
runApp m = runReaderT (runConfigM m)
|