roadie/Roadie.Api.Library/Factories/IArtistFactory.cs

24 lines
916 B
C#
Raw Normal View History

2018-12-15 22:35:20 +00:00
using Roadie.Library.Data;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Roadie.Library.Factories
{
public interface IArtistFactory
{
Task<OperationResult<bool>> Delete(Artist Artist);
Task<OperationResult<bool>> Delete(Guid RoadieId);
OperationResult<Artist> GetByExternalIds(string musicBrainzId = null, string iTunesId = null, string amgId = null, string spotifyId = null);
Task<OperationResult<Artist>> MergeArtists(Artist ArtistToMerge, Artist artistToMergeInto, bool doDbUpdates = false);
Task<OperationResult<bool>> RefreshArtistMetadata(Guid ArtistId);
Task<OperationResult<bool>> ScanArtistReleasesFolders(Guid artistId, string destinationFolder, bool doJustInfo);
Task<OperationResult<Artist>> Update(Artist Artist, IEnumerable<Image> ArtistImages, string destinationFolder = null);
}
}