fedi/src/Fedi/Routes.hs
2024-11-08 13:26:02 +02:00

34 lines
891 B
Haskell

module Fedi.Routes (
module Fedi.Routes,
module Export,
) where
import Fedi.Helpers
import Fedi.Routes.Follow as Export
import Fedi.Routes.Helpers as Export
import Fedi.Routes.Inbox as Export
import Fedi.Routes.Notes as Export
import Fedi.Routes.Outbox as Export
import Fedi.Routes.User as Export
import Fedi.UserDetails
import Web.Twain qualified as Twain
-- * Routes
routes :: UserDetails -> [Twain.Middleware]
routes details =
[ Twain.get "/" do
Twain.send $
Twain.redirect302 $
fromString ("/" <> details.username)
, Twain.get (matchUser details) do
handleUser details
, Twain.get (matchOutbox details) do
handleOutbox details []
, Twain.get (matchCreateNote details) do
handleCreateNote details []
, Twain.get (matchNote details) do
handleNote details []
, Twain.get matchWebfinger do
handleWebfinger details
]