瀏覽代碼

Merge pull request #2721 from PrplHaz4/patch-2

Separate Channels permissions from All Libraries

(cherry picked from commit 3a98ad82554a6911990a89abd95332ee132462de)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
Bond-009 5 年之前
父節點
當前提交
ee47a75f9f
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      MediaBrowser.Api/UserLibrary/ItemsService.cs

+ 5 - 2
MediaBrowser.Api/UserLibrary/ItemsService.cs

@@ -213,7 +213,10 @@ namespace MediaBrowser.Api.UserLibrary
                 request.IncludeItemTypes = "Playlist";
             }
 
-            bool isInEnabledFolder = user.Policy.EnabledFolders.Any(i => new Guid(i) == item.Id);
+            bool isInEnabledFolder = user.Policy.EnabledFolders.Any(i => new Guid(i) == item.Id)
+                    // Assume all folders inside an EnabledChannel are enabled
+                    || user.Policy.EnabledChannels.Any(i => new Guid(i) == item.Id);
+
             var collectionFolders = _libraryManager.GetCollectionFolders(item);
             foreach (var collectionFolder in collectionFolders)
             {
@@ -225,7 +228,7 @@ namespace MediaBrowser.Api.UserLibrary
                 }
             }
 
-            if (!(item is UserRootFolder) && !user.Policy.EnableAllFolders && !isInEnabledFolder)
+            if (!(item is UserRootFolder) && !user.Policy.EnableAllFolders && !isInEnabledFolder && !user.Policy.EnableAllChannels)
             {
                 Logger.LogWarning("{UserName} is not permitted to access Library {ItemName}.", user.Name, item.Name);
                 return new QueryResult<BaseItem>