using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Ombi.Core.Models.Requests; using Ombi.Core.Models.UI; using Ombi.Store.Entities.Requests; namespace Ombi.Core.Engine.Interfaces { public interface IMovieRequestEngine : IRequestEngine { Task RequestMovie(MovieRequestViewModel model); Task> SearchMovieRequest(string search); Task RequestCollection(int collectionId, CancellationToken cancellationToken); Task RemoveMovieRequest(int requestId); Task RemoveAllMovieRequests(); Task GetRequest(int requestId); Task UpdateMovieRequest(MovieRequests request); Task ApproveMovie(MovieRequests request, bool is4K); Task ApproveMovieById(int requestId, bool is4K); Task DenyMovieById(int modelId, string denyReason, bool is4K); Task> GetRequests(int count, int position, string sortProperty, string sortOrder); Task> GetUnavailableRequests(int count, int position, string sortProperty, string sortOrder); Task> GetRequestsByStatus(int count, int position, string sortProperty, string sortOrder, RequestStatus status); Task UpdateAdvancedOptions(MediaAdvancedOptions options); } }