summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2024-11-18 03:30:36 -0500
committerLLLL Colonq <llll@colonq>2024-11-18 03:30:36 -0500
commite634e73d3fc4e9ed8b9a0bde3266183c5e936036 (patch)
treee3dcb77f648998f4b831cab776cbf354ae05d45f
parentfdb4f1c6155a178aafb396c70ff2ce5ecc46e796 (diff)
Move some endpoints around
-rw-r--r--fig-web/src/Fig/Web.hs26
-rw-r--r--fig-web/src/Fig/Web/Secure.hs37
2 files changed, 34 insertions, 29 deletions
diff --git a/fig-web/src/Fig/Web.hs b/fig-web/src/Fig/Web.hs
index 4c0e0ed..d3b5ad4 100644
--- a/fig-web/src/Fig/Web.hs
+++ b/fig-web/src/Fig/Web.hs
@@ -73,9 +73,17 @@ app cfg cmds liveEvents currentlyLive = do
log "Connected! Server active."
st <- stateRef
Sc.scottyApp do
- Sc.middleware $ Wai.Static.staticPolicy $ Wai.Static.addBase cfg.assetPath
- Sc.get "/register" do
- Sc.redirect "/register.html"
+ Sc.middleware . Wai.Static.staticPolicy $ mconcat
+ [ Wai.Static.isNotAbsolute
+ , Wai.Static.only
+ [ ("register", "register.html")
+ , ("main.css", "main.css")
+ , ("main.js", "main.js")
+ ] Wai.Static.<|> Wai.Static.hasPrefix "assets"
+ , Wai.Static.addBase cfg.assetPath
+ ]
+ -- Sc.get "/register" do
+ -- Sc.redirect "/register.html"
Sc.get "/unauthorized" do
Sc.status status401
Sc.text $ mconcat
@@ -137,18 +145,6 @@ app cfg cmds liveEvents currentlyLive = do
Sc.status status404
Sc.text "user not found"
Just val -> Sc.text . Text.L.fromStrict $ decodeUtf8 val
- Sc.post "/api/redeem" do
- me <- Text.toLower <$> Sc.formParam "ayem"
- name <- Sc.formParam "name"
- input <- Sc.formParamMaybe "input"
- liftIO $ cmds.publish [sexp|(frontend redeem incoming)|]
- $ mconcat
- [ [ sexprStr me
- , sexprStr name
- ]
- , maybe [] ((:[]) . sexprStr) input
- ]
- Sc.text "it worked"
Sc.get "/api/songs" do
DB.hvals db "songnames" >>= \case
Nothing -> do
diff --git a/fig-web/src/Fig/Web/Secure.hs b/fig-web/src/Fig/Web/Secure.hs
index 54a5306..d82451d 100644
--- a/fig-web/src/Fig/Web/Secure.hs
+++ b/fig-web/src/Fig/Web/Secure.hs
@@ -4,31 +4,19 @@ module Fig.Web.Secure where
import Fig.Prelude
-import System.Random (randomRIO)
-
-import Control.Monad (unless)
-import Control.Lens (use, (^?), Ixed (..))
-import qualified Control.Concurrent.Chan as Chan
-import qualified Control.Concurrent.MVar as MVar
-
-import Data.Maybe (mapMaybe)
import qualified Data.Text as Text
-import qualified Data.Text.Lazy as Text.L
import qualified Data.ByteString.Base64 as BS.Base64
import qualified Data.Set as Set
import qualified Network.Wai as Wai
--- import qualified Network.Wai.Middleware.Static as Wai.Static
+import qualified Network.Wai.Middleware.Static as Wai.Static
import qualified Network.Wai.Handler.Warp as Warp
-import qualified Network.WebSockets as WS
import qualified Web.Scotty as Sc
import Fig.Utils.SExpr
import Fig.Bus.Client
import Fig.Web.Utils
-import Fig.Web.Auth
-import Fig.Web.State
import qualified Fig.Web.DB as DB
data LiveEvent
@@ -55,10 +43,31 @@ sexprStr = SExprString . BS.Base64.encodeBase64 . encodeUtf8
app :: Config -> Commands IO -> IO Wai.Application
app cfg cmds = do
log "Connecting to database..."
- db <- DB.connect cfg
+ _db <- DB.connect cfg
log "Connected! Secure server active."
Sc.scottyApp do
+ Sc.middleware . Wai.Static.staticPolicy $ mconcat
+ [ Wai.Static.isNotAbsolute
+ , Wai.Static.only
+ [ ("menu", "menu.html")
+ , ("main.css", "main.css")
+ , ("main.js", "main.js")
+ ] Wai.Static.<|> Wai.Static.hasPrefix "assets"
+ , Wai.Static.addBase cfg.assetPath
+ ]
Sc.get "/" do
Sc.text "this is the secure endpoint"
+ Sc.post "/api/redeem" do
+ me <- Text.toLower <$> Sc.formParam "ayem"
+ name <- Sc.formParam "name"
+ input <- Sc.formParamMaybe "input"
+ liftIO $ cmds.publish [sexp|(frontend redeem incoming)|]
+ $ mconcat
+ [ [ sexprStr me
+ , sexprStr name
+ ]
+ , maybe [] ((:[]) . sexprStr) input
+ ]
+ Sc.text "it worked"
Sc.notFound do
Sc.text "not found"