diff options
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Library/ILibraryManager.cs | 9 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Persistence/IItemRepository.cs | 12 |
2 files changed, 19 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs index b72d1d0b4..fcc5ed672 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -337,6 +337,13 @@ namespace MediaBrowser.Controller.Library void DeleteItem(BaseItem item, DeleteOptions options); /// <summary> + /// Deletes items that are not having any children like Actors. + /// </summary> + /// <param name="items">Items to delete.</param> + /// <remarks>In comparison to <see cref="DeleteItem(BaseItem, DeleteOptions, BaseItem, bool)"/> this method skips a lot of steps assuming there are no children to recusively delete nor does it define the special handling for channels and alike.</remarks> + public void DeleteItemsUnsafeFast(IEnumerable<BaseItem> items); + + /// <summary> /// Deletes the item. /// </summary> /// <param name="item">Item to delete.</param> @@ -624,6 +631,8 @@ namespace MediaBrowser.Controller.Library QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetArtists(InternalItemsQuery query); + IReadOnlyDictionary<string, MusicArtist[]> GetArtists(IReadOnlyList<string> names); + QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetAlbumArtists(InternalItemsQuery query); QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetAllArtists(InternalItemsQuery query); diff --git a/MediaBrowser.Controller/Persistence/IItemRepository.cs b/MediaBrowser.Controller/Persistence/IItemRepository.cs index e17dc38f7..0026ab2b5 100644 --- a/MediaBrowser.Controller/Persistence/IItemRepository.cs +++ b/MediaBrowser.Controller/Persistence/IItemRepository.cs @@ -9,6 +9,7 @@ using System.Threading.Tasks; using Jellyfin.Data.Enums; using Jellyfin.Database.Implementations.Entities; using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Querying; @@ -22,8 +23,8 @@ public interface IItemRepository /// <summary> /// Deletes the item. /// </summary> - /// <param name="id">The identifier.</param> - void DeleteItem(Guid id); + /// <param name="ids">The identifier to delete.</param> + void DeleteItem(params IReadOnlyList<Guid> ids); /// <summary> /// Saves the items. @@ -122,4 +123,11 @@ public interface IItemRepository /// <param name="recursive">Whever the check should be done recursive. Warning expensive operation.</param> /// <returns>A value indicating whever all children has been played.</returns> bool GetIsPlayed(User user, Guid id, bool recursive); + + /// <summary> + /// Gets all artist matches from the db. + /// </summary> + /// <param name="artistNames">The names of the artists.</param> + /// <returns>A map of the artist name and the potential matches.</returns> + IReadOnlyDictionary<string, MusicArtist[]> FindArtists(IReadOnlyList<string> artistNames); } |
