public Task <SoundCloudList <Playlist> > GetAllAsync(PlaylistQueryBuilder builder) { builder.Path = PlaylistsPath; builder.Paged = true; return(GetPage <Playlist>(builder.BuildUri())); }
public void Test_SearchString() { var builder = new PlaylistQueryBuilder("SearchString"); var query = builder.BuildUri(); Assert.That(query.ToString(), Is.EqualTo("https://api.soundcloud.com/?q=SearchString")); }
public async Task <Playlist> GetAsync(long playlistId) { var builder = new PlaylistQueryBuilder { Path = string.Format(PlaylistPath, playlistId) }; return(await Gateway.SendGetRequestAsync <Playlist>(builder.BuildUri())); }
public async Task <IEnumerable <Playlist> > GetAsync(PlaylistQueryBuilder queryBuilder) { EnsureClientId(); queryBuilder.Path = PlaylistsPath; queryBuilder.Paged = true; return(await GetListAsync <Playlist>(queryBuilder.BuildUri())); }
public IEnumerable <Playlist> Get(PlaylistQueryBuilder queryBuilder) { EnsureClientId(); queryBuilder.Path = PlaylistsPath; queryBuilder.Paged = true; return(GetList <Playlist>(queryBuilder.BuildUri())); }
public void Test_Paged_Empty_SearchString() { var builder = new PlaylistQueryBuilder("SearchString"); builder.Paged = true; builder.SearchString = string.Empty; Assert.Throws <ArgumentException>(() => builder.BuildUri()); }
public async Task <Playlist> UpdateAsync(Playlist playlist) { playlist.ValidateGet(); var builder = new PlaylistQueryBuilder { Path = string.Format(PlaylistPath, playlist.Id) }; return(await Gateway.SendPutRequestAsync <Playlist>(builder.BuildUri(), playlist)); }
public async Task <Playlist> GetAsync(int playlistId) { EnsureClientId(); var builder = new PlaylistQueryBuilder(); builder.Path = string.Format(PlaylistPath, playlistId); return(await GetByIdAsync <Playlist>(builder.BuildUri())); }
public async Task <SecretToken> GetSecretTokenAsync(Playlist playlist) { playlist.ValidateGet(); var builder = new PlaylistQueryBuilder { Path = string.Format(PlaylistSecretTokenPath, playlist.Id) }; return(await Gateway.SendGetRequestAsync <SecretToken>(builder.BuildUri())); }
public async Task <StatusResponse> DeleteAsync(Playlist playlist) { playlist.ValidateDelete(); var builder = new PlaylistQueryBuilder { Path = string.Format(PlaylistPath, playlist.Id) }; return(await Gateway.SendDeleteRequestAsync <StatusResponse>(builder.BuildUri())); }
public void Test_RepresentationMode() { var builder = new PlaylistQueryBuilder { Representation = RepresentationMode.Compact }; var query = builder.BuildUri(); Assert.That(query.ToString(), Is.EqualTo("https://api.soundcloud.com/?representation=compact")); }
public void Test_Paged() { var builder = new PlaylistQueryBuilder { SearchString = "SearchString", Paged = true }; var query = builder.BuildUri(); Assert.That(query.ToString(), Is.EqualTo("https://api.soundcloud.com/?limit=50&q=SearchString&linked_partitioning=1")); }
public Playlist Get(int playlistId) { EnsureClientId(); var builder = new PlaylistQueryBuilder(); builder.Path = string.Format(PlaylistPath, playlistId); return(GetById <Playlist>(builder.BuildUri())); }
public async Task <Playlist> PostAsync(Playlist playlist) { playlist.ValidatePost(); var builder = new PlaylistQueryBuilder { Path = PlaylistsPath }; return(await Gateway.SendPostRequestAsync <Playlist>(builder.BuildUri(), playlist)); }
public async Task <IWebResult <Playlist> > PostAsync(Playlist playlist) { EnsureToken(); Validate(playlist.ValidatePost); var builder = new PlaylistQueryBuilder(); builder.Path = PlaylistsPath; return(await CreateAsync <Playlist>(builder.BuildUri(), playlist)); }
public async Task <IWebResult> DeleteAsync(Playlist playlist) { EnsureToken(); Validate(playlist.ValidateDelete); var builder = new PlaylistQueryBuilder(); builder.Path = string.Format(PlaylistPath, playlist.id); return(await DeleteAsync(builder.BuildUri())); }
public async Task <IWebResult <Playlist> > UpdateAsync(Playlist playlist) { EnsureToken(); Validate(playlist.ValidateGet); var builder = new PlaylistQueryBuilder(); builder.Path = string.Format(PlaylistPath, playlist.id); return(await UpdateAsync <Playlist>(builder.BuildUri(), playlist)); }
public async Task <SecretToken> GetSecretTokenAsync(Playlist playlist) { EnsureToken(); Validate(playlist.ValidateGet); var builder = new PlaylistQueryBuilder(); builder.Path = string.Format(PlaylistSecretTokenPath, playlist.id); return(await GetByIdAsync <SecretToken>(builder.BuildUri())); }
public IWebResult <Playlist> Post(Playlist playlist) { EnsureToken(); Validate(playlist.ValidatePost); var builder = new PlaylistQueryBuilder(); builder.Path = PlaylistsPath; return(Create <Playlist>(builder.BuildUri(), playlist)); }
public SecretToken GetSecretToken(Playlist playlist) { EnsureToken(); Validate(playlist.ValidateGet); var builder = new PlaylistQueryBuilder(); builder.Path = string.Format(PlaylistSecretTokenPath, playlist.id); return(GetById <SecretToken>(builder.BuildUri())); }
public async Task <Playlist> UploadArtworkAsync(Playlist playlist, Stream file) { playlist.ValidateUploadArtwork(); var parameters = new Dictionary <string, object> { { PlaylistArtworkDataKey, file } }; var builder = new PlaylistQueryBuilder { Path = string.Format(PlaylistPath, playlist.Id) }; return(await Gateway.SendPutRequestAsync <Playlist>(builder.BuildUri(), parameters)); }
public async Task <IWebResult <Playlist> > UploadArtworkAsync(Playlist playlist, Stream file) { EnsureToken(); Validate(playlist.ValidateUploadArtwork); var parameters = new Dictionary <string, object>(); parameters.Add(PlaylistArtworkDataKey, file); var builder = new PlaylistQueryBuilder(); builder.Path = string.Format(PlaylistPath, playlist.id); return(await UpdateAsync <Playlist>(builder.BuildUri(), parameters)); }