using Microsoft.AspNetCore.Http; using Roadie.Library; using Roadie.Library.Models; using Roadie.Library.Models.Pagination; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Roadie.Api.Services { public interface IArtistService { Task> ByIdAsync(Library.Models.Users.User user, Guid id, IEnumerable includes); Task> DeleteAsync(Library.Identity.User user, Library.Data.Artist Artist, bool deleteFolder); Task> ListAsync(Library.Models.Users.User user, PagedRequest request, bool? doRandomize = false, bool? onlyIncludeWithReleases = true); Task> MergeArtistsAsync(Library.Identity.User user, Guid artistToMergeId, Guid artistToMergeIntoId); Task> RefreshArtistMetadataAsync(Library.Identity.User user, Guid ArtistId); Task> ScanArtistReleasesFoldersAsync(Library.Identity.User user, Guid artistId, string destinationFolder, bool doJustInfo); Task> SetReleaseImageByUrlAsync(Library.Identity.User user, Guid id, string imageUrl); Task> UpdateArtistAsync(Library.Identity.User user, Artist artist); Task> UploadArtistImageAsync(Library.Identity.User user, Guid id, IFormFile file); } }