{-# LANGUAGE OverloadedStrings #-} import Web.Scotty import Network.Wai.Middleware.Static import Data.Text (Text) import Application import Model.Database (runMigrations) main :: IO () main = do runMigrations scotty 3000 $ do middleware $ staticPolicy (noDots >-> addBase "public") get "/" getIndexAction get "/users" getUsersAction get "/payments" getPaymentsAction post "/user/add" $ do email <- param "email" :: ActionM Text name <- param "name" :: ActionM Text addUserAction email name post "/user/delete" $ do email <- param "email" :: ActionM Text deleteUserAction email post "/payment/add" $ do email <- param "email" :: ActionM Text name <- param "name" :: ActionM Text cost <- param "cost" :: ActionM Int insertPaymentAction email name cost