roadie/Roadie.Api.Services/ISubsonicService.cs

101 lines
4.6 KiB
C#
Raw Normal View History

2019-06-30 22:14:36 +00:00
using Roadie.Library.Models;
using Roadie.Library.Models.ThirdPartyApi.Subsonic;
using System.Threading.Tasks;
2019-06-30 22:14:36 +00:00
using User = Roadie.Library.Models.Users.User;
namespace Roadie.Api.Services
{
public interface ISubsonicService
{
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> AddChatMessage(Request request, User roadieUser);
2018-11-25 21:15:51 +00:00
2018-11-23 04:18:48 +00:00
Task<SubsonicOperationResult<SubsonicAuthenticateResponse>> Authenticate(Request request);
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> CreateBookmark(Request request, User roadieUser, int position,
string comment);
2018-11-25 21:15:51 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> CreatePlaylist(Request request, User roadieUser, string name,
string[] songIds, string playlistId = null);
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> DeleteBookmark(Request request, User roadieUser);
2018-11-25 21:15:51 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> DeletePlaylist(Request request, User roadieUser);
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetAlbum(Request request, User roadieUser);
2018-11-21 18:19:38 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>>
GetAlbumInfo(Request request, User roadieUser, AlbumInfoVersion version);
2018-11-23 04:18:48 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetAlbumList(Request request, User roadieUser,
AlbumListVersions version);
2018-11-21 06:34:53 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetArtist(Request request, User roadieUser);
2018-11-23 04:18:48 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetArtistInfo(Request request, int? count, bool includeNotPresent,
ArtistInfoVersion version);
2018-11-21 18:19:38 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetArtists(Request request, User roadieUser);
2018-11-21 18:19:38 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetBookmarks(Request request, User roadieUser);
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetChatMessages(Request request, User roadieUser, long? since);
2018-11-25 21:15:51 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicFileOperationResult<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);
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetIndexes(Request request, 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);
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetMusicDirectory(Request request, User roadieUser);
2018-11-22 13:48:32 +00:00
Task<SubsonicOperationResult<Response>> GetMusicFolders(Request request);
2018-11-21 18:19:38 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetNowPlaying(Request request, User roadieUser);
2018-11-25 21:15:51 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetPlaylist(Request request, User roadieUser);
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetPlaylists(Request request, User roadieUser, string filterToUserName);
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetPlayQueue(Request request, User roadieUser);
2018-11-25 23:34:17 +00:00
2018-11-22 13:48:32 +00:00
Task<SubsonicOperationResult<Response>> GetPodcasts(Request request);
2018-11-20 04:47:12 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetRandomSongs(Request request, User roadieUser);
2018-11-20 14:36:07 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetSimliarSongs(Request request, User roadieUser,
SimilarSongsVersion version, int? count = 50);
2018-11-23 04:18:48 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetSong(Request request, User roadieUser);
2018-11-23 04:18:48 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetSongsByGenre(Request request, User roadieUser);
2018-11-23 04:18:48 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetStarred(Request request, User roadieUser, StarredVersion version);
2018-11-21 18:19:38 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> GetTopSongs(Request request, User roadieUser, int? count = 50);
2018-11-23 04:18:48 +00:00
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);
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> SavePlayQueue(Request request, User roadieUser, string current,
long? position);
2018-11-25 23:34:17 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> Search(Request request, User roadieUser, SearchVersion version);
2019-01-08 22:40:26 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> SetRating(Request request, User roadieUser, short rating);
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> ToggleStar(Request request, User roadieUser, bool star,
string[] albumIds = null, string[] artistIds = null);
2018-11-25 21:15:51 +00:00
2019-06-30 22:14:36 +00:00
Task<SubsonicOperationResult<Response>> UpdatePlaylist(Request request, User roadieUser, string playlistId,
string name = null, string comment = null, bool? isPublic = null, string[] songIdsToAdd = null,
int[] songIndexesToRemove = null);
}
2018-11-16 03:37:00 +00:00
}