2018-11-23 04:18:48 +00:00
|
|
|
|
using Roadie.Library.Identity;
|
|
|
|
|
using Roadie.Library.Models.ThirdPartyApi.Subsonic;
|
2018-11-19 23:51:58 +00:00
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Roadie.Api.Services
|
2018-11-15 15:10:29 +00:00
|
|
|
|
{
|
|
|
|
|
public interface ISubsonicService
|
|
|
|
|
{
|
2018-11-23 04:18:48 +00:00
|
|
|
|
Task<SubsonicOperationResult<SubsonicAuthenticateResponse>> Authenticate(Request request);
|
|
|
|
|
|
2018-11-24 17:52:15 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> CreateBookmark(Request request, Roadie.Library.Models.Users.User roadieUser, int position, string comment);
|
|
|
|
|
|
|
|
|
|
Task<SubsonicOperationResult<Response>> DeleteBookmark(Request request, Roadie.Library.Models.Users.User roadieUser);
|
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetAlbum(Request request, Roadie.Library.Models.Users.User roadieUser);
|
2018-11-21 18:19:38 +00:00
|
|
|
|
|
2018-11-23 04:18:48 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetAlbumInfo(Request request, Roadie.Library.Models.Users.User roadieUser, AlbumInfoVersion version);
|
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetAlbumList(Request request, Roadie.Library.Models.Users.User roadieUser, AlbumListVersions version);
|
2018-11-21 06:34:53 +00:00
|
|
|
|
|
2018-11-23 04:18:48 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetArtist(Request request, Roadie.Library.Models.Users.User roadieUser);
|
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetArtistInfo(Request request, int? count, bool includeNotPresent, ArtistInfoVersion version);
|
2018-11-21 18:19:38 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetArtists(Request request, Roadie.Library.Models.Users.User roadieUser);
|
2018-11-21 18:19:38 +00:00
|
|
|
|
|
2018-11-24 17:52:15 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetBookmarks(Request request, Roadie.Library.Models.Users.User roadieUser);
|
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicFileOperationResult<Roadie.Library.Models.Image>> GetCoverArt(Request request, int? size);
|
2018-11-21 06:34:53 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetGenres(Request request);
|
2018-11-19 23:51:58 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetIndexes(Request request, Roadie.Library.Models.Users.User roadieUser, long? ifModifiedSince = null);
|
2018-11-21 06:34:53 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
SubsonicOperationResult<Response> GetLicense(Request request);
|
2018-11-21 18:19:38 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
SubsonicOperationResult<Response> GetLyrics(Request request, string artistId, string title);
|
2018-11-19 23:51:58 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetMusicDirectory(Request request, Roadie.Library.Models.Users.User roadieUser);
|
2018-11-19 23:51:58 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetMusicFolders(Request request);
|
2018-11-21 18:19:38 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetPlaylist(Request request, Roadie.Library.Models.Users.User roadieUser);
|
2018-11-19 23:51:58 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetPlaylists(Request request, Roadie.Library.Models.Users.User roadieUser, string filterToUserName);
|
2018-11-19 23:51:58 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetPodcasts(Request request);
|
2018-11-20 04:47:12 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetRandomSongs(Request request, Roadie.Library.Models.Users.User roadieUser);
|
2018-11-20 14:36:07 +00:00
|
|
|
|
|
2018-11-23 04:18:48 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetSimliarSongs(Request request, Roadie.Library.Models.Users.User roadieUser, SimilarSongsVersion version, int? count = 50);
|
|
|
|
|
|
|
|
|
|
Task<SubsonicOperationResult<Response>> GetSong(Request request, Roadie.Library.Models.Users.User roadieUser);
|
|
|
|
|
|
|
|
|
|
Task<SubsonicOperationResult<Response>> GetSongsByGenre(Request request, Roadie.Library.Models.Users.User roadieUser);
|
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetStarred(Request request, Roadie.Library.Models.Users.User roadieUser, StarredVersion version);
|
2018-11-21 18:19:38 +00:00
|
|
|
|
|
2018-11-23 04:18:48 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetTopSongs(Request request, Roadie.Library.Models.Users.User roadieUser, string artistName, int? count = 50);
|
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
Task<SubsonicOperationResult<Response>> GetUser(Request request, string username);
|
2018-11-21 18:19:38 +00:00
|
|
|
|
|
2018-11-22 13:48:32 +00:00
|
|
|
|
SubsonicOperationResult<Response> GetVideos(Request request);
|
|
|
|
|
|
|
|
|
|
SubsonicOperationResult<Response> Ping(Request request);
|
|
|
|
|
|
|
|
|
|
Task<SubsonicOperationResult<Response>> Search(Request request, Roadie.Library.Models.Users.User roadieUser, SearchVersion version);
|
2018-11-24 04:06:59 +00:00
|
|
|
|
|
|
|
|
|
Task<SubsonicOperationResult<Response>> ToggleStar(Request request, Roadie.Library.Models.Users.User roadieUser, bool star, string[] albumIds = null, string[] artistIds = null);
|
|
|
|
|
Task<SubsonicOperationResult<Response>> SetRating(Request request, Roadie.Library.Models.Users.User roadieUser, short rating);
|
2018-11-15 15:10:29 +00:00
|
|
|
|
}
|
2018-11-16 03:37:00 +00:00
|
|
|
|
}
|