HELPS/src/Main.hs

43 lines
841 B
Haskell
Raw Normal View History

2024-09-18 13:16:36 -05:00
module Main (main) where
import Core
import Database
import Handlers
import Control.Monad.Except (ExceptT (ExceptT))
import Data.List
import Effectful
import Effectful.Error.Static (Error, runError, runErrorNoCallStack, throwError)
import Effectful.FileSystem
import Network.Wai.Handler.Warp (run)
import Servant hiding ((:>), throwError)
import qualified Servant as S
--
-- Application
--
2024-09-18 13:16:36 -05:00
main :: IO ()
main = run port $ serve proxy app
2024-10-12 18:08:29 -05:00
app :: Server AppAPI
2024-09-18 13:16:36 -05:00
app = α $ rootHandler
:<|> userListHandler
:<|> userGetHandler
:<|> userPostHandler
2024-10-12 18:08:29 -05:00
α :: ServerT AppAPI AppEff -> ServerT AppAPI Handler
α = hoistServer proxy
$ Handler
. ExceptT
. runEff
. runErrorNoCallStack
. runLoggerIO
. runFileSystem
. runDatabaseIO
2024-09-18 13:16:36 -05:00
port :: Int
port = 8080
2024-10-12 18:08:29 -05:00
proxy :: Proxy AppAPI
2024-09-18 13:16:36 -05:00
proxy = Proxy