wikimusic-ssr-1.0.1.6: src/WikiMusic/SSR/Free/View.hs
module WikiMusic.SSR.Free.View where
import Principium
import WikiMusic.Interaction.Model.Artist
import WikiMusic.Interaction.Model.Genre
import WikiMusic.Interaction.Model.Song
type View :: Type -> Type
data View a
= ArtistListPage Limit Offset Env ViewVars GetArtistsQueryResponse (Html -> a)
| ArtistDetailPage Env ViewVars GetArtistsQueryResponse (Html -> a)
| ArtistCreatePage Env ViewVars (Html -> a)
| ArtistEditPage Env ViewVars Artist (Html -> a)
| GenreListPage Limit Offset Env ViewVars GetGenresQueryResponse (Html -> a)
| GenreDetailPage Env ViewVars GetGenresQueryResponse (Html -> a)
| GenreCreatePage Env ViewVars (Html -> a)
| GenreEditPage Env ViewVars Genre (Html -> a)
| SongListPage Limit Offset Env ViewVars GetSongsQueryResponse (Html -> a)
| SongDetailPage Env ViewVars GetSongsQueryResponse (Html -> a)
| SongCreatePage Env ViewVars (Html -> a)
| SongEditPage Env ViewVars Song (Html -> a)
| ErrorPage Env ViewVars (Maybe Int) (Maybe Text) (Html -> a)
| LoginPage Env ViewVars (Html -> a)
| RequestPasswordResetPage Env ViewVars (Html -> a)
| DoPasswordResetPage Env ViewVars (Maybe Text) (Html -> a)
| InviteUsersPage Env ViewVars (Html -> a)
deriving (Functor)
artistListPage :: (View :<: f) => Limit -> Offset -> Env -> ViewVars -> GetArtistsQueryResponse -> Free f Html
artistListPage limit offset env vv artists = injectFree (ArtistListPage limit offset env vv artists Pure)
artistDetailPage :: (View :<: f) => Env -> ViewVars -> GetArtistsQueryResponse -> Free f Html
artistDetailPage env vv artists = injectFree (ArtistDetailPage env vv artists Pure)
artistCreatePage :: (View :<: f) => Env -> ViewVars -> Free f Html
artistCreatePage env vv = injectFree (ArtistCreatePage env vv Pure)
artistEditPage :: (View :<: f) => Env -> ViewVars -> Artist -> Free f Html
artistEditPage env vv artist = injectFree (ArtistEditPage env vv artist Pure)
genreListPage :: (View :<: f) => Limit -> Offset -> Env -> ViewVars -> GetGenresQueryResponse -> Free f Html
genreListPage limit offset env vv genres = injectFree (GenreListPage limit offset env vv genres Pure)
genreDetailPage :: (View :<: f) => Env -> ViewVars -> GetGenresQueryResponse -> Free f Html
genreDetailPage env vv genres = injectFree (GenreDetailPage env vv genres Pure)
genreCreatePage :: (View :<: f) => Env -> ViewVars -> Free f Html
genreCreatePage env vv = injectFree (GenreCreatePage env vv Pure)
genreEditPage :: (View :<: f) => Env -> ViewVars -> Genre -> Free f Html
genreEditPage env vv genre = injectFree (GenreEditPage env vv genre Pure)
songListPage :: (View :<: f) => Limit -> Offset -> Env -> ViewVars -> GetSongsQueryResponse -> Free f Html
songListPage limit offset env vv songs = injectFree (SongListPage limit offset env vv songs Pure)
songDetailPage :: (View :<: f) => Env -> ViewVars -> GetSongsQueryResponse -> Free f Html
songDetailPage env vv songs = injectFree (SongDetailPage env vv songs Pure)
songCreatePage :: (View :<: f) => Env -> ViewVars -> Free f Html
songCreatePage env vv = injectFree (SongCreatePage env vv Pure)
songEditPage :: (View :<: f) => Env -> ViewVars -> Song -> Free f Html
songEditPage env vv song = injectFree (SongEditPage env vv song Pure)
errorPage :: (View :<: f) => Env -> ViewVars -> Maybe Int -> Maybe Text -> Free f Html
errorPage env vv maybeCode maybeMessage = injectFree (ErrorPage env vv maybeCode maybeMessage Pure)
loginPage :: (View :<: f) => Env -> ViewVars -> Free f Html
loginPage env vv = injectFree (LoginPage env vv Pure)
requestPasswordResetPage :: (View :<: f) => Env -> ViewVars -> Free f Html
requestPasswordResetPage env vv = injectFree (RequestPasswordResetPage env vv Pure)
doPasswordResetPage :: (View :<: f) => Env -> ViewVars -> Maybe Text -> Free f Html
doPasswordResetPage env vv t = injectFree (DoPasswordResetPage env vv t Pure)
inviteUsersPage :: (View :<: f) => Env -> ViewVars -> Free f Html
inviteUsersPage env vv = injectFree (InviteUsersPage env vv Pure)