module WikiMusic.SSR.Free.Backend
( getArtists,
getArtist,
Backend (..),
login,
getGenres,
getGenre,
getSongs,
getSong,
searchArtists,
searchGenres,
searchSongs,
createArtist,
createGenre,
createSong,
createSongComment,
upsertSongOpinion,
createSongArtwork,
deleteSong,
deleteSongComment,
deleteSongOpinion,
deleteSongArtwork,
updateSongArtworkOrder,
editSong,
editGenre,
updateGenreArtworkOrder,
deleteGenreArtwork,
deleteGenreOpinion,
deleteGenreComment,
deleteGenre,
createGenreArtwork,
upsertGenreOpinion,
createGenreComment,
createArtistComment,
upsertArtistOpinion,
createArtistArtwork,
deleteArtist,
deleteArtistComment,
deleteArtistOpinion,
editArtist,
updateArtistArtworkOrder,
deleteArtistArtwork,
createArtistOfSong,
deleteArtistOfSong,
createSongContents,
editSongContents,
deleteSongContents,
systemInformation,
resetPassword,
resetPasswordDo,
userInvite,
userDelete,
me,
)
where
import Data.UUID (UUID)
import Free.AlaCarte
import Relude
import WikiMusic.Interaction.Model.Artist
import WikiMusic.Interaction.Model.Auth
import WikiMusic.Interaction.Model.Genre
import WikiMusic.Interaction.Model.Song
import WikiMusic.Interaction.Model.User
import WikiMusic.Model.Auth
import WikiMusic.Model.Other
import WikiMusic.SSR.Model.Api
import WikiMusic.SSR.Model.Env
type Backend :: Type -> Type
data Backend a
=
GetArtists Env AuthToken Limit Offset SortOrder Include (Either Text GetArtistsQueryResponse -> a)
| SearchArtists Env AuthToken Text Limit Offset SortOrder Include (Either Text GetArtistsQueryResponse -> a)
| GetArtist Env AuthToken UUID Include (Either Text GetArtistsQueryResponse -> a)
| CreateArtist Env AuthToken InsertArtistsRequest (Either Text InsertArtistsCommandResponse -> a)
| Env AuthToken InsertArtistCommentsRequest (Either Text InsertArtistCommentsCommandResponse -> a)
| UpsertArtistOpinion Env AuthToken UpsertArtistOpinionsRequest (Either Text UpsertArtistOpinionsCommandResponse -> a)
| CreateArtistArtwork Env AuthToken InsertArtistArtworksRequest (Either Text InsertArtistArtworksCommandResponse -> a)
| DeleteArtist Env AuthToken UUID (Either Text () -> a)
| Env AuthToken UUID (Either Text () -> a)
| DeleteArtistOpinion Env AuthToken UUID (Either Text () -> a)
| DeleteArtistArtwork Env AuthToken UUID (Either Text () -> a)
| UpdateArtistArtworkOrder Env AuthToken ArtistArtworkOrderUpdateRequest (Either Text () -> a)
| EditArtist Env AuthToken ArtistDeltaRequest (Either Text () -> a)
|
GetGenres Env AuthToken Limit Offset SortOrder Include (Either Text GetGenresQueryResponse -> a)
| SearchGenres Env AuthToken Text Limit Offset SortOrder Include (Either Text GetGenresQueryResponse -> a)
| GetGenre Env AuthToken UUID Include (Either Text GetGenresQueryResponse -> a)
| CreateGenre Env AuthToken InsertGenresRequest (Either Text InsertGenresCommandResponse -> a)
| Env AuthToken InsertGenreCommentsRequest (Either Text InsertGenreCommentsCommandResponse -> a)
| UpsertGenreOpinion Env AuthToken UpsertGenreOpinionsRequest (Either Text UpsertGenreOpinionsCommandResponse -> a)
| CreateGenreArtwork Env AuthToken InsertGenreArtworksRequest (Either Text InsertGenreArtworksCommandResponse -> a)
| DeleteGenre Env AuthToken UUID (Either Text () -> a)
| Env AuthToken UUID (Either Text () -> a)
| DeleteGenreOpinion Env AuthToken UUID (Either Text () -> a)
| DeleteGenreArtwork Env AuthToken UUID (Either Text () -> a)
| UpdateGenreArtworkOrder Env AuthToken GenreArtworkOrderUpdateRequest (Either Text () -> a)
| EditGenre Env AuthToken GenreDeltaRequest (Either Text () -> a)
|
GetSongs Env AuthToken Limit Offset SortOrder Include (Either Text GetSongsQueryResponse -> a)
| SearchSongs Env AuthToken Text Limit Offset SortOrder Include (Either Text GetSongsQueryResponse -> a)
| GetSong Env AuthToken UUID Include (Either Text GetSongsQueryResponse -> a)
| CreateSong Env AuthToken InsertSongsRequest (Either Text InsertSongsCommandResponse -> a)
| Env AuthToken InsertSongCommentsRequest (Either Text InsertSongCommentsCommandResponse -> a)
| UpsertSongOpinion Env AuthToken UpsertSongOpinionsRequest (Either Text UpsertSongOpinionsCommandResponse -> a)
| CreateSongArtwork Env AuthToken InsertSongArtworksRequest (Either Text InsertSongArtworksCommandResponse -> a)
| CreateArtistOfSong Env AuthToken InsertArtistsOfSongsRequest (Either Text InsertArtistsOfSongCommandResponse -> a)
| DeleteArtistOfSong Env AuthToken InsertArtistsOfSongsRequest (Either Text () -> a)
| DeleteSong Env AuthToken UUID (Either Text () -> a)
| Env AuthToken UUID (Either Text () -> a)
| DeleteSongOpinion Env AuthToken UUID (Either Text () -> a)
| DeleteSongArtwork Env AuthToken UUID (Either Text () -> a)
| UpdateSongArtworkOrder Env AuthToken SongArtworkOrderUpdateRequest (Either Text () -> a)
| EditSong Env AuthToken SongDeltaRequest (Either Text () -> a)
| CreateSongContents Env AuthToken InsertSongContentsRequest (Either Text InsertSongContentsCommandResponse -> a)
| DeleteSongContents Env AuthToken UUID (Either Text () -> a)
| EditSongContents Env AuthToken SongContentDeltaRequest (Either Text () -> a)
|
Me Env AuthToken (Either Text GetMeQueryResponse -> a)
| UserInvite Env AuthToken InviteUsersRequest (Either Text MakeResetPasswordLinkResponse -> a)
| UserDelete Env AuthToken DeleteUsersRequest (Either Text () -> a)
|
Login Env LoginRequest (Either Text Text -> a)
| ResetPassword Env Text (Either Text MakeResetPasswordLinkResponse -> a)
| ResetPasswordDo Env DoPasswordResetRequest (Either Text () -> a)
| SystemInformation Env (Either Text SystemInformationResponse -> a)
deriving ((forall a b. (a -> b) -> Backend a -> Backend b)
-> (forall a b. a -> Backend b -> Backend a) -> Functor Backend
forall a b. a -> Backend b -> Backend a
forall a b. (a -> b) -> Backend a -> Backend b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
$cfmap :: forall a b. (a -> b) -> Backend a -> Backend b
fmap :: forall a b. (a -> b) -> Backend a -> Backend b
$c<$ :: forall a b. a -> Backend b -> Backend a
<$ :: forall a b. a -> Backend b -> Backend a
Functor)
getArtists :: (Backend :<: f) => Env -> AuthToken -> Limit -> Offset -> SortOrder -> Include -> Free f (Either Text GetArtistsQueryResponse)
getArtists :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> Limit
-> Offset
-> SortOrder
-> Include
-> Free f (Either Text GetArtistsQueryResponse)
getArtists Env
env AuthToken
authToken Limit
limit Offset
offset SortOrder
sortOrder Include
include = Backend (Free f (Either Text GetArtistsQueryResponse))
-> Free f (Either Text GetArtistsQueryResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetArtistsQueryResponse
-> Free f (Either Text GetArtistsQueryResponse))
-> Backend (Free f (Either Text GetArtistsQueryResponse))
forall a.
Env
-> AuthToken
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetArtistsQueryResponse -> a)
-> Backend a
GetArtists Env
env AuthToken
authToken Limit
limit Offset
offset SortOrder
sortOrder Include
include Either Text GetArtistsQueryResponse
-> Free f (Either Text GetArtistsQueryResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
searchArtists :: (Backend :<: f) => Env -> AuthToken -> Text -> Limit -> Offset -> SortOrder -> Include -> Free f (Either Text GetArtistsQueryResponse)
searchArtists :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> Text
-> Limit
-> Offset
-> SortOrder
-> Include
-> Free f (Either Text GetArtistsQueryResponse)
searchArtists Env
env AuthToken
authToken Text
search Limit
limit Offset
offset SortOrder
sortOrder Include
include = Backend (Free f (Either Text GetArtistsQueryResponse))
-> Free f (Either Text GetArtistsQueryResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> Text
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetArtistsQueryResponse
-> Free f (Either Text GetArtistsQueryResponse))
-> Backend (Free f (Either Text GetArtistsQueryResponse))
forall a.
Env
-> AuthToken
-> Text
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetArtistsQueryResponse -> a)
-> Backend a
SearchArtists Env
env AuthToken
authToken Text
search Limit
limit Offset
offset SortOrder
sortOrder Include
include Either Text GetArtistsQueryResponse
-> Free f (Either Text GetArtistsQueryResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
getArtist :: (Backend :<: f) => Env -> AuthToken -> UUID -> Include -> Free f (Either Text GetArtistsQueryResponse)
getArtist :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> UUID
-> Include
-> Free f (Either Text GetArtistsQueryResponse)
getArtist Env
env AuthToken
authToken UUID
identifier Include
include = Backend (Free f (Either Text GetArtistsQueryResponse))
-> Free f (Either Text GetArtistsQueryResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> Include
-> (Either Text GetArtistsQueryResponse
-> Free f (Either Text GetArtistsQueryResponse))
-> Backend (Free f (Either Text GetArtistsQueryResponse))
forall a.
Env
-> AuthToken
-> UUID
-> Include
-> (Either Text GetArtistsQueryResponse -> a)
-> Backend a
GetArtist Env
env AuthToken
authToken UUID
identifier Include
include Either Text GetArtistsQueryResponse
-> Free f (Either Text GetArtistsQueryResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
createArtist :: (Backend :<: f) => Env -> AuthToken -> InsertArtistsRequest -> Free f (Either Text InsertArtistsCommandResponse)
createArtist :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> InsertArtistsRequest
-> Free f (Either Text InsertArtistsCommandResponse)
createArtist Env
env AuthToken
authToken InsertArtistsRequest
r = Backend (Free f (Either Text InsertArtistsCommandResponse))
-> Free f (Either Text InsertArtistsCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertArtistsRequest
-> (Either Text InsertArtistsCommandResponse
-> Free f (Either Text InsertArtistsCommandResponse))
-> Backend (Free f (Either Text InsertArtistsCommandResponse))
forall a.
Env
-> AuthToken
-> InsertArtistsRequest
-> (Either Text InsertArtistsCommandResponse -> a)
-> Backend a
CreateArtist Env
env AuthToken
authToken InsertArtistsRequest
r Either Text InsertArtistsCommandResponse
-> Free f (Either Text InsertArtistsCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
createArtistComment :: (Backend :<: f) => Env -> AuthToken -> InsertArtistCommentsRequest -> Free f (Either Text InsertArtistCommentsCommandResponse)
Env
env AuthToken
authToken InsertArtistCommentsRequest
r = Backend (Free f (Either Text InsertArtistCommentsCommandResponse))
-> Free f (Either Text InsertArtistCommentsCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertArtistCommentsRequest
-> (Either Text InsertArtistCommentsCommandResponse
-> Free f (Either Text InsertArtistCommentsCommandResponse))
-> Backend
(Free f (Either Text InsertArtistCommentsCommandResponse))
forall a.
Env
-> AuthToken
-> InsertArtistCommentsRequest
-> (Either Text InsertArtistCommentsCommandResponse -> a)
-> Backend a
CreateArtistComment Env
env AuthToken
authToken InsertArtistCommentsRequest
r Either Text InsertArtistCommentsCommandResponse
-> Free f (Either Text InsertArtistCommentsCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
upsertArtistOpinion :: (Backend :<: f) => Env -> AuthToken -> UpsertArtistOpinionsRequest -> Free f (Either Text UpsertArtistOpinionsCommandResponse)
upsertArtistOpinion :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> UpsertArtistOpinionsRequest
-> Free f (Either Text UpsertArtistOpinionsCommandResponse)
upsertArtistOpinion Env
env AuthToken
authToken UpsertArtistOpinionsRequest
r = Backend (Free f (Either Text UpsertArtistOpinionsCommandResponse))
-> Free f (Either Text UpsertArtistOpinionsCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UpsertArtistOpinionsRequest
-> (Either Text UpsertArtistOpinionsCommandResponse
-> Free f (Either Text UpsertArtistOpinionsCommandResponse))
-> Backend
(Free f (Either Text UpsertArtistOpinionsCommandResponse))
forall a.
Env
-> AuthToken
-> UpsertArtistOpinionsRequest
-> (Either Text UpsertArtistOpinionsCommandResponse -> a)
-> Backend a
UpsertArtistOpinion Env
env AuthToken
authToken UpsertArtistOpinionsRequest
r Either Text UpsertArtistOpinionsCommandResponse
-> Free f (Either Text UpsertArtistOpinionsCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
createArtistArtwork :: (Backend :<: f) => Env -> AuthToken -> InsertArtistArtworksRequest -> Free f (Either Text InsertArtistArtworksCommandResponse)
createArtistArtwork :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> InsertArtistArtworksRequest
-> Free f (Either Text InsertArtistArtworksCommandResponse)
createArtistArtwork Env
env AuthToken
authToken InsertArtistArtworksRequest
r = Backend (Free f (Either Text InsertArtistArtworksCommandResponse))
-> Free f (Either Text InsertArtistArtworksCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertArtistArtworksRequest
-> (Either Text InsertArtistArtworksCommandResponse
-> Free f (Either Text InsertArtistArtworksCommandResponse))
-> Backend
(Free f (Either Text InsertArtistArtworksCommandResponse))
forall a.
Env
-> AuthToken
-> InsertArtistArtworksRequest
-> (Either Text InsertArtistArtworksCommandResponse -> a)
-> Backend a
CreateArtistArtwork Env
env AuthToken
authToken InsertArtistArtworksRequest
r Either Text InsertArtistArtworksCommandResponse
-> Free f (Either Text InsertArtistArtworksCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteArtist :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteArtist :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteArtist Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteArtist Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteArtistComment :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteArtistComment Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteArtistOpinion :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteArtistOpinion :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteArtistOpinion Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteArtistOpinion Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteArtistArtwork :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteArtistArtwork :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteArtistArtwork Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteArtistArtwork Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
updateArtistArtworkOrder :: (Backend :<: f) => Env -> AuthToken -> ArtistArtworkOrderUpdateRequest -> Free f (Either Text ())
updateArtistArtworkOrder :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> ArtistArtworkOrderUpdateRequest
-> Free f (Either Text ())
updateArtistArtworkOrder Env
env AuthToken
authToken ArtistArtworkOrderUpdateRequest
r = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> ArtistArtworkOrderUpdateRequest
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env
-> AuthToken
-> ArtistArtworkOrderUpdateRequest
-> (Either Text () -> a)
-> Backend a
UpdateArtistArtworkOrder Env
env AuthToken
authToken ArtistArtworkOrderUpdateRequest
r Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
editArtist :: (Backend :<: f) => Env -> AuthToken -> ArtistDeltaRequest -> Free f (Either Text ())
editArtist :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> ArtistDeltaRequest -> Free f (Either Text ())
editArtist Env
env AuthToken
authToken ArtistDeltaRequest
r = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> ArtistDeltaRequest
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env
-> AuthToken
-> ArtistDeltaRequest
-> (Either Text () -> a)
-> Backend a
EditArtist Env
env AuthToken
authToken ArtistDeltaRequest
r Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
getGenres :: (Backend :<: f) => Env -> AuthToken -> Limit -> Offset -> SortOrder -> Include -> Free f (Either Text GetGenresQueryResponse)
getGenres :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> Limit
-> Offset
-> SortOrder
-> Include
-> Free f (Either Text GetGenresQueryResponse)
getGenres Env
env AuthToken
authToken Limit
limit Offset
offset SortOrder
sortOrder Include
include = Backend (Free f (Either Text GetGenresQueryResponse))
-> Free f (Either Text GetGenresQueryResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetGenresQueryResponse
-> Free f (Either Text GetGenresQueryResponse))
-> Backend (Free f (Either Text GetGenresQueryResponse))
forall a.
Env
-> AuthToken
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetGenresQueryResponse -> a)
-> Backend a
GetGenres Env
env AuthToken
authToken Limit
limit Offset
offset SortOrder
sortOrder Include
include Either Text GetGenresQueryResponse
-> Free f (Either Text GetGenresQueryResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
searchGenres :: (Backend :<: f) => Env -> AuthToken -> Text -> Limit -> Offset -> SortOrder -> Include -> Free f (Either Text GetGenresQueryResponse)
searchGenres :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> Text
-> Limit
-> Offset
-> SortOrder
-> Include
-> Free f (Either Text GetGenresQueryResponse)
searchGenres Env
env AuthToken
authToken Text
search Limit
limit Offset
offset SortOrder
sortOrder Include
include = Backend (Free f (Either Text GetGenresQueryResponse))
-> Free f (Either Text GetGenresQueryResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> Text
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetGenresQueryResponse
-> Free f (Either Text GetGenresQueryResponse))
-> Backend (Free f (Either Text GetGenresQueryResponse))
forall a.
Env
-> AuthToken
-> Text
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetGenresQueryResponse -> a)
-> Backend a
SearchGenres Env
env AuthToken
authToken Text
search Limit
limit Offset
offset SortOrder
sortOrder Include
include Either Text GetGenresQueryResponse
-> Free f (Either Text GetGenresQueryResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
getGenre :: (Backend :<: f) => Env -> AuthToken -> UUID -> Include -> Free f (Either Text GetGenresQueryResponse)
getGenre :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> UUID
-> Include
-> Free f (Either Text GetGenresQueryResponse)
getGenre Env
env AuthToken
authToken UUID
identifier Include
include = Backend (Free f (Either Text GetGenresQueryResponse))
-> Free f (Either Text GetGenresQueryResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> Include
-> (Either Text GetGenresQueryResponse
-> Free f (Either Text GetGenresQueryResponse))
-> Backend (Free f (Either Text GetGenresQueryResponse))
forall a.
Env
-> AuthToken
-> UUID
-> Include
-> (Either Text GetGenresQueryResponse -> a)
-> Backend a
GetGenre Env
env AuthToken
authToken UUID
identifier Include
include Either Text GetGenresQueryResponse
-> Free f (Either Text GetGenresQueryResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
createGenre :: (Backend :<: f) => Env -> AuthToken -> InsertGenresRequest -> Free f (Either Text InsertGenresCommandResponse)
createGenre :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> InsertGenresRequest
-> Free f (Either Text InsertGenresCommandResponse)
createGenre Env
env AuthToken
authToken InsertGenresRequest
r = Backend (Free f (Either Text InsertGenresCommandResponse))
-> Free f (Either Text InsertGenresCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertGenresRequest
-> (Either Text InsertGenresCommandResponse
-> Free f (Either Text InsertGenresCommandResponse))
-> Backend (Free f (Either Text InsertGenresCommandResponse))
forall a.
Env
-> AuthToken
-> InsertGenresRequest
-> (Either Text InsertGenresCommandResponse -> a)
-> Backend a
CreateGenre Env
env AuthToken
authToken InsertGenresRequest
r Either Text InsertGenresCommandResponse
-> Free f (Either Text InsertGenresCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
createGenreComment :: (Backend :<: f) => Env -> AuthToken -> InsertGenreCommentsRequest -> Free f (Either Text InsertGenreCommentsCommandResponse)
Env
env AuthToken
authToken InsertGenreCommentsRequest
r = Backend (Free f (Either Text InsertGenreCommentsCommandResponse))
-> Free f (Either Text InsertGenreCommentsCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertGenreCommentsRequest
-> (Either Text InsertGenreCommentsCommandResponse
-> Free f (Either Text InsertGenreCommentsCommandResponse))
-> Backend
(Free f (Either Text InsertGenreCommentsCommandResponse))
forall a.
Env
-> AuthToken
-> InsertGenreCommentsRequest
-> (Either Text InsertGenreCommentsCommandResponse -> a)
-> Backend a
CreateGenreComment Env
env AuthToken
authToken InsertGenreCommentsRequest
r Either Text InsertGenreCommentsCommandResponse
-> Free f (Either Text InsertGenreCommentsCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
upsertGenreOpinion :: (Backend :<: f) => Env -> AuthToken -> UpsertGenreOpinionsRequest -> Free f (Either Text UpsertGenreOpinionsCommandResponse)
upsertGenreOpinion :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> UpsertGenreOpinionsRequest
-> Free f (Either Text UpsertGenreOpinionsCommandResponse)
upsertGenreOpinion Env
env AuthToken
authToken UpsertGenreOpinionsRequest
r = Backend (Free f (Either Text UpsertGenreOpinionsCommandResponse))
-> Free f (Either Text UpsertGenreOpinionsCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UpsertGenreOpinionsRequest
-> (Either Text UpsertGenreOpinionsCommandResponse
-> Free f (Either Text UpsertGenreOpinionsCommandResponse))
-> Backend
(Free f (Either Text UpsertGenreOpinionsCommandResponse))
forall a.
Env
-> AuthToken
-> UpsertGenreOpinionsRequest
-> (Either Text UpsertGenreOpinionsCommandResponse -> a)
-> Backend a
UpsertGenreOpinion Env
env AuthToken
authToken UpsertGenreOpinionsRequest
r Either Text UpsertGenreOpinionsCommandResponse
-> Free f (Either Text UpsertGenreOpinionsCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
createGenreArtwork :: (Backend :<: f) => Env -> AuthToken -> InsertGenreArtworksRequest -> Free f (Either Text InsertGenreArtworksCommandResponse)
createGenreArtwork :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> InsertGenreArtworksRequest
-> Free f (Either Text InsertGenreArtworksCommandResponse)
createGenreArtwork Env
env AuthToken
authToken InsertGenreArtworksRequest
r = Backend (Free f (Either Text InsertGenreArtworksCommandResponse))
-> Free f (Either Text InsertGenreArtworksCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertGenreArtworksRequest
-> (Either Text InsertGenreArtworksCommandResponse
-> Free f (Either Text InsertGenreArtworksCommandResponse))
-> Backend
(Free f (Either Text InsertGenreArtworksCommandResponse))
forall a.
Env
-> AuthToken
-> InsertGenreArtworksRequest
-> (Either Text InsertGenreArtworksCommandResponse -> a)
-> Backend a
CreateGenreArtwork Env
env AuthToken
authToken InsertGenreArtworksRequest
r Either Text InsertGenreArtworksCommandResponse
-> Free f (Either Text InsertGenreArtworksCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteGenre :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteGenre :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteGenre Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteGenre Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteGenreComment :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteGenreComment Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteGenreOpinion :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteGenreOpinion :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteGenreOpinion Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteGenreOpinion Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteGenreArtwork :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteGenreArtwork :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteGenreArtwork Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteGenreArtwork Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
updateGenreArtworkOrder :: (Backend :<: f) => Env -> AuthToken -> GenreArtworkOrderUpdateRequest -> Free f (Either Text ())
updateGenreArtworkOrder :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> GenreArtworkOrderUpdateRequest
-> Free f (Either Text ())
updateGenreArtworkOrder Env
env AuthToken
authToken GenreArtworkOrderUpdateRequest
r = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> GenreArtworkOrderUpdateRequest
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env
-> AuthToken
-> GenreArtworkOrderUpdateRequest
-> (Either Text () -> a)
-> Backend a
UpdateGenreArtworkOrder Env
env AuthToken
authToken GenreArtworkOrderUpdateRequest
r Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
editGenre :: (Backend :<: f) => Env -> AuthToken -> GenreDeltaRequest -> Free f (Either Text ())
editGenre :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> GenreDeltaRequest -> Free f (Either Text ())
editGenre Env
env AuthToken
authToken GenreDeltaRequest
r = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> GenreDeltaRequest
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env
-> AuthToken
-> GenreDeltaRequest
-> (Either Text () -> a)
-> Backend a
EditGenre Env
env AuthToken
authToken GenreDeltaRequest
r Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
getSongs :: (Backend :<: f) => Env -> AuthToken -> Limit -> Offset -> SortOrder -> Include -> Free f (Either Text GetSongsQueryResponse)
getSongs :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> Limit
-> Offset
-> SortOrder
-> Include
-> Free f (Either Text GetSongsQueryResponse)
getSongs Env
env AuthToken
authToken Limit
limit Offset
offset SortOrder
sortOrder Include
include = Backend (Free f (Either Text GetSongsQueryResponse))
-> Free f (Either Text GetSongsQueryResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetSongsQueryResponse
-> Free f (Either Text GetSongsQueryResponse))
-> Backend (Free f (Either Text GetSongsQueryResponse))
forall a.
Env
-> AuthToken
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetSongsQueryResponse -> a)
-> Backend a
GetSongs Env
env AuthToken
authToken Limit
limit Offset
offset SortOrder
sortOrder Include
include Either Text GetSongsQueryResponse
-> Free f (Either Text GetSongsQueryResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
searchSongs :: (Backend :<: f) => Env -> AuthToken -> Text -> Limit -> Offset -> SortOrder -> Include -> Free f (Either Text GetSongsQueryResponse)
searchSongs :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> Text
-> Limit
-> Offset
-> SortOrder
-> Include
-> Free f (Either Text GetSongsQueryResponse)
searchSongs Env
env AuthToken
authToken Text
search Limit
limit Offset
offset SortOrder
sortOrder Include
include = Backend (Free f (Either Text GetSongsQueryResponse))
-> Free f (Either Text GetSongsQueryResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> Text
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetSongsQueryResponse
-> Free f (Either Text GetSongsQueryResponse))
-> Backend (Free f (Either Text GetSongsQueryResponse))
forall a.
Env
-> AuthToken
-> Text
-> Limit
-> Offset
-> SortOrder
-> Include
-> (Either Text GetSongsQueryResponse -> a)
-> Backend a
SearchSongs Env
env AuthToken
authToken Text
search Limit
limit Offset
offset SortOrder
sortOrder Include
include Either Text GetSongsQueryResponse
-> Free f (Either Text GetSongsQueryResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
getSong :: (Backend :<: f) => Env -> AuthToken -> UUID -> Include -> Free f (Either Text GetSongsQueryResponse)
getSong :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> UUID
-> Include
-> Free f (Either Text GetSongsQueryResponse)
getSong Env
env AuthToken
authToken UUID
identifier Include
include = Backend (Free f (Either Text GetSongsQueryResponse))
-> Free f (Either Text GetSongsQueryResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> Include
-> (Either Text GetSongsQueryResponse
-> Free f (Either Text GetSongsQueryResponse))
-> Backend (Free f (Either Text GetSongsQueryResponse))
forall a.
Env
-> AuthToken
-> UUID
-> Include
-> (Either Text GetSongsQueryResponse -> a)
-> Backend a
GetSong Env
env AuthToken
authToken UUID
identifier Include
include Either Text GetSongsQueryResponse
-> Free f (Either Text GetSongsQueryResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
createSong :: (Backend :<: f) => Env -> AuthToken -> InsertSongsRequest -> Free f (Either Text InsertSongsCommandResponse)
createSong :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> InsertSongsRequest
-> Free f (Either Text InsertSongsCommandResponse)
createSong Env
env AuthToken
authToken InsertSongsRequest
r = Backend (Free f (Either Text InsertSongsCommandResponse))
-> Free f (Either Text InsertSongsCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertSongsRequest
-> (Either Text InsertSongsCommandResponse
-> Free f (Either Text InsertSongsCommandResponse))
-> Backend (Free f (Either Text InsertSongsCommandResponse))
forall a.
Env
-> AuthToken
-> InsertSongsRequest
-> (Either Text InsertSongsCommandResponse -> a)
-> Backend a
CreateSong Env
env AuthToken
authToken InsertSongsRequest
r Either Text InsertSongsCommandResponse
-> Free f (Either Text InsertSongsCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
createSongComment :: (Backend :<: f) => Env -> AuthToken -> InsertSongCommentsRequest -> Free f (Either Text InsertSongCommentsCommandResponse)
Env
env AuthToken
authToken InsertSongCommentsRequest
r = Backend (Free f (Either Text InsertSongCommentsCommandResponse))
-> Free f (Either Text InsertSongCommentsCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertSongCommentsRequest
-> (Either Text InsertSongCommentsCommandResponse
-> Free f (Either Text InsertSongCommentsCommandResponse))
-> Backend (Free f (Either Text InsertSongCommentsCommandResponse))
forall a.
Env
-> AuthToken
-> InsertSongCommentsRequest
-> (Either Text InsertSongCommentsCommandResponse -> a)
-> Backend a
CreateSongComment Env
env AuthToken
authToken InsertSongCommentsRequest
r Either Text InsertSongCommentsCommandResponse
-> Free f (Either Text InsertSongCommentsCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
upsertSongOpinion :: (Backend :<: f) => Env -> AuthToken -> UpsertSongOpinionsRequest -> Free f (Either Text UpsertSongOpinionsCommandResponse)
upsertSongOpinion :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> UpsertSongOpinionsRequest
-> Free f (Either Text UpsertSongOpinionsCommandResponse)
upsertSongOpinion Env
env AuthToken
authToken UpsertSongOpinionsRequest
r = Backend (Free f (Either Text UpsertSongOpinionsCommandResponse))
-> Free f (Either Text UpsertSongOpinionsCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UpsertSongOpinionsRequest
-> (Either Text UpsertSongOpinionsCommandResponse
-> Free f (Either Text UpsertSongOpinionsCommandResponse))
-> Backend (Free f (Either Text UpsertSongOpinionsCommandResponse))
forall a.
Env
-> AuthToken
-> UpsertSongOpinionsRequest
-> (Either Text UpsertSongOpinionsCommandResponse -> a)
-> Backend a
UpsertSongOpinion Env
env AuthToken
authToken UpsertSongOpinionsRequest
r Either Text UpsertSongOpinionsCommandResponse
-> Free f (Either Text UpsertSongOpinionsCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
createSongArtwork :: (Backend :<: f) => Env -> AuthToken -> InsertSongArtworksRequest -> Free f (Either Text InsertSongArtworksCommandResponse)
createSongArtwork :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> InsertSongArtworksRequest
-> Free f (Either Text InsertSongArtworksCommandResponse)
createSongArtwork Env
env AuthToken
authToken InsertSongArtworksRequest
r = Backend (Free f (Either Text InsertSongArtworksCommandResponse))
-> Free f (Either Text InsertSongArtworksCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertSongArtworksRequest
-> (Either Text InsertSongArtworksCommandResponse
-> Free f (Either Text InsertSongArtworksCommandResponse))
-> Backend (Free f (Either Text InsertSongArtworksCommandResponse))
forall a.
Env
-> AuthToken
-> InsertSongArtworksRequest
-> (Either Text InsertSongArtworksCommandResponse -> a)
-> Backend a
CreateSongArtwork Env
env AuthToken
authToken InsertSongArtworksRequest
r Either Text InsertSongArtworksCommandResponse
-> Free f (Either Text InsertSongArtworksCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
createArtistOfSong :: (Backend :<: f) => Env -> AuthToken -> InsertArtistsOfSongsRequest -> Free f (Either Text InsertArtistsOfSongCommandResponse)
createArtistOfSong :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> InsertArtistsOfSongsRequest
-> Free f (Either Text InsertArtistsOfSongCommandResponse)
createArtistOfSong Env
env AuthToken
authToken InsertArtistsOfSongsRequest
r = Backend (Free f (Either Text InsertArtistsOfSongCommandResponse))
-> Free f (Either Text InsertArtistsOfSongCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertArtistsOfSongsRequest
-> (Either Text InsertArtistsOfSongCommandResponse
-> Free f (Either Text InsertArtistsOfSongCommandResponse))
-> Backend
(Free f (Either Text InsertArtistsOfSongCommandResponse))
forall a.
Env
-> AuthToken
-> InsertArtistsOfSongsRequest
-> (Either Text InsertArtistsOfSongCommandResponse -> a)
-> Backend a
CreateArtistOfSong Env
env AuthToken
authToken InsertArtistsOfSongsRequest
r Either Text InsertArtistsOfSongCommandResponse
-> Free f (Either Text InsertArtistsOfSongCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteArtistOfSong :: (Backend :<: f) => Env -> AuthToken -> InsertArtistsOfSongsRequest -> Free f (Either Text ())
deleteArtistOfSong :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> InsertArtistsOfSongsRequest
-> Free f (Either Text ())
deleteArtistOfSong Env
env AuthToken
authToken InsertArtistsOfSongsRequest
r = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertArtistsOfSongsRequest
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env
-> AuthToken
-> InsertArtistsOfSongsRequest
-> (Either Text () -> a)
-> Backend a
DeleteArtistOfSong Env
env AuthToken
authToken InsertArtistsOfSongsRequest
r Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteSong :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteSong :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteSong Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteSong Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteSongComment :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteSongComment Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteSongOpinion :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteSongOpinion :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteSongOpinion Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteSongOpinion Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteSongArtwork :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteSongArtwork :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteSongArtwork Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteSongArtwork Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
updateSongArtworkOrder :: (Backend :<: f) => Env -> AuthToken -> SongArtworkOrderUpdateRequest -> Free f (Either Text ())
updateSongArtworkOrder :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> SongArtworkOrderUpdateRequest
-> Free f (Either Text ())
updateSongArtworkOrder Env
env AuthToken
authToken SongArtworkOrderUpdateRequest
r = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> SongArtworkOrderUpdateRequest
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env
-> AuthToken
-> SongArtworkOrderUpdateRequest
-> (Either Text () -> a)
-> Backend a
UpdateSongArtworkOrder Env
env AuthToken
authToken SongArtworkOrderUpdateRequest
r Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
editSong :: (Backend :<: f) => Env -> AuthToken -> SongDeltaRequest -> Free f (Either Text ())
editSong :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> SongDeltaRequest -> Free f (Either Text ())
editSong Env
env AuthToken
authToken SongDeltaRequest
r = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> SongDeltaRequest
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env
-> AuthToken
-> SongDeltaRequest
-> (Either Text () -> a)
-> Backend a
EditSong Env
env AuthToken
authToken SongDeltaRequest
r Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
createSongContents :: (Backend :<: f) => Env -> AuthToken -> InsertSongContentsRequest -> Free f (Either Text InsertSongContentsCommandResponse)
createSongContents :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> InsertSongContentsRequest
-> Free f (Either Text InsertSongContentsCommandResponse)
createSongContents Env
env AuthToken
authToken InsertSongContentsRequest
r = Backend (Free f (Either Text InsertSongContentsCommandResponse))
-> Free f (Either Text InsertSongContentsCommandResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InsertSongContentsRequest
-> (Either Text InsertSongContentsCommandResponse
-> Free f (Either Text InsertSongContentsCommandResponse))
-> Backend (Free f (Either Text InsertSongContentsCommandResponse))
forall a.
Env
-> AuthToken
-> InsertSongContentsRequest
-> (Either Text InsertSongContentsCommandResponse -> a)
-> Backend a
CreateSongContents Env
env AuthToken
authToken InsertSongContentsRequest
r Either Text InsertSongContentsCommandResponse
-> Free f (Either Text InsertSongContentsCommandResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
deleteSongContents :: (Backend :<: f) => Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteSongContents :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> UUID -> Free f (Either Text ())
deleteSongContents Env
env AuthToken
authToken UUID
identifier = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> UUID
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> AuthToken -> UUID -> (Either Text () -> a) -> Backend a
DeleteSongContents Env
env AuthToken
authToken UUID
identifier Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
editSongContents :: (Backend :<: f) => Env -> AuthToken -> SongContentDeltaRequest -> Free f (Either Text ())
editSongContents :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken -> SongContentDeltaRequest -> Free f (Either Text ())
editSongContents Env
env AuthToken
authToken SongContentDeltaRequest
r = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> SongContentDeltaRequest
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env
-> AuthToken
-> SongContentDeltaRequest
-> (Either Text () -> a)
-> Backend a
EditSongContents Env
env AuthToken
authToken SongContentDeltaRequest
r Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
me :: (Backend :<: f) => Env -> AuthToken -> Free f (Either Text GetMeQueryResponse)
me :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> Free f (Either Text GetMeQueryResponse)
me Env
env AuthToken
authToken = Backend (Free f (Either Text GetMeQueryResponse))
-> Free f (Either Text GetMeQueryResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> (Either Text GetMeQueryResponse
-> Free f (Either Text GetMeQueryResponse))
-> Backend (Free f (Either Text GetMeQueryResponse))
forall a.
Env
-> AuthToken -> (Either Text GetMeQueryResponse -> a) -> Backend a
Me Env
env AuthToken
authToken Either Text GetMeQueryResponse
-> Free f (Either Text GetMeQueryResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
userInvite :: (Backend :<: f) => Env -> AuthToken -> InviteUsersRequest -> Free f (Either Text MakeResetPasswordLinkResponse)
userInvite :: forall (f :: * -> *).
(Backend :<: f) =>
Env
-> AuthToken
-> InviteUsersRequest
-> Free f (Either Text MakeResetPasswordLinkResponse)
userInvite Env
env AuthToken
authToken InviteUsersRequest
r = Backend (Free f (Either Text MakeResetPasswordLinkResponse))
-> Free f (Either Text MakeResetPasswordLinkResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> InviteUsersRequest
-> (Either Text MakeResetPasswordLinkResponse
-> Free f (Either Text MakeResetPasswordLinkResponse))
-> Backend (Free f (Either Text MakeResetPasswordLinkResponse))
forall a.
Env
-> AuthToken
-> InviteUsersRequest
-> (Either Text MakeResetPasswordLinkResponse -> a)
-> Backend a
UserInvite Env
env AuthToken
authToken InviteUsersRequest
r Either Text MakeResetPasswordLinkResponse
-> Free f (Either Text MakeResetPasswordLinkResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
userDelete :: (Backend :<: f) => Env -> AuthToken -> DeleteUsersRequest -> Free f (Either Text ())
userDelete :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> AuthToken -> DeleteUsersRequest -> Free f (Either Text ())
userDelete Env
env AuthToken
authToken DeleteUsersRequest
r = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> AuthToken
-> DeleteUsersRequest
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env
-> AuthToken
-> DeleteUsersRequest
-> (Either Text () -> a)
-> Backend a
UserDelete Env
env AuthToken
authToken DeleteUsersRequest
r Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
login :: (Backend :<: f) => Env -> LoginRequest -> Free f (Either Text Text)
login :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> LoginRequest -> Free f (Either Text Text)
login Env
env LoginRequest
loginRequest = Backend (Free f (Either Text Text)) -> Free f (Either Text Text)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> LoginRequest
-> (Either Text Text -> Free f (Either Text Text))
-> Backend (Free f (Either Text Text))
forall a.
Env -> LoginRequest -> (Either Text Text -> a) -> Backend a
Login Env
env LoginRequest
loginRequest Either Text Text -> Free f (Either Text Text)
forall (f :: * -> *) a. a -> Free f a
Pure)
resetPassword :: (Backend :<: f) => Env -> Text -> Free f (Either Text MakeResetPasswordLinkResponse)
resetPassword :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> Text -> Free f (Either Text MakeResetPasswordLinkResponse)
resetPassword Env
env Text
r = Backend (Free f (Either Text MakeResetPasswordLinkResponse))
-> Free f (Either Text MakeResetPasswordLinkResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> Text
-> (Either Text MakeResetPasswordLinkResponse
-> Free f (Either Text MakeResetPasswordLinkResponse))
-> Backend (Free f (Either Text MakeResetPasswordLinkResponse))
forall a.
Env
-> Text
-> (Either Text MakeResetPasswordLinkResponse -> a)
-> Backend a
ResetPassword Env
env Text
r Either Text MakeResetPasswordLinkResponse
-> Free f (Either Text MakeResetPasswordLinkResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)
resetPasswordDo :: (Backend :<: f) => Env -> DoPasswordResetRequest -> Free f (Either Text ())
resetPasswordDo :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> DoPasswordResetRequest -> Free f (Either Text ())
resetPasswordDo Env
env DoPasswordResetRequest
r = Backend (Free f (Either Text ())) -> Free f (Either Text ())
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> DoPasswordResetRequest
-> (Either Text () -> Free f (Either Text ()))
-> Backend (Free f (Either Text ()))
forall a.
Env -> DoPasswordResetRequest -> (Either Text () -> a) -> Backend a
ResetPasswordDo Env
env DoPasswordResetRequest
r Either Text () -> Free f (Either Text ())
forall (f :: * -> *) a. a -> Free f a
Pure)
systemInformation :: (Backend :<: f) => Env -> Free f (Either Text SystemInformationResponse)
systemInformation :: forall (f :: * -> *).
(Backend :<: f) =>
Env -> Free f (Either Text SystemInformationResponse)
systemInformation Env
env = Backend (Free f (Either Text SystemInformationResponse))
-> Free f (Either Text SystemInformationResponse)
forall (g :: * -> *) (f :: * -> *) a.
(g :<: f) =>
g (Free f a) -> Free f a
injectFree (Env
-> (Either Text SystemInformationResponse
-> Free f (Either Text SystemInformationResponse))
-> Backend (Free f (Either Text SystemInformationResponse))
forall a.
Env -> (Either Text SystemInformationResponse -> a) -> Backend a
SystemInformation Env
env Either Text SystemInformationResponse
-> Free f (Either Text SystemInformationResponse)
forall (f :: * -> *) a. a -> Free f a
Pure)