2018-12-21 22:59:33 +00:00
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
using Roadie.Library;
|
2019-06-30 22:14:36 +00:00
|
|
|
|
using Roadie.Library.Models;
|
2018-11-12 00:28:37 +00:00
|
|
|
|
using Roadie.Library.Models.Pagination;
|
|
|
|
|
using Roadie.Library.Models.Releases;
|
2018-11-14 23:18:02 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Threading.Tasks;
|
2018-11-12 00:28:37 +00:00
|
|
|
|
|
|
|
|
|
namespace Roadie.Api.Services
|
|
|
|
|
{
|
|
|
|
|
public interface IReleaseService
|
|
|
|
|
{
|
2019-07-07 03:16:33 +00:00
|
|
|
|
IEnumerable<int> AddedTrackIds { get; }
|
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<OperationResult<Release>> ByIdAsync(Library.Models.Users.User roadieUser, Guid id, IEnumerable<string> includes = null);
|
2018-11-14 23:18:02 +00:00
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteAsync(Library.Identity.User user, Library.Data.Release release, bool doDeleteFiles = false, bool doUpdateArtistCounts = true);
|
2019-07-07 03:16:33 +00:00
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteReleasesAsync(Library.Identity.User user, IEnumerable<Guid> releaseIds, bool doDeleteFiles = false);
|
2019-07-07 03:16:33 +00:00
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<PagedResult<ReleaseList>> ListAsync(Library.Models.Users.User user, PagedRequest request, bool? doRandomize = false, IEnumerable<string> includes = null);
|
2019-01-08 22:40:26 +00:00
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<OperationResult<bool>> MergeReleasesAsync(Library.Identity.User user, Guid releaseToMergeId, Guid releaseToMergeIntoId, bool addAsMedia);
|
2019-07-07 03:16:33 +00:00
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<OperationResult<bool>> MergeReleasesAsync(Library.Identity.User user, Library.Data.Release releaseToMerge, Library.Data.Release releaseToMergeInto, bool addAsMedia);
|
2019-05-29 22:25:40 +00:00
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<FileOperationResult<byte[]>> ReleaseZippedAsync(Library.Models.Users.User roadieUser, Guid id);
|
2019-01-08 22:40:26 +00:00
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<OperationResult<bool>> ScanReleaseFolderAsync(Library.Identity.User user, Guid releaseId, bool doJustInfo, Library.Data.Release releaseToScan = null);
|
2019-07-07 03:16:33 +00:00
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<OperationResult<Image>> SetReleaseImageByUrlAsync(Library.Identity.User user, Guid id, string imageUrl);
|
2019-01-08 22:40:26 +00:00
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<OperationResult<bool>> UpdateReleaseAsync(Library.Identity.User user, Release release, string originalReleaseFolder = null);
|
2019-01-08 22:40:26 +00:00
|
|
|
|
|
2020-06-07 22:46:24 +00:00
|
|
|
|
Task<OperationResult<Image>> UploadReleaseImageAsync(Library.Identity.User user, Guid id, IFormFile file);
|
2018-11-12 00:28:37 +00:00
|
|
|
|
}
|
|
|
|
|
}
|