Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Documentation
type WikiMusicSSRServant = Get '[HTML] NoContent :<|> (("artists" :> BaseEntityRoutes) :<|> (("genres" :> BaseEntityRoutes) :<|> (("songs" :> (BaseEntityRoutes :<|> SongContentsRoutes)) :<|> (("user-preferences" :> PreferenceRoutes) :<|> (("login" :> LoginRoutes) :<|> (("error" :> ErrorRoute) :<|> (("passwords" :> PasswordRoutes) :<|> (("users" :> UserRoutes) :<|> StaticFilesRoute)))))))) Source #
type PasswordRoutes = ("request-reset" :> (WithCookie :> HtmlDoc)) :<|> (("request-reset" :> PostDataForm) :<|> (("do-reset" :> (WithCookie :> (QueryParam "token" Text :> HtmlDoc))) :<|> ("do-reset" :> PostDataForm))) Source #
type UserRoutes = ("invite" :> (WithCookie :> HtmlDoc)) :<|> ("invite" :> (WithCookie :> PostDataForm)) Source #
type PostDataForm = MultipartForm Mem (MultipartData Mem) :> Post '[HTML] (Headers '[Header "Location" Text] NoContent) Source #
type WithReferer = Header "referer" Text Source #
type CookieForm = WithReferer :> (MultipartForm Mem (MultipartData Mem) :> Post '[HTML] (Headers '[Header "Set-Cookie" Text, Header "Location" Text] NoContent)) Source #
type WithCookie = Header "cookie" Text Source #
type BaseEntityRoutes = (WithCookie :> (QueryParam "sort-order" Text :> (QueryParam "limit" Int :> (QueryParam "offset" Int :> (QueryParam "searchInput" Text :> HtmlDoc))))) :<|> ((WithCookie :> (WithEntityIdentifier :> HtmlDoc)) :<|> (("create" :> (WithCookie :> HtmlDoc)) :<|> (("create" :> (WithCookie :> PostDataForm)) :<|> (("like" :> (WithCookie :> (WithReferer :> (WithEntityIdentifier :> PostNoFields)))) :<|> (("dislike" :> (WithCookie :> (WithReferer :> (WithEntityIdentifier :> PostNoFields)))) :<|> (("edit" :> (WithCookie :> (WithEntityIdentifier :> HtmlDoc))) :<|> (("edit" :> (WithCookie :> (WithReferer :> (WithEntityIdentifier :> PostDataForm)))) :<|> (("search" :> PostDataForm) :<|> (("artworks" :> (("create" :> (WithCookie :> (WithReferer :> (WithEntityIdentifier :> PostDataForm)))) :<|> (("delete" :> (WithCookie :> (WithReferer :> (WithEntityIdentifier :> PostNoFields)))) :<|> ("order" :> (WithCookie :> (WithReferer :> (WithEntityIdentifier :> PostDataForm))))))) :<|> ("delete" :> (WithCookie :> (WithEntityIdentifier :> PostNoFields)))))))))))) Source #
type SongContentsRoutes = (WithCookie :> (WithReferer :> (WithEntityIdentifier :> ("contents" :> PostDataForm)))) :<|> ((WithCookie :> (WithReferer :> (WithEntityIdentifier :> ("contents" :> (Capture "songContentIdentifier" UUID :> PostDataForm))))) :<|> ("contents" :> (WithEntityIdentifier :> ("delete" :> (WithCookie :> (WithReferer :> PostNoFields)))))) Source #
type PreferenceRoutes = ("locale" :> CookieForm) :<|> (("artist-sorting" :> CookieForm) :<|> (("genre-sorting" :> CookieForm) :<|> (("song-sorting" :> CookieForm) :<|> (("dark-mode" :> CookieForm) :<|> (("song-ascii-size" :> CookieForm) :<|> ("palette" :> CookieForm)))))) Source #
type LoginRoutes = (WithCookie :> HtmlDoc) :<|> PostDataForm Source #
type WithEntityIdentifier = Capture "identifier" UUID Source #
type ErrorRoute = WithCookie :> (WithReferer :> (QueryParam "code" Int :> (QueryParam "message" Text :> HtmlDoc))) Source #
type StaticFilesRoute = "static" :> Raw Source #