2018-12-15 16:53:14 +00:00
|
|
|
|
using Microsoft.AspNetCore.Identity;
|
|
|
|
|
using Roadie.Library;
|
2018-12-14 03:52:14 +00:00
|
|
|
|
using Roadie.Library.Identity;
|
|
|
|
|
using System;
|
2019-03-09 16:33:19 +00:00
|
|
|
|
using System.Collections.Generic;
|
2018-12-14 03:52:14 +00:00
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Roadie.Api.Services
|
|
|
|
|
{
|
|
|
|
|
public interface IAdminService
|
|
|
|
|
{
|
2019-11-09 17:43:39 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteArtist(ApplicationUser user, Guid artistId, bool deleteFolder);
|
2019-01-08 22:40:26 +00:00
|
|
|
|
|
2019-07-31 22:42:49 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteArtistReleases(ApplicationUser user, Guid artistId, bool doDeleteFiles = false);
|
2019-01-08 22:40:26 +00:00
|
|
|
|
|
2019-05-29 22:25:40 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteArtistSecondaryImage(ApplicationUser user, Guid artistId, int index);
|
|
|
|
|
|
2019-08-02 20:59:24 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteGenre(ApplicationUser user, Guid genreId);
|
|
|
|
|
|
2019-08-22 20:33:07 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteLabel(ApplicationUser user, Guid labelId);
|
|
|
|
|
|
2019-01-08 22:40:26 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteRelease(ApplicationUser user, Guid releaseId, bool? doDeleteFiles);
|
|
|
|
|
|
2019-06-13 16:52:13 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteReleaseSecondaryImage(ApplicationUser user, Guid releaseId, int index);
|
|
|
|
|
|
2019-07-20 16:15:26 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteTracks(ApplicationUser user, IEnumerable<Guid> trackIds, bool? doDeleteFile);
|
2019-02-06 03:22:38 +00:00
|
|
|
|
|
2019-05-29 22:25:40 +00:00
|
|
|
|
Task<OperationResult<bool>> DeleteUser(ApplicationUser applicationUser, Guid id);
|
|
|
|
|
|
2018-12-15 16:53:14 +00:00
|
|
|
|
Task<OperationResult<bool>> DoInitialSetup(ApplicationUser user, UserManager<ApplicationUser> userManager);
|
2019-01-08 22:40:26 +00:00
|
|
|
|
|
2019-05-29 22:25:40 +00:00
|
|
|
|
Task<OperationResult<Dictionary<string, List<string>>>> MissingCollectionReleases(ApplicationUser user);
|
|
|
|
|
|
2019-08-22 20:33:07 +00:00
|
|
|
|
void PerformStartUpTasks();
|
|
|
|
|
|
2019-07-31 22:42:49 +00:00
|
|
|
|
Task<OperationResult<bool>> ScanAllCollections(ApplicationUser user, bool isReadOnly = false, bool doPurgeFirst = false);
|
2019-01-22 00:04:58 +00:00
|
|
|
|
|
2019-01-08 22:40:26 +00:00
|
|
|
|
Task<OperationResult<bool>> ScanArtist(ApplicationUser user, Guid artistId, bool isReadOnly = false);
|
|
|
|
|
|
2019-07-28 04:05:24 +00:00
|
|
|
|
Task<OperationResult<bool>> ScanArtists(ApplicationUser user, IEnumerable<Guid> artistIds, bool isReadOnly = false);
|
|
|
|
|
|
2019-07-31 22:42:49 +00:00
|
|
|
|
Task<OperationResult<bool>> ScanCollection(ApplicationUser user, Guid collectionId, bool isReadOnly = false, bool doPurgeFirst = false, bool doUpdateRanks = true);
|
2019-01-22 00:04:58 +00:00
|
|
|
|
|
2018-12-14 03:52:14 +00:00
|
|
|
|
Task<OperationResult<bool>> ScanInboundFolder(ApplicationUser user, bool isReadOnly = false);
|
2019-01-08 22:40:26 +00:00
|
|
|
|
|
2018-12-21 22:59:33 +00:00
|
|
|
|
Task<OperationResult<bool>> ScanLibraryFolder(ApplicationUser user, bool isReadOnly = false);
|
2019-01-08 22:40:26 +00:00
|
|
|
|
|
2019-08-06 13:50:25 +00:00
|
|
|
|
Task<OperationResult<bool>> ScanRelease(ApplicationUser user, Guid releaseIds, bool isReadOnly = false, bool wasDoneForInvalidTrackPlay = false);
|
|
|
|
|
|
|
|
|
|
Task<OperationResult<bool>> ScanReleases(ApplicationUser user, IEnumerable<Guid> releaseId, bool isReadOnly = false, bool wasDoneForInvalidTrackPlay = false);
|
2019-07-18 22:33:50 +00:00
|
|
|
|
|
|
|
|
|
Task<OperationResult<bool>> UpdateInviteTokenUsed(Guid? tokenId);
|
2019-08-22 20:33:07 +00:00
|
|
|
|
|
|
|
|
|
Task<OperationResult<bool>> ValidateInviteToken(Guid? tokenId);
|
2019-11-04 03:19:04 +00:00
|
|
|
|
|
|
|
|
|
Task<OperationResult<bool>> MigrateImages(ApplicationUser user);
|
2019-11-09 17:43:39 +00:00
|
|
|
|
|
|
|
|
|
Task<OperationResult<bool>> MigrateStorage(ApplicationUser user, bool deleteEmptyFolders);
|
2018-12-14 03:52:14 +00:00
|
|
|
|
}
|
2019-01-08 22:40:26 +00:00
|
|
|
|
}
|