diff --git a/IF.Lastfm.Core/Api/IAlbumApi.cs b/IF.Lastfm.Core/Api/IAlbumApi.cs index f656590..b706fb4 100644 --- a/IF.Lastfm.Core/Api/IAlbumApi.cs +++ b/IF.Lastfm.Core/Api/IAlbumApi.cs @@ -47,8 +47,8 @@ Task> GetShoutsForAlbumWithMbidAsync(string mbid, #region album.getTags - Task> GetUserTagsForAlbumAsync(string artist, string album, bool autocorrect = false); - Task> GetUserTagsForAlbumWithMbidAsync(string mbid, bool autocorrect = false); + Task> GetUserTagsForAlbumAsync(string artist, string album, string username, bool autocorrect = false); + Task> GetUserTagsForAlbumWithMbidAsync(string mbid, string username, bool autocorrect = false); #endregion diff --git a/IF.Lastfm.Core/Api/IArtistApi.cs b/IF.Lastfm.Core/Api/IArtistApi.cs new file mode 100644 index 0000000..73effab --- /dev/null +++ b/IF.Lastfm.Core/Api/IArtistApi.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using IF.Lastfm.Core.Api.Helpers; +using IF.Lastfm.Core.Objects; + +namespace IF.Lastfm.Core.Api +{ + public interface IArtistApi + { + IAuth Auth { get; } + + #region artist.getInfo + + Task> GetArtistInfoAsync(string artist, string bioLang = LastFm.DefaultLanguageCode, + bool autocorrect = false); + + Task> GetArtistInfoWithMbidAsync(string mbid, string bioLang = LastFm.DefaultLanguageCode, + bool autocorrect = false); + + #endregion + + #region artist.getTopAlbums + + Task> GetTopAlbumsForArtistAsync(string artist, + bool autocorrect = false, + int page = 1, + int itemsPerPage = LastFm.DefaultPageLength); + + Task> GetTopAlbumsForArtistWithMbidAsync(string mbid, + bool autocorrect = false, + int page = 1, + int itemsPerPage = LastFm.DefaultPageLength); + + #endregion + + #region artist.getTags + + Task> GetUserTagsForArtistAsync(string artist, + string username, + bool autocorrect = false, + int page = 1, + int itemsPerPage = LastFm.DefaultPageLength); + + Task> GetUserTagsForArtistWithMbidAsync(string mbid, + string username, + bool autocorrect = false, + int page = 1, + int itemsPerPage = LastFm.DefaultPageLength); + + #endregion + + #region artist.getTopTags + + Task> GetTopTagsForArtistAsync(string artist, bool autocorrect = false); + + Task> GetTopTagsForArtistWithMbidAsync(string mbid, bool autocorrect = false); + + #endregion + + } +} diff --git a/IF.Lastfm.Core/IF.Lastfm.Core.csproj b/IF.Lastfm.Core/IF.Lastfm.Core.csproj index ecda128..d5f10c2 100644 --- a/IF.Lastfm.Core/IF.Lastfm.Core.csproj +++ b/IF.Lastfm.Core/IF.Lastfm.Core.csproj @@ -46,6 +46,7 @@ + @@ -57,6 +58,7 @@ + diff --git a/IF.Lastfm.Core/LastFm.cs b/IF.Lastfm.Core/LastFm.cs index b12224c..dee00b4 100644 --- a/IF.Lastfm.Core/LastFm.cs +++ b/IF.Lastfm.Core/LastFm.cs @@ -19,6 +19,7 @@ public class LastFm : ILastFm private const string ResponseFormat = "json"; + public const string DefaultLanguageCode = "en"; public const int DefaultPageLength = 20; #endregion diff --git a/IF.Lastfm.Core/Objects/Artist.cs b/IF.Lastfm.Core/Objects/Artist.cs new file mode 100644 index 0000000..61704ed --- /dev/null +++ b/IF.Lastfm.Core/Objects/Artist.cs @@ -0,0 +1,6 @@ +namespace IF.Lastfm.Core.Objects +{ + public class Artist + { + } +} \ No newline at end of file