mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-05-31 20:24:21 -04:00
add comments
This commit is contained in:
parent
e52f1b52c1
commit
c69b2c849a
@ -246,10 +246,12 @@ namespace Jellyfin.Api.Controllers
|
|||||||
{
|
{
|
||||||
var auth = await _authContext.GetAuthorizationInfo(Request).ConfigureAwait(false);
|
var auth = await _authContext.GetAuthorizationInfo(Request).ConfigureAwait(false);
|
||||||
|
|
||||||
|
// if api key is used (auth.IsApiKey == true), then `user` will be null throughout this method
|
||||||
var user = !auth.IsApiKey && userId.HasValue && !userId.Value.Equals(default)
|
var user = !auth.IsApiKey && userId.HasValue && !userId.Value.Equals(default)
|
||||||
? _userManager.GetUserById(userId.Value)
|
? _userManager.GetUserById(userId.Value)
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
|
// beyond this point, we're either using an api key or we have a valid user
|
||||||
if (!auth.IsApiKey && user is null)
|
if (!auth.IsApiKey && user is null)
|
||||||
{
|
{
|
||||||
return BadRequest("userId is required");
|
return BadRequest("userId is required");
|
||||||
@ -290,6 +292,7 @@ namespace Jellyfin.Api.Controllers
|
|||||||
? Array.Empty<Guid>()
|
? Array.Empty<Guid>()
|
||||||
: user!.GetPreferenceValues<Guid>(PreferenceKind.EnabledChannels);
|
: user!.GetPreferenceValues<Guid>(PreferenceKind.EnabledChannels);
|
||||||
|
|
||||||
|
// api keys are always enabled for all folders
|
||||||
bool isInEnabledFolder = auth.IsApiKey
|
bool isInEnabledFolder = auth.IsApiKey
|
||||||
|| Array.IndexOf(user!.GetPreferenceValues<Guid>(PreferenceKind.EnabledFolders), item.Id) != -1
|
|| Array.IndexOf(user!.GetPreferenceValues<Guid>(PreferenceKind.EnabledFolders), item.Id) != -1
|
||||||
// Assume all folders inside an EnabledChannel are enabled
|
// Assume all folders inside an EnabledChannel are enabled
|
||||||
@ -302,6 +305,7 @@ namespace Jellyfin.Api.Controllers
|
|||||||
var collectionFolders = _libraryManager.GetCollectionFolders(item);
|
var collectionFolders = _libraryManager.GetCollectionFolders(item);
|
||||||
foreach (var collectionFolder in collectionFolders)
|
foreach (var collectionFolder in collectionFolders)
|
||||||
{
|
{
|
||||||
|
// api keys never enter this block, so user is never null
|
||||||
if (user!.GetPreferenceValues<Guid>(PreferenceKind.EnabledFolders).Contains(collectionFolder.Id))
|
if (user!.GetPreferenceValues<Guid>(PreferenceKind.EnabledFolders).Contains(collectionFolder.Id))
|
||||||
{
|
{
|
||||||
isInEnabledFolder = true;
|
isInEnabledFolder = true;
|
||||||
@ -309,6 +313,7 @@ namespace Jellyfin.Api.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// api keys are always enabled for all folders, so user is never null
|
||||||
if (item is not UserRootFolder
|
if (item is not UserRootFolder
|
||||||
&& !isInEnabledFolder
|
&& !isInEnabledFolder
|
||||||
&& !user!.HasPermission(PermissionKind.EnableAllFolders)
|
&& !user!.HasPermission(PermissionKind.EnableAllFolders)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user