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(Library.Models.Users.User user, Guid id, IEnumerable includes); Task> Delete(Library.Identity.User user, Library.Data.Artist Artist, bool deleteFolder); Task> List(Library.Models.Users.User user, PagedRequest request, bool? doRandomize = false, bool? onlyIncludeWithReleases = true); Task> MergeArtists(Library.Identity.User user, Guid artistToMergeId, Guid artistToMergeIntoId); Task> RefreshArtistMetadata(Library.Identity.User user, Guid ArtistId); Task> ScanArtistReleasesFolders(Library.Identity.User user, Guid artistId, string destinationFolder, bool doJustInfo); Task> SetReleaseImageByUrl(Library.Identity.User user, Guid id, string imageUrl); Task> UpdateArtist(Library.Identity.User user, Artist artist); Task> UploadArtistImage(Library.Identity.User user, Guid id, IFormFile file); } }