using Microsoft.AspNetCore.Http; using Roadie.Library; using Roadie.Library.Identity; using Roadie.Library.Models; using Roadie.Library.Models.Pagination; using Roadie.Library.Models.Users; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Roadie.Api.Services { public interface IArtistService { Task> ById(User user, Guid id, IEnumerable includes); Task> Delete(ApplicationUser user, Library.Data.Artist Artist, bool deleteFolder); Task> List(User user, PagedRequest request, bool? doRandomize = false, bool? onlyIncludeWithReleases = true); Task> MergeArtists(ApplicationUser user, Guid artistToMergeId, Guid artistToMergeIntoId); Task> RefreshArtistMetadata(ApplicationUser user, Guid ArtistId); Task> ScanArtistReleasesFolders(ApplicationUser user, Guid artistId, string destinationFolder, bool doJustInfo); Task> SetReleaseImageByUrl(ApplicationUser user, Guid id, string imageUrl); Task> UpdateArtist(ApplicationUser user, Artist artist); Task> UploadArtistImage(ApplicationUser user, Guid id, IFormFile file); } }