{-# 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 post "/signIn" $ do login <- param "login" :: ActionM Text signIn login post "/signOut" $ signOut get "/payments" $ getPaymentsAction get "/users" getUsersAction 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