34 lines
891 B
Haskell
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
|
|
]
|