diff options
Diffstat (limited to 'MediaBrowser.Controller/Library/ILibraryManager.cs')
| -rw-r--r-- | MediaBrowser.Controller/Library/ILibraryManager.cs | 61 |
1 files changed, 44 insertions, 17 deletions
diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs index 6532f7a34..b802b7e6e 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -1,5 +1,3 @@ -#nullable disable - #pragma warning disable CA1002, CS1591 using System; @@ -33,17 +31,17 @@ namespace MediaBrowser.Controller.Library /// <summary> /// Occurs when [item added]. /// </summary> - event EventHandler<ItemChangeEventArgs> ItemAdded; + event EventHandler<ItemChangeEventArgs>? ItemAdded; /// <summary> /// Occurs when [item updated]. /// </summary> - event EventHandler<ItemChangeEventArgs> ItemUpdated; + event EventHandler<ItemChangeEventArgs>? ItemUpdated; /// <summary> /// Occurs when [item removed]. /// </summary> - event EventHandler<ItemChangeEventArgs> ItemRemoved; + event EventHandler<ItemChangeEventArgs>? ItemRemoved; /// <summary> /// Gets the root folder. @@ -60,10 +58,10 @@ namespace MediaBrowser.Controller.Library /// <param name="parent">The parent.</param> /// <param name="directoryService">An instance of <see cref="IDirectoryService"/>.</param> /// <returns>BaseItem.</returns> - BaseItem ResolvePath( + BaseItem? ResolvePath( FileSystemMetadata fileInfo, - Folder parent = null, - IDirectoryService directoryService = null); + Folder? parent = null, + IDirectoryService? directoryService = null); /// <summary> /// Resolves a set of files into a list of BaseItem. @@ -86,7 +84,7 @@ namespace MediaBrowser.Controller.Library /// </summary> /// <param name="name">The name of the person.</param> /// <returns>Task{Person}.</returns> - Person GetPerson(string name); + Person? GetPerson(string name); /// <summary> /// Finds the by path. @@ -94,7 +92,7 @@ namespace MediaBrowser.Controller.Library /// <param name="path">The path.</param> /// <param name="isFolder"><c>true</c> is the path is a directory; otherwise <c>false</c>.</param> /// <returns>BaseItem.</returns> - BaseItem FindByPath(string path, bool? isFolder); + BaseItem? FindByPath(string path, bool? isFolder); /// <summary> /// Gets the artist. @@ -151,6 +149,14 @@ namespace MediaBrowser.Controller.Library /// <returns>Task.</returns> Task ValidateMediaLibrary(IProgress<double> progress, CancellationToken cancellationToken); + /// <summary> + /// Reloads the root media folder. + /// </summary> + /// <param name="cancellationToken">The cancellation token.</param> + /// <param name="removeRoot">Is remove the library itself allowed.</param> + /// <returns>Task.</returns> + Task ValidateTopLibraryFolders(CancellationToken cancellationToken, bool removeRoot = false); + Task UpdateImagesAsync(BaseItem item, bool forceUpdate = false); /// <summary> @@ -166,7 +172,8 @@ namespace MediaBrowser.Controller.Library /// </summary> /// <param name="id">The id.</param> /// <returns>BaseItem.</returns> - BaseItem GetItemById(Guid id); + /// <exception cref="ArgumentNullException"><paramref name="id"/> is <c>null</c>.</exception> + BaseItem? GetItemById(Guid id); /// <summary> /// Gets the item by id, as T. @@ -174,7 +181,27 @@ namespace MediaBrowser.Controller.Library /// <param name="id">The item id.</param> /// <typeparam name="T">The type of item.</typeparam> /// <returns>The item.</returns> - T GetItemById<T>(Guid id) + T? GetItemById<T>(Guid id) + where T : BaseItem; + + /// <summary> + /// Gets the item by id, as T, and validates user access. + /// </summary> + /// <param name="id">The item id.</param> + /// <param name="userId">The user id to validate against.</param> + /// <typeparam name="T">The type of item.</typeparam> + /// <returns>The item if found.</returns> + public T? GetItemById<T>(Guid id, Guid userId) + where T : BaseItem; + + /// <summary> + /// Gets the item by id, as T, and validates user access. + /// </summary> + /// <param name="id">The item id.</param> + /// <param name="user">The user to validate against.</param> + /// <typeparam name="T">The type of item.</typeparam> + /// <returns>The item if found.</returns> + public T? GetItemById<T>(Guid id, User? user) where T : BaseItem; /// <summary> @@ -208,9 +235,9 @@ namespace MediaBrowser.Controller.Library /// <param name="sortBy">The sort by.</param> /// <param name="sortOrder">The sort order.</param> /// <returns>IEnumerable{BaseItem}.</returns> - IEnumerable<BaseItem> Sort(IEnumerable<BaseItem> items, User user, IEnumerable<ItemSortBy> sortBy, SortOrder sortOrder); + IEnumerable<BaseItem> Sort(IEnumerable<BaseItem> items, User? user, IEnumerable<ItemSortBy> sortBy, SortOrder sortOrder); - IEnumerable<BaseItem> Sort(IEnumerable<BaseItem> items, User user, IEnumerable<(ItemSortBy OrderBy, SortOrder SortOrder)> orderBy); + IEnumerable<BaseItem> Sort(IEnumerable<BaseItem> items, User? user, IEnumerable<(ItemSortBy OrderBy, SortOrder SortOrder)> orderBy); /// <summary> /// Gets the user root folder. @@ -223,7 +250,7 @@ namespace MediaBrowser.Controller.Library /// </summary> /// <param name="item">Item to create.</param> /// <param name="parent">Parent of new item.</param> - void CreateItem(BaseItem item, BaseItem parent); + void CreateItem(BaseItem item, BaseItem? parent); /// <summary> /// Creates the items. @@ -231,7 +258,7 @@ namespace MediaBrowser.Controller.Library /// <param name="items">Items to create.</param> /// <param name="parent">Parent of new items.</param> /// <param name="cancellationToken">CancellationToken to use for operation.</param> - void CreateItems(IReadOnlyList<BaseItem> items, BaseItem parent, CancellationToken cancellationToken); + void CreateItems(IReadOnlyList<BaseItem> items, BaseItem? parent, CancellationToken cancellationToken); /// <summary> /// Updates the item. @@ -509,7 +536,7 @@ namespace MediaBrowser.Controller.Library /// <returns>QueryResult<BaseItem>.</returns> QueryResult<BaseItem> QueryItems(InternalItemsQuery query); - string GetPathAfterNetworkSubstitution(string path, BaseItem ownerItem = null); + string GetPathAfterNetworkSubstitution(string path, BaseItem? ownerItem = null); /// <summary> /// Converts the image to local. |
