module Mensam.Server where import Mensam.Server.Application import Mensam.Server.Application.Configured.Class import Mensam.Server.Configuration import Mensam.Server.Configuration.SQLite import Mensam.Server.Database.Check import Mensam.Server.Server import Control.Monad main :: IO () main :: IO () main = ApplicationT IO () -> IO () forall (m :: * -> *) a. (MonadBaseControlIdentity IO m, MonadMask m, MonadUnliftIO m) => ApplicationT m a -> m a runApplicationT (ApplicationT IO () -> IO ()) -> ApplicationT IO () -> IO () forall a b. (a -> b) -> a -> b $ do Configuration config <- ApplicationT IO Configuration forall (m :: * -> *). MonadConfigured m => m Configuration configuration Bool -> ApplicationT IO () -> ApplicationT IO () forall (f :: * -> *). Applicative f => Bool -> f () -> f () when (SQLiteConfig -> Bool sqliteCheckDataIntegrityOnStartup (Configuration -> SQLiteConfig configSqlite Configuration config)) ApplicationT IO () forall (m :: * -> *). (MonadLogger m, MonadSeldaPool m) => m () checkDatabase ApplicationT IO () forall (m :: * -> *). (MonadConfigured m, MonadEmail m, MonadLoggerCustom m, MonadMask m, MonadSecret m, MonadSeldaPool m, MonadUnliftIO m) => m () server