roadie/Roadie.Api.Library/Factories/IReleaseFactory.cs
Steven Hildreth 66badbd0a2 artist work
2018-12-26 15:18:51 -06:00

27 lines
No EOL
1.2 KiB
C#

using Roadie.Library.Data;
using Roadie.Library.MetaData.Audio;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Roadie.Library.Factories
{
public interface IReleaseFactory
{
IEnumerable<int> AddedTrackIds { get; }
Task<OperationResult<bool>> CheckAndChangeReleaseTitle(Release release, string oldReleaseFolder, string destinationFolder = null);
Task<OperationResult<bool>> Delete(Release release, bool doDeleteFiles = false, bool doUpdateArtistCounts = true);
Task<OperationResult<bool>> DeleteReleases(IEnumerable<Guid> releaseIds, bool doDeleteFiles = false);
OperationResult<Release> GetAllForArtist(Artist artist, bool forceRefresh = false);
Task<OperationResult<bool>> MergeReleases(Release releaseToMerge, Release releaseToMergeInto, bool addAsMedia);
Task<OperationResult<bool>> ScanReleaseFolder(Guid releaseId, string destinationFolder, bool doJustInfo, Release releaseToScan = null);
Task<OperationResult<Release>> Update(Release release, IEnumerable<Image> releaseImages, string originalReleaseFolder, string destinationFolder = null);
}
}