2018-12-09 11:58:31 -06:00
|
|
|
|
using Roadie.Library;
|
|
|
|
|
using Roadie.Library.Models.Pagination;
|
2018-11-06 22:33:22 -06:00
|
|
|
|
using Roadie.Library.Models.Playlists;
|
2018-11-14 18:16:25 -06:00
|
|
|
|
using Roadie.Library.Models.Users;
|
2018-11-14 17:18:02 -06:00
|
|
|
|
using System;
|
2018-12-09 11:58:31 -06:00
|
|
|
|
using System.Collections.Generic;
|
2018-11-14 17:18:02 -06:00
|
|
|
|
using System.Threading.Tasks;
|
2018-12-30 14:57:06 -06:00
|
|
|
|
using data = Roadie.Library.Data;
|
2018-11-06 22:33:22 -06:00
|
|
|
|
|
|
|
|
|
namespace Roadie.Api.Services
|
|
|
|
|
{
|
|
|
|
|
public interface IPlaylistService
|
|
|
|
|
{
|
2020-06-07 17:46:24 -05:00
|
|
|
|
Task<OperationResult<PlaylistList>> AddNewPlaylistAsync(User user, Playlist model);
|
2018-12-30 14:57:06 -06:00
|
|
|
|
|
2020-06-07 17:46:24 -05:00
|
|
|
|
Task<OperationResult<bool>> AddTracksToPlaylistAsync(data.Playlist playlist, IEnumerable<Guid> trackIds);
|
2018-12-30 14:57:06 -06:00
|
|
|
|
|
2020-06-07 17:46:24 -05:00
|
|
|
|
Task<OperationResult<Playlist>> ByIdAsync(User roadieUser, Guid id, IEnumerable<string> includes = null);
|
2018-12-09 11:58:31 -06:00
|
|
|
|
|
2020-06-07 17:46:24 -05:00
|
|
|
|
Task<OperationResult<bool>> DeletePlaylistAsync(User user, Guid id);
|
2018-12-30 23:16:42 -06:00
|
|
|
|
|
2020-06-07 17:46:24 -05:00
|
|
|
|
Task<PagedResult<PlaylistList>> ListAsync(PagedRequest request, User roadieUser = null);
|
2018-12-30 14:57:06 -06:00
|
|
|
|
|
2020-06-07 17:46:24 -05:00
|
|
|
|
Task<OperationResult<bool>> ReorderPlaylistAsync(data.Playlist playlist);
|
2019-02-28 22:10:44 -06:00
|
|
|
|
|
2020-06-07 17:46:24 -05:00
|
|
|
|
Task<OperationResult<bool>> UpdatePlaylistAsync(User user, Playlist label);
|
2019-02-28 22:10:44 -06:00
|
|
|
|
|
2020-06-07 17:46:24 -05:00
|
|
|
|
Task<OperationResult<bool>> UpdatePlaylistTracksAsync(User user, PlaylistTrackModifyRequest request);
|
2018-11-06 22:33:22 -06:00
|
|
|
|
}
|
|
|
|
|
}
|