using System.Collections.Generic; using System.Threading.Tasks; using Ombi.Core.Models; using Ombi.Core.Models.Requests; using Ombi.Core.Models.UI; using Ombi.Store.Entities; using Ombi.Store.Entities.Requests; namespace Ombi.Core.Engine { public interface IMusicRequestEngine { TaskApproveAlbum(AlbumRequest request); Task ApproveAlbumById(int requestId); Task DenyAlbumById(int modelId, string reason); Task> GetRequests(); Task> GetRequests(int count, int position, OrderFilterModel orderFilter); Task GetTotal(); Task MarkAvailable(int modelId); Task MarkUnavailable(int modelId); Task RemoveAlbumRequest(int requestId); Task RequestAlbum(MusicAlbumRequestViewModel model); Task> SearchAlbumRequest(string search); Task UserHasRequest(string userId); Task GetRemainingRequests(OmbiUser user = null); Task> GetRequestsByStatus(int count, int position, string sort, string sortOrder, RequestStatus available); Task> GetRequests(int count, int position, string sort, string sortOrder); } }