aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-12-18 00:44:33 -0500
committerGitHub <noreply@github.com>2016-12-18 00:44:33 -0500
commite7cebb91a73354dc3e0d0b6340c9fbd6511f4406 (patch)
tree6f1c368c766c17b7514fe749c0e92e69cd89194a /MediaBrowser.Api/UserLibrary/UserLibraryService.cs
parent025905a3e4d50b9a2e07fbf4ff0a203af6604ced (diff)
parentaaa027f3229073e9a40756c3157d41af2a442922 (diff)
Merge pull request #2350 from MediaBrowser/beta
Beta
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/UserLibraryService.cs')
-rw-r--r--MediaBrowser.Api/UserLibrary/UserLibraryService.cs29
1 files changed, 17 insertions, 12 deletions
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
index c392ef463..1ac98d165 100644
--- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
+++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
@@ -6,14 +6,17 @@ using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
-using ServiceStack;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-using CommonIO;
+using MediaBrowser.Common.IO;
+using MediaBrowser.Controller.Entities.Audio;
+using MediaBrowser.Controller.IO;
+using MediaBrowser.Model.IO;
using MediaBrowser.Controller.Providers;
+using MediaBrowser.Model.Services;
namespace MediaBrowser.Api.UserLibrary
{
@@ -268,8 +271,9 @@ namespace MediaBrowser.Api.UserLibrary
private readonly IDtoService _dtoService;
private readonly IUserViewManager _userViewManager;
private readonly IFileSystem _fileSystem;
+ private readonly IAuthorizationContext _authContext;
- public UserLibraryService(IUserManager userManager, ILibraryManager libraryManager, IUserDataManager userDataRepository, IDtoService dtoService, IUserViewManager userViewManager, IFileSystem fileSystem)
+ public UserLibraryService(IUserManager userManager, ILibraryManager libraryManager, IUserDataManager userDataRepository, IDtoService dtoService, IUserViewManager userViewManager, IFileSystem fileSystem, IAuthorizationContext authContext)
{
_userManager = userManager;
_libraryManager = libraryManager;
@@ -277,6 +281,7 @@ namespace MediaBrowser.Api.UserLibrary
_dtoService = dtoService;
_userViewManager = userViewManager;
_fileSystem = fileSystem;
+ _authContext = authContext;
}
/// <summary>
@@ -313,20 +318,20 @@ namespace MediaBrowser.Api.UserLibrary
UserId = request.UserId
});
- var options = GetDtoOptions(request);
+ var dtoOptions = GetDtoOptions(_authContext, request);
var dtos = list.Select(i =>
{
var item = i.Item2[0];
var childCount = 0;
- if (i.Item1 != null && i.Item2.Count > 0)
+ if (i.Item1 != null && (i.Item2.Count > 1 || i.Item1 is MusicAlbum))
{
item = i.Item1;
childCount = i.Item2.Count;
}
- var dto = _dtoService.GetBaseItemDto(item, options, user);
+ var dto = _dtoService.GetBaseItemDto(item, dtoOptions, user);
dto.ChildCount = childCount;
@@ -349,7 +354,7 @@ namespace MediaBrowser.Api.UserLibrary
// Get them from the child tree
if (series != null)
{
- var dtoOptions = GetDtoOptions(request);
+ var dtoOptions = GetDtoOptions(_authContext, request);
// Avoid implicitly captured closure
var currentUser = user;
@@ -380,7 +385,7 @@ namespace MediaBrowser.Api.UserLibrary
// Get them from the db
if (movie != null)
{
- var dtoOptions = GetDtoOptions(request);
+ var dtoOptions = GetDtoOptions(_authContext, request);
var dtos = movie.SpecialFeatureIds
.Select(_libraryManager.GetItemById)
@@ -419,7 +424,7 @@ namespace MediaBrowser.Api.UserLibrary
trailerIds = hasTrailers.GetTrailerIds();
}
- var dtoOptions = GetDtoOptions(request);
+ var dtoOptions = GetDtoOptions(_authContext, request);
var dtos = trailerIds
.Select(_libraryManager.GetItemById)
@@ -441,7 +446,7 @@ namespace MediaBrowser.Api.UserLibrary
await RefreshItemOnDemandIfNeeded(item).ConfigureAwait(false);
- var dtoOptions = GetDtoOptions(request);
+ var dtoOptions = GetDtoOptions(_authContext, request);
var result = _dtoService.GetBaseItemDto(item, dtoOptions, user);
@@ -480,7 +485,7 @@ namespace MediaBrowser.Api.UserLibrary
var item = user.RootFolder;
- var dtoOptions = GetDtoOptions(request);
+ var dtoOptions = GetDtoOptions(_authContext, request);
var result = _dtoService.GetBaseItemDto(item, dtoOptions, user);
@@ -500,7 +505,7 @@ namespace MediaBrowser.Api.UserLibrary
var items = await _libraryManager.GetIntros(item, user).ConfigureAwait(false);
- var dtoOptions = GetDtoOptions(request);
+ var dtoOptions = GetDtoOptions(_authContext, request);
var dtos = items.Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user))
.ToArray();