mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-02 12:22:52 +01:00
Added IDtoService
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Entities.Audio;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Persistence;
|
||||
@@ -30,13 +31,15 @@ namespace MediaBrowser.Api
|
||||
/// </summary>
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
private readonly IItemRepository _itemRepo;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
public AlbumsService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo)
|
||||
public AlbumsService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_userDataRepository = userDataRepository;
|
||||
_libraryManager = libraryManager;
|
||||
_itemRepo = itemRepo;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -50,6 +53,7 @@ namespace MediaBrowser.Api
|
||||
_itemRepo,
|
||||
_libraryManager,
|
||||
_userDataRepository,
|
||||
_dtoService,
|
||||
Logger,
|
||||
request, item => item is MusicAlbum,
|
||||
GetAlbumSimilarityScore);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Persistence;
|
||||
using ServiceStack.ServiceHost;
|
||||
@@ -34,6 +35,7 @@ namespace MediaBrowser.Api
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
private readonly IItemRepository _itemRepo;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="GamesService" /> class.
|
||||
@@ -42,12 +44,13 @@ namespace MediaBrowser.Api
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="itemRepo">The item repo.</param>
|
||||
public GamesService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo)
|
||||
public GamesService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_userDataRepository = userDataRepository;
|
||||
_libraryManager = libraryManager;
|
||||
_itemRepo = itemRepo;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -61,6 +64,7 @@ namespace MediaBrowser.Api
|
||||
_itemRepo,
|
||||
_libraryManager,
|
||||
_userDataRepository,
|
||||
_dtoService,
|
||||
Logger,
|
||||
request, item => item is Game,
|
||||
SimilarItemsHelper.GetSimiliarityScore);
|
||||
|
||||
@@ -337,21 +337,19 @@ namespace MediaBrowser.Api.Images
|
||||
private readonly IProviderManager _providerManager;
|
||||
|
||||
private readonly IItemRepository _itemRepo;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ImageService" /> class.
|
||||
/// </summary>
|
||||
/// <param name="userManager">The user manager.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="appPaths">The app paths.</param>
|
||||
/// <param name="providerManager">The provider manager.</param>
|
||||
public ImageService(IUserManager userManager, ILibraryManager libraryManager, IApplicationPaths appPaths, IProviderManager providerManager, IItemRepository itemRepo)
|
||||
public ImageService(IUserManager userManager, ILibraryManager libraryManager, IApplicationPaths appPaths, IProviderManager providerManager, IItemRepository itemRepo, IDtoService dtoService)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_libraryManager = libraryManager;
|
||||
_appPaths = appPaths;
|
||||
_providerManager = providerManager;
|
||||
_itemRepo = itemRepo;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -361,7 +359,7 @@ namespace MediaBrowser.Api.Images
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetItemImageInfos request)
|
||||
{
|
||||
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager);
|
||||
var item = _dtoService.GetItemByDtoId(request.Id);
|
||||
|
||||
var result = GetItemImageInfos(item).Result;
|
||||
|
||||
@@ -512,7 +510,7 @@ namespace MediaBrowser.Api.Images
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetItemImage request)
|
||||
{
|
||||
var item = string.IsNullOrEmpty(request.Id) ? _libraryManager.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager);
|
||||
var item = string.IsNullOrEmpty(request.Id) ? _libraryManager.RootFolder : _dtoService.GetItemByDtoId(request.Id);
|
||||
|
||||
return GetImage(request, item);
|
||||
}
|
||||
@@ -824,9 +822,10 @@ namespace MediaBrowser.Api.Images
|
||||
}
|
||||
}
|
||||
|
||||
var memoryStream = new MemoryStream(bytes);
|
||||
|
||||
memoryStream.Position = 0;
|
||||
var memoryStream = new MemoryStream(bytes)
|
||||
{
|
||||
Position = 0
|
||||
};
|
||||
|
||||
var imageIndex = 0;
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Entities.Audio;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Persistence;
|
||||
using MediaBrowser.Model.Querying;
|
||||
using ServiceStack.ServiceHost;
|
||||
using System;
|
||||
@@ -42,22 +41,20 @@ namespace MediaBrowser.Api
|
||||
public class InstantMixService : BaseApiService
|
||||
{
|
||||
private readonly IUserManager _userManager;
|
||||
private readonly IUserDataRepository _userDataRepository;
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
private readonly IItemRepository _itemRepo;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
public InstantMixService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo)
|
||||
public InstantMixService(IUserManager userManager, ILibraryManager libraryManager, IDtoService dtoService)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_userDataRepository = userDataRepository;
|
||||
_libraryManager = libraryManager;
|
||||
_itemRepo = itemRepo;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
public object Get(GetInstantMixFromSong request)
|
||||
{
|
||||
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager);
|
||||
var item = _dtoService.GetItemByDtoId(request.Id);
|
||||
|
||||
var result = GetInstantMixResult(request, item.Genres).Result;
|
||||
|
||||
@@ -66,7 +63,7 @@ namespace MediaBrowser.Api
|
||||
|
||||
public object Get(GetInstantMixFromAlbum request)
|
||||
{
|
||||
var album = (MusicAlbum)DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager);
|
||||
var album = (MusicAlbum)_dtoService.GetItemByDtoId(request.Id);
|
||||
|
||||
var genres = album
|
||||
.RecursiveChildren
|
||||
@@ -112,8 +109,6 @@ namespace MediaBrowser.Api
|
||||
|
||||
var fields = request.GetItemFields().ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
var inputItems = user == null
|
||||
? _libraryManager.RootFolder.RecursiveChildren
|
||||
: user.RootFolder.GetRecursiveChildren(user);
|
||||
@@ -138,7 +133,7 @@ namespace MediaBrowser.Api
|
||||
};
|
||||
|
||||
var tasks = items.Take(request.Limit ?? items.Length)
|
||||
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user));
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, fields, user));
|
||||
|
||||
result.Items = await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
using System.Linq;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using ServiceStack.ServiceHost;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
@@ -92,12 +92,12 @@ namespace MediaBrowser.Api
|
||||
public class ItemRefreshService : BaseApiService
|
||||
{
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
private readonly IUserManager _userManager;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
public ItemRefreshService(ILibraryManager libraryManager, IUserManager userManager)
|
||||
public ItemRefreshService(ILibraryManager libraryManager, IDtoService dtoService)
|
||||
{
|
||||
_libraryManager = libraryManager;
|
||||
_userManager = userManager;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
public void Post(RefreshArtist request)
|
||||
@@ -244,7 +244,7 @@ namespace MediaBrowser.Api
|
||||
/// <returns>Task.</returns>
|
||||
private async Task RefreshItem(RefreshItem request)
|
||||
{
|
||||
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager);
|
||||
var item = _dtoService.GetItemByDtoId(request.Id);
|
||||
|
||||
var folder = item as Folder;
|
||||
|
||||
|
||||
@@ -72,12 +72,12 @@ namespace MediaBrowser.Api
|
||||
public class ItemUpdateService : BaseApiService
|
||||
{
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
private readonly IUserManager _userManager;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
public ItemUpdateService(ILibraryManager libraryManager, IUserManager userManager)
|
||||
public ItemUpdateService(ILibraryManager libraryManager, IDtoService dtoService)
|
||||
{
|
||||
_libraryManager = libraryManager;
|
||||
_userManager = userManager;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
public void Post(UpdateItem request)
|
||||
@@ -89,7 +89,7 @@ namespace MediaBrowser.Api
|
||||
|
||||
private Task UpdateItem(UpdateItem request)
|
||||
{
|
||||
var item = DtoBuilder.GetItemByClientId(request.ItemId, _userManager, _libraryManager);
|
||||
var item = _dtoService.GetItemByDtoId(request.ItemId);
|
||||
|
||||
UpdateItem(request, item);
|
||||
|
||||
|
||||
@@ -187,27 +187,24 @@ namespace MediaBrowser.Api
|
||||
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
private readonly IUserManager _userManager;
|
||||
private readonly IUserDataRepository _userDataRepository;
|
||||
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="LibraryService" /> class.
|
||||
/// </summary>
|
||||
/// <param name="itemRepo">The item repo.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="userManager">The user manager.</param>
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
public LibraryService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager,
|
||||
IUserDataRepository userDataRepository)
|
||||
IDtoService dtoService)
|
||||
{
|
||||
_itemRepo = itemRepo;
|
||||
_libraryManager = libraryManager;
|
||||
_userManager = userManager;
|
||||
_userDataRepository = userDataRepository;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
public object Get(GetFile request)
|
||||
{
|
||||
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager);
|
||||
var item = _dtoService.GetItemByDtoId(request.Id);
|
||||
|
||||
if (item.LocationType == LocationType.Remote || item.LocationType == LocationType.Virtual)
|
||||
{
|
||||
@@ -240,7 +237,7 @@ namespace MediaBrowser.Api
|
||||
/// <returns>Task{BaseItemDto[]}.</returns>
|
||||
public async Task<BaseItemDto[]> GetAncestors(GetAncestors request)
|
||||
{
|
||||
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager);
|
||||
var item = _dtoService.GetItemByDtoId(request.Id);
|
||||
|
||||
var tasks = new List<Task<BaseItemDto>>();
|
||||
|
||||
@@ -251,8 +248,6 @@ namespace MediaBrowser.Api
|
||||
.Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true))
|
||||
.ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
BaseItem parent = item.Parent;
|
||||
|
||||
while (parent != null)
|
||||
@@ -262,7 +257,7 @@ namespace MediaBrowser.Api
|
||||
parent = TranslateParentItem(parent, user);
|
||||
}
|
||||
|
||||
tasks.Add(dtoBuilder.GetBaseItemDto(parent, fields, user));
|
||||
tasks.Add(_dtoService.GetBaseItemDto(parent, fields, user));
|
||||
|
||||
if (parent is UserRootFolder)
|
||||
{
|
||||
@@ -379,7 +374,7 @@ namespace MediaBrowser.Api
|
||||
|
||||
private async Task DeleteItem(DeleteItem request)
|
||||
{
|
||||
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager);
|
||||
var item = _dtoService.GetItemByDtoId(request.Id);
|
||||
|
||||
var parent = item.Parent;
|
||||
|
||||
@@ -505,7 +500,7 @@ namespace MediaBrowser.Api
|
||||
? (request.UserId.HasValue
|
||||
? user.RootFolder
|
||||
: (Folder)_libraryManager.RootFolder)
|
||||
: DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, request.UserId);
|
||||
: _dtoService.GetItemByDtoId(request.Id, request.UserId);
|
||||
|
||||
while (item.ThemeSongIds.Count == 0 && request.InheritFromParent && item.Parent != null)
|
||||
{
|
||||
@@ -517,11 +512,9 @@ namespace MediaBrowser.Api
|
||||
.Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true))
|
||||
.ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
var tasks = item.ThemeSongIds.Select(_itemRepo.RetrieveItem)
|
||||
.OrderBy(i => i.SortName)
|
||||
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user, item));
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, fields, user, item));
|
||||
|
||||
var items = await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||
|
||||
@@ -529,7 +522,7 @@ namespace MediaBrowser.Api
|
||||
{
|
||||
Items = items,
|
||||
TotalRecordCount = items.Length,
|
||||
OwnerId = DtoBuilder.GetClientItemId(item)
|
||||
OwnerId = _dtoService.GetDtoId(item)
|
||||
};
|
||||
}
|
||||
|
||||
@@ -553,7 +546,7 @@ namespace MediaBrowser.Api
|
||||
? (request.UserId.HasValue
|
||||
? user.RootFolder
|
||||
: (Folder)_libraryManager.RootFolder)
|
||||
: DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, request.UserId);
|
||||
: _dtoService.GetItemByDtoId(request.Id, request.UserId);
|
||||
|
||||
while (item.ThemeVideoIds.Count == 0 && request.InheritFromParent && item.Parent != null)
|
||||
{
|
||||
@@ -566,11 +559,9 @@ namespace MediaBrowser.Api
|
||||
.Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true))
|
||||
.ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
var tasks = item.ThemeVideoIds.Select(_itemRepo.RetrieveItem)
|
||||
.OrderBy(i => i.SortName)
|
||||
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user, item));
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, fields, user, item));
|
||||
|
||||
var items = await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||
|
||||
@@ -578,7 +569,7 @@ namespace MediaBrowser.Api
|
||||
{
|
||||
Items = items,
|
||||
TotalRecordCount = items.Length,
|
||||
OwnerId = DtoBuilder.GetClientItemId(item)
|
||||
OwnerId = _dtoService.GetDtoId(item)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Entities.Movies;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Persistence;
|
||||
@@ -42,19 +43,21 @@ namespace MediaBrowser.Api
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
private readonly IItemRepository _itemRepo;
|
||||
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="MoviesService"/> class.
|
||||
/// </summary>
|
||||
/// <param name="userManager">The user manager.</param>
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
public MoviesService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo)
|
||||
public MoviesService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_userDataRepository = userDataRepository;
|
||||
_libraryManager = libraryManager;
|
||||
_itemRepo = itemRepo;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -68,6 +71,7 @@ namespace MediaBrowser.Api
|
||||
_itemRepo,
|
||||
_libraryManager,
|
||||
_userDataRepository,
|
||||
_dtoService,
|
||||
Logger,
|
||||
request, item => item is Movie || (item is Trailer && request.IncludeTrailers),
|
||||
SimilarItemsHelper.GetSimiliarityScore);
|
||||
|
||||
@@ -31,31 +31,32 @@ namespace MediaBrowser.Api.Playback
|
||||
/// Gets or sets the application paths.
|
||||
/// </summary>
|
||||
/// <value>The application paths.</value>
|
||||
protected IServerApplicationPaths ApplicationPaths { get; set; }
|
||||
protected IServerApplicationPaths ApplicationPaths { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the user manager.
|
||||
/// </summary>
|
||||
/// <value>The user manager.</value>
|
||||
protected IUserManager UserManager { get; set; }
|
||||
protected IUserManager UserManager { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the library manager.
|
||||
/// </summary>
|
||||
/// <value>The library manager.</value>
|
||||
protected ILibraryManager LibraryManager { get; set; }
|
||||
protected ILibraryManager LibraryManager { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the iso manager.
|
||||
/// </summary>
|
||||
/// <value>The iso manager.</value>
|
||||
protected IIsoManager IsoManager { get; set; }
|
||||
protected IIsoManager IsoManager { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the media encoder.
|
||||
/// </summary>
|
||||
/// <value>The media encoder.</value>
|
||||
protected IMediaEncoder MediaEncoder { get; set; }
|
||||
protected IMediaEncoder MediaEncoder { get; private set; }
|
||||
protected IDtoService DtoService { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="BaseStreamingService" /> class.
|
||||
@@ -65,8 +66,9 @@ namespace MediaBrowser.Api.Playback
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="isoManager">The iso manager.</param>
|
||||
/// <param name="mediaEncoder">The media encoder.</param>
|
||||
protected BaseStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder)
|
||||
protected BaseStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService)
|
||||
{
|
||||
DtoService = dtoService;
|
||||
ApplicationPaths = appPaths;
|
||||
UserManager = userManager;
|
||||
LibraryManager = libraryManager;
|
||||
@@ -751,7 +753,7 @@ namespace MediaBrowser.Api.Playback
|
||||
/// <returns>StreamState.</returns>
|
||||
protected StreamState GetState(StreamRequest request)
|
||||
{
|
||||
var item = DtoBuilder.GetItemByClientId(request.Id, UserManager, LibraryManager);
|
||||
var item = DtoService.GetItemByDtoId(request.Id);
|
||||
|
||||
var media = (IHasMediaStreams)item;
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using MediaBrowser.Common.MediaInfo;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.Dto;
|
||||
using MediaBrowser.Model.IO;
|
||||
@@ -53,8 +54,8 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="isoManager">The iso manager.</param>
|
||||
/// <param name="mediaEncoder">The media encoder.</param>
|
||||
public AudioHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder)
|
||||
: base(appPaths, userManager, libraryManager, isoManager, mediaEncoder)
|
||||
public AudioHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService)
|
||||
: base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ using MediaBrowser.Common.IO;
|
||||
using MediaBrowser.Common.MediaInfo;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.IO;
|
||||
@@ -37,8 +38,8 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="isoManager">The iso manager.</param>
|
||||
/// <param name="mediaEncoder">The media encoder.</param>
|
||||
protected BaseHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder)
|
||||
: base(appPaths, userManager, libraryManager, isoManager, mediaEncoder)
|
||||
protected BaseHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService)
|
||||
: base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using MediaBrowser.Common.MediaInfo;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Model.IO;
|
||||
using ServiceStack.ServiceHost;
|
||||
@@ -69,8 +70,8 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="isoManager">The iso manager.</param>
|
||||
/// <param name="mediaEncoder">The media encoder.</param>
|
||||
public VideoHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder)
|
||||
: base(appPaths, userManager, libraryManager, isoManager, mediaEncoder)
|
||||
public VideoHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService)
|
||||
: base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using MediaBrowser.Common.MediaInfo;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Persistence;
|
||||
using MediaBrowser.Model.IO;
|
||||
@@ -48,8 +49,8 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="isoManager">The iso manager.</param>
|
||||
/// <param name="mediaEncoder">The media encoder.</param>
|
||||
public AudioService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo)
|
||||
: base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo)
|
||||
public AudioService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IDtoService dtoService)
|
||||
: base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using MediaBrowser.Common.MediaInfo;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Entities.Audio;
|
||||
using MediaBrowser.Controller.Library;
|
||||
@@ -23,9 +24,9 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
public abstract class BaseProgressiveStreamingService : BaseStreamingService
|
||||
{
|
||||
protected readonly IItemRepository ItemRepository;
|
||||
|
||||
protected BaseProgressiveStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepository) :
|
||||
base(appPaths, userManager, libraryManager, isoManager, mediaEncoder)
|
||||
|
||||
protected BaseProgressiveStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepository, IDtoService dtoService) :
|
||||
base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, dtoService)
|
||||
{
|
||||
ItemRepository = itemRepository;
|
||||
}
|
||||
@@ -302,7 +303,7 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
}
|
||||
}
|
||||
|
||||
return new ImageService(UserManager, LibraryManager, ApplicationPaths, null, ItemRepository)
|
||||
return new ImageService(UserManager, LibraryManager, ApplicationPaths, null, ItemRepository, DtoService)
|
||||
{
|
||||
Logger = Logger,
|
||||
RequestContext = RequestContext,
|
||||
@@ -342,7 +343,7 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
ApiEntryPoint.Instance.OnTranscodeBeginRequest(outputPath, TranscodingJobType.Progressive);
|
||||
}
|
||||
|
||||
var result = new ProgressiveStreamWriter(outputPath, state, Logger);
|
||||
var result = new ProgressiveStreamWriter(outputPath, Logger);
|
||||
|
||||
result.Options["Accept-Ranges"] = "none";
|
||||
result.Options["Content-Type"] = contentType;
|
||||
|
||||
@@ -12,7 +12,6 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
public class ProgressiveStreamWriter : IStreamWriter, IHasOptions
|
||||
{
|
||||
private string Path { get; set; }
|
||||
private StreamState State { get; set; }
|
||||
private ILogger Logger { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@@ -32,12 +31,10 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
/// Initializes a new instance of the <see cref="ProgressiveStreamWriter" /> class.
|
||||
/// </summary>
|
||||
/// <param name="path">The path.</param>
|
||||
/// <param name="state">The state.</param>
|
||||
/// <param name="logger">The logger.</param>
|
||||
public ProgressiveStreamWriter(string path, StreamState state, ILogger logger)
|
||||
public ProgressiveStreamWriter(string path, ILogger logger)
|
||||
{
|
||||
Path = path;
|
||||
State = state;
|
||||
Logger = logger;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using MediaBrowser.Common.MediaInfo;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Persistence;
|
||||
@@ -60,8 +61,8 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="isoManager">The iso manager.</param>
|
||||
/// <param name="mediaEncoder">The media encoder.</param>
|
||||
public VideoService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo)
|
||||
: base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo)
|
||||
public VideoService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IDtoService dtoService)
|
||||
: base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -65,6 +65,7 @@ namespace MediaBrowser.Api
|
||||
/// </summary>
|
||||
private readonly ILibrarySearchEngine _searchEngine;
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SearchService" /> class.
|
||||
@@ -72,11 +73,12 @@ namespace MediaBrowser.Api
|
||||
/// <param name="userManager">The user manager.</param>
|
||||
/// <param name="searchEngine">The search engine.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
public SearchService(IUserManager userManager, ILibrarySearchEngine searchEngine, ILibraryManager libraryManager)
|
||||
public SearchService(IUserManager userManager, ILibrarySearchEngine searchEngine, ILibraryManager libraryManager, IDtoService dtoService)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_searchEngine = searchEngine;
|
||||
_libraryManager = libraryManager;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -149,7 +151,7 @@ namespace MediaBrowser.Api
|
||||
Name = item.Name,
|
||||
IndexNumber = item.IndexNumber,
|
||||
ParentIndexNumber = item.ParentIndexNumber,
|
||||
ItemId = DtoBuilder.GetClientItemId(item),
|
||||
ItemId = _dtoService.GetDtoId(item),
|
||||
Type = item.GetType().Name,
|
||||
MediaType = item.MediaType,
|
||||
MatchedTerm = hintInfo.MatchedTerm,
|
||||
|
||||
@@ -180,13 +180,16 @@ namespace MediaBrowser.Api
|
||||
/// </summary>
|
||||
private readonly ISessionManager _sessionManager;
|
||||
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="SessionsService" /> class.
|
||||
/// </summary>
|
||||
/// <param name="sessionManager">The session manager.</param>
|
||||
public SessionsService(ISessionManager sessionManager)
|
||||
public SessionsService(ISessionManager sessionManager, IDtoService dtoService)
|
||||
{
|
||||
_sessionManager = sessionManager;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -203,7 +206,7 @@ namespace MediaBrowser.Api
|
||||
result = result.Where(i => i.SupportsRemoteControl == request.SupportsRemoteControl.Value);
|
||||
}
|
||||
|
||||
return ToOptimizedResult(result.Select(SessionInfoDtoBuilder.GetSessionInfoDto).ToList());
|
||||
return ToOptimizedResult(result.Select(_dtoService.GetSessionInfoDto).ToList());
|
||||
}
|
||||
|
||||
public void Post(SendPlaystateCommand request)
|
||||
|
||||
@@ -87,23 +87,22 @@ namespace MediaBrowser.Api
|
||||
/// <param name="itemRepository">The item repository.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
/// <param name="dtoService">The dto service.</param>
|
||||
/// <param name="logger">The logger.</param>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <param name="includeInSearch">The include in search.</param>
|
||||
/// <param name="getSimilarityScore">The get similarity score.</param>
|
||||
/// <returns>ItemsResult.</returns>
|
||||
internal static ItemsResult GetSimilarItemsResult(IUserManager userManager, IItemRepository itemRepository, ILibraryManager libraryManager, IUserDataRepository userDataRepository, ILogger logger, BaseGetSimilarItemsFromItem request, Func<BaseItem, bool> includeInSearch, Func<BaseItem, BaseItem, int> getSimilarityScore)
|
||||
internal static ItemsResult GetSimilarItemsResult(IUserManager userManager, IItemRepository itemRepository, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IDtoService dtoService, ILogger logger, BaseGetSimilarItemsFromItem request, Func<BaseItem, bool> includeInSearch, Func<BaseItem, BaseItem, int> getSimilarityScore)
|
||||
{
|
||||
var user = request.UserId.HasValue ? userManager.GetUserById(request.UserId.Value) : null;
|
||||
|
||||
var item = string.IsNullOrEmpty(request.Id) ?
|
||||
(request.UserId.HasValue ? user.RootFolder :
|
||||
(Folder)libraryManager.RootFolder) : DtoBuilder.GetItemByClientId(request.Id, userManager, libraryManager, request.UserId);
|
||||
(Folder)libraryManager.RootFolder) : dtoService.GetItemByDtoId(request.Id, request.UserId);
|
||||
|
||||
var fields = request.GetItemFields().ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(logger, libraryManager, userDataRepository, itemRepository);
|
||||
|
||||
var inputItems = user == null
|
||||
? libraryManager.RootFolder.RecursiveChildren
|
||||
: user.RootFolder.GetRecursiveChildren(user);
|
||||
@@ -113,7 +112,7 @@ namespace MediaBrowser.Api
|
||||
|
||||
var result = new ItemsResult
|
||||
{
|
||||
Items = items.Take(request.Limit ?? items.Length).Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToArray(),
|
||||
Items = items.Take(request.Limit ?? items.Length).Select(i => dtoService.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToArray(),
|
||||
|
||||
TotalRecordCount = items.Length
|
||||
};
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Entities.Movies;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Persistence;
|
||||
@@ -35,19 +36,21 @@ namespace MediaBrowser.Api
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
private readonly IItemRepository _itemRepo;
|
||||
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="TrailersService"/> class.
|
||||
/// </summary>
|
||||
/// <param name="userManager">The user manager.</param>
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
public TrailersService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo)
|
||||
public TrailersService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_userDataRepository = userDataRepository;
|
||||
_libraryManager = libraryManager;
|
||||
_itemRepo = itemRepo;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -61,6 +64,7 @@ namespace MediaBrowser.Api
|
||||
_itemRepo,
|
||||
_libraryManager,
|
||||
_userDataRepository,
|
||||
_dtoService,
|
||||
Logger,
|
||||
request, item => item is Movie || item is Trailer,
|
||||
SimilarItemsHelper.GetSimiliarityScore);
|
||||
|
||||
@@ -101,19 +101,21 @@ namespace MediaBrowser.Api
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
|
||||
private readonly IItemRepository _itemRepo;
|
||||
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="TvShowsService" /> class.
|
||||
/// </summary>
|
||||
/// <param name="userManager">The user manager.</param>
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
public TvShowsService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo)
|
||||
public TvShowsService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_userDataRepository = userDataRepository;
|
||||
_libraryManager = libraryManager;
|
||||
_itemRepo = itemRepo;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -127,6 +129,7 @@ namespace MediaBrowser.Api
|
||||
_itemRepo,
|
||||
_libraryManager,
|
||||
_userDataRepository,
|
||||
_dtoService,
|
||||
Logger,
|
||||
request, item => item is Series,
|
||||
SimilarItemsHelper.GetSimiliarityScore);
|
||||
@@ -253,9 +256,7 @@ namespace MediaBrowser.Api
|
||||
/// <returns>Task.</returns>
|
||||
private Task<BaseItemDto[]> GetItemDtos(IEnumerable<BaseItem> pagedItems, User user, List<ItemFields> fields)
|
||||
{
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
return Task.WhenAll(pagedItems.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)));
|
||||
return Task.WhenAll(pagedItems.Select(i => _dtoService.GetBaseItemDto(i, fields, user)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -75,8 +75,8 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
/// <param name="itemRepo">The item repo.</param>
|
||||
public ArtistsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo)
|
||||
public ArtistsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -104,16 +104,14 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
|
||||
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
|
||||
|
||||
if (request.UserId.HasValue)
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
protected readonly ILibraryManager LibraryManager;
|
||||
protected readonly IUserDataRepository UserDataRepository;
|
||||
protected readonly IItemRepository ItemRepository;
|
||||
protected IDtoService DtoService { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="BaseItemsByNameService{TItemType}" /> class.
|
||||
@@ -37,12 +38,13 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <param name="userManager">The user manager.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
protected BaseItemsByNameService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepository)
|
||||
protected BaseItemsByNameService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepository, IDtoService dtoService)
|
||||
{
|
||||
UserManager = userManager;
|
||||
LibraryManager = libraryManager;
|
||||
UserDataRepository = userDataRepository;
|
||||
ItemRepository = itemRepository;
|
||||
DtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -58,11 +60,11 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
if (request.UserId.HasValue)
|
||||
{
|
||||
user = UserManager.GetUserById(request.UserId.Value);
|
||||
item = string.IsNullOrEmpty(request.ParentId) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.ParentId, UserManager, LibraryManager, user.Id);
|
||||
item = string.IsNullOrEmpty(request.ParentId) ? user.RootFolder : DtoService.GetItemByDtoId(request.ParentId, user.Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
item = string.IsNullOrEmpty(request.ParentId) ? LibraryManager.RootFolder : DtoBuilder.GetItemByClientId(request.ParentId, UserManager, LibraryManager);
|
||||
item = string.IsNullOrEmpty(request.ParentId) ? LibraryManager.RootFolder : DtoService.GetItemByDtoId(request.ParentId);
|
||||
}
|
||||
|
||||
IEnumerable<BaseItem> items;
|
||||
@@ -285,8 +287,8 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
return null;
|
||||
}
|
||||
|
||||
var dto = user == null ? await new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository).GetBaseItemDto(item, fields).ConfigureAwait(false) :
|
||||
await new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository).GetBaseItemDto(item, fields, user).ConfigureAwait(false);
|
||||
var dto = user == null ? await DtoService.GetBaseItemDto(item, fields).ConfigureAwait(false) :
|
||||
await DtoService.GetBaseItemDto(item, fields, user).ConfigureAwait(false);
|
||||
|
||||
if (fields.Contains(ItemFields.ItemCounts))
|
||||
{
|
||||
|
||||
@@ -63,8 +63,8 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
public class GameGenresService : BaseItemsByNameService<GameGenre>
|
||||
{
|
||||
public GameGenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo)
|
||||
public GameGenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -92,16 +92,14 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
|
||||
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
|
||||
|
||||
if (request.UserId.HasValue)
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -69,8 +69,8 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// </summary>
|
||||
public class GenresService : BaseItemsByNameService<Genre>
|
||||
{
|
||||
public GenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo)
|
||||
public GenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -98,16 +98,14 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
|
||||
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
|
||||
|
||||
if (request.UserId.HasValue)
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -138,16 +138,18 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// The library manager
|
||||
/// </summary>
|
||||
protected readonly ILibraryManager LibraryManager;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ItemByNameUserDataService" /> class.
|
||||
/// </summary>
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
public ItemByNameUserDataService(IUserDataRepository userDataRepository, ILibraryManager libraryManager)
|
||||
public ItemByNameUserDataService(IUserDataRepository userDataRepository, ILibraryManager libraryManager, IDtoService dtoService)
|
||||
{
|
||||
UserDataRepository = userDataRepository;
|
||||
LibraryManager = libraryManager;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -230,7 +232,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
data = UserDataRepository.GetUserData(userId, key);
|
||||
|
||||
return DtoBuilder.GetUserItemDataDto(data);
|
||||
return _dtoService.GetUserItemDataDto(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -256,7 +258,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
data = UserDataRepository.GetUserData(userId, key);
|
||||
|
||||
return DtoBuilder.GetUserItemDataDto(data);
|
||||
return _dtoService.GetUserItemDataDto(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -210,8 +210,8 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
private readonly ILibrarySearchEngine _searchEngine;
|
||||
private readonly ILocalizationManager _localization;
|
||||
|
||||
private readonly IItemRepository _itemRepo;
|
||||
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ItemsService" /> class.
|
||||
/// </summary>
|
||||
@@ -219,14 +219,14 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="searchEngine">The search engine.</param>
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
public ItemsService(IUserManager userManager, ILibraryManager libraryManager, ILibrarySearchEngine searchEngine, IUserDataRepository userDataRepository, ILocalizationManager localization, IItemRepository itemRepo)
|
||||
public ItemsService(IUserManager userManager, ILibraryManager libraryManager, ILibrarySearchEngine searchEngine, IUserDataRepository userDataRepository, ILocalizationManager localization, IDtoService dtoService)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_libraryManager = libraryManager;
|
||||
_searchEngine = searchEngine;
|
||||
_userDataRepository = userDataRepository;
|
||||
_localization = localization;
|
||||
_itemRepo = itemRepo;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -275,9 +275,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
var fields = request.GetItemFields().ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
var returnItems = await Task.WhenAll(pagedItems.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user))).ConfigureAwait(false);
|
||||
var returnItems = await Task.WhenAll(pagedItems.Select(i => _dtoService.GetBaseItemDto(i, fields, user))).ConfigureAwait(false);
|
||||
|
||||
return new ItemsResult
|
||||
{
|
||||
@@ -295,7 +293,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <exception cref="System.InvalidOperationException"></exception>
|
||||
private IEnumerable<BaseItem> GetItemsToSerialize(GetItems request, User user)
|
||||
{
|
||||
var item = string.IsNullOrEmpty(request.ParentId) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.ParentId, _userManager, _libraryManager, user.Id);
|
||||
var item = string.IsNullOrEmpty(request.ParentId) ? user.RootFolder : _dtoService.GetItemByDtoId(request.ParentId, user.Id);
|
||||
|
||||
// Default list type = children
|
||||
|
||||
@@ -303,7 +301,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var idList = request.Ids.Split(',').ToList();
|
||||
|
||||
return idList.Select(i => DtoBuilder.GetItemByClientId(i, _userManager, _libraryManager, user.Id));
|
||||
return idList.Select(i => _dtoService.GetItemByDtoId(i, user.Id));
|
||||
}
|
||||
|
||||
if (request.Recursive)
|
||||
@@ -492,7 +490,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
if (!string.IsNullOrEmpty(request.AdjacentTo))
|
||||
{
|
||||
var item = DtoBuilder.GetItemByClientId(request.AdjacentTo, _userManager, _libraryManager);
|
||||
var item = _dtoService.GetItemByDtoId(request.AdjacentTo);
|
||||
|
||||
var allSiblings = item.Parent.GetChildren(user, true).OrderBy(i => i.SortName).ToList();
|
||||
|
||||
|
||||
@@ -63,8 +63,8 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
public class MusicGenresService : BaseItemsByNameService<MusicGenre>
|
||||
{
|
||||
public MusicGenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo)
|
||||
public MusicGenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -92,16 +92,14 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
|
||||
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
|
||||
|
||||
if (request.UserId.HasValue)
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -6,7 +6,6 @@ using MediaBrowser.Controller.Entities.TV;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Persistence;
|
||||
using MediaBrowser.Model.Dto;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Querying;
|
||||
using ServiceStack.ServiceHost;
|
||||
using System;
|
||||
@@ -86,8 +85,8 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
/// <param name="itemRepo">The item repo.</param>
|
||||
public PersonsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo)
|
||||
public PersonsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -114,17 +113,15 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
|
||||
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
|
||||
|
||||
|
||||
if (request.UserId.HasValue)
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -70,8 +70,8 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// </summary>
|
||||
public class StudiosService : BaseItemsByNameService<Studio>
|
||||
{
|
||||
public StudiosService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo)
|
||||
public StudiosService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -98,17 +98,15 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
|
||||
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
|
||||
|
||||
|
||||
if (request.UserId.HasValue)
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -366,6 +366,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
private readonly IItemRepository _itemRepo;
|
||||
|
||||
private readonly ISessionManager _sessionManager;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="UserLibraryService" /> class.
|
||||
@@ -375,13 +376,14 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <param name="userDataRepository">The user data repository.</param>
|
||||
/// <param name="itemRepo">The item repo.</param>
|
||||
/// <exception cref="System.ArgumentNullException">jsonSerializer</exception>
|
||||
public UserLibraryService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, ISessionManager sessionManager)
|
||||
public UserLibraryService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, ISessionManager sessionManager, IDtoService dtoService)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_libraryManager = libraryManager;
|
||||
_userDataRepository = userDataRepository;
|
||||
_itemRepo = itemRepo;
|
||||
_sessionManager = sessionManager;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -400,13 +402,11 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
|
||||
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _dtoService.GetItemByDtoId(request.Id, user.Id);
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
var movie = item as Movie;
|
||||
|
||||
// Get them from the db
|
||||
@@ -418,7 +418,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
var tasks = movie.SpecialFeatureIds
|
||||
.Select(_itemRepo.RetrieveItem)
|
||||
.OrderBy(i => i.SortName)
|
||||
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user, movie1));
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, fields, user, movie1));
|
||||
|
||||
return Task.WhenAll(tasks);
|
||||
}
|
||||
@@ -446,7 +446,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
return DateTime.MinValue;
|
||||
})
|
||||
.ThenBy(i => i.SortName)
|
||||
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user));
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, fields, user));
|
||||
|
||||
return Task.WhenAll(tasks);
|
||||
}
|
||||
@@ -470,17 +470,15 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
|
||||
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _dtoService.GetItemByDtoId(request.Id, user.Id);
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
var tasks = item.LocalTrailerIds
|
||||
.Select(_itemRepo.RetrieveItem)
|
||||
.OrderBy(i => i.SortName)
|
||||
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user, item));
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, fields, user, item));
|
||||
|
||||
return Task.WhenAll(tasks);
|
||||
}
|
||||
@@ -494,14 +492,12 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
|
||||
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _dtoService.GetItemByDtoId(request.Id, user.Id);
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
var result = dtoBuilder.GetBaseItemDto(item, fields, user).Result;
|
||||
var result = _dtoService.GetBaseItemDto(item, fields, user).Result;
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -520,9 +516,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
var result = dtoBuilder.GetBaseItemDto(item, fields, user).Result;
|
||||
var result = _dtoService.GetBaseItemDto(item, fields, user).Result;
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -536,7 +530,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
|
||||
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _dtoService.GetItemByDtoId(request.Id, user.Id);
|
||||
|
||||
var result = _libraryManager.GetIntros(item, user);
|
||||
|
||||
@@ -569,7 +563,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = _userManager.GetUserById(userId);
|
||||
|
||||
var item = string.IsNullOrEmpty(itemId) ? user.RootFolder : DtoBuilder.GetItemByClientId(itemId, _userManager, _libraryManager, user.Id);
|
||||
var item = string.IsNullOrEmpty(itemId) ? user.RootFolder : _dtoService.GetItemByDtoId(itemId, user.Id);
|
||||
|
||||
var key = item.GetUserDataKey();
|
||||
|
||||
@@ -583,7 +577,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
data = _userDataRepository.GetUserData(user.Id, key);
|
||||
|
||||
return DtoBuilder.GetUserItemDataDto(data);
|
||||
return _dtoService.GetUserItemDataDto(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -612,7 +606,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = _userManager.GetUserById(userId);
|
||||
|
||||
var item = string.IsNullOrEmpty(itemId) ? user.RootFolder : DtoBuilder.GetItemByClientId(itemId, _userManager, _libraryManager, user.Id);
|
||||
var item = string.IsNullOrEmpty(itemId) ? user.RootFolder : _dtoService.GetItemByDtoId(itemId, user.Id);
|
||||
|
||||
var key = item.GetUserDataKey();
|
||||
|
||||
@@ -625,7 +619,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
data = _userDataRepository.GetUserData(user.Id, key);
|
||||
|
||||
return DtoBuilder.GetUserItemDataDto(data);
|
||||
return _dtoService.GetUserItemDataDto(data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -666,7 +660,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
|
||||
var item = _dtoService.GetItemByDtoId(request.Id, user.Id);
|
||||
|
||||
_sessionManager.OnPlaybackStart(item, GetSession().Id);
|
||||
}
|
||||
@@ -679,7 +673,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
|
||||
var item = _dtoService.GetItemByDtoId(request.Id, user.Id);
|
||||
|
||||
var task = _sessionManager.OnPlaybackProgress(item, request.PositionTicks, request.IsPaused, request.IsMuted, GetSession().Id);
|
||||
|
||||
@@ -694,7 +688,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
{
|
||||
var user = _userManager.GetUserById(request.UserId);
|
||||
|
||||
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
|
||||
var item = _dtoService.GetItemByDtoId(request.Id, user.Id);
|
||||
|
||||
var task = _sessionManager.OnPlaybackStopped(item, request.PositionTicks, GetSession().Id);
|
||||
|
||||
@@ -723,11 +717,11 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>Task.</returns>
|
||||
private async Task<UserItemDataDto> UpdatePlayedStatus(User user, string itemId, bool wasPlayed)
|
||||
{
|
||||
var item = DtoBuilder.GetItemByClientId(itemId, _userManager, _libraryManager, user.Id);
|
||||
var item = _dtoService.GetItemByDtoId(itemId, user.Id);
|
||||
|
||||
await item.SetPlayedStatus(user, wasPlayed, _userDataRepository).ConfigureAwait(false);
|
||||
|
||||
return DtoBuilder.GetUserItemDataDto(_userDataRepository.GetUserData(user.Id, item.GetUserDataKey()));
|
||||
return _dtoService.GetUserItemDataDto(_userDataRepository.GetUserData(user.Id, item.GetUserDataKey()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,8 +54,8 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// </summary>
|
||||
private static readonly CultureInfo UsCulture = new CultureInfo("en-US");
|
||||
|
||||
public YearsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo)
|
||||
public YearsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
|
||||
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -82,17 +82,15 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
|
||||
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
|
||||
|
||||
|
||||
if (request.UserId.HasValue)
|
||||
{
|
||||
var user = UserManager.GetUserById(request.UserId.Value);
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -171,16 +171,15 @@ namespace MediaBrowser.Api
|
||||
/// The _user manager
|
||||
/// </summary>
|
||||
private readonly IUserManager _userManager;
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="UserService" /> class.
|
||||
/// </summary>
|
||||
/// <param name="xmlSerializer">The XML serializer.</param>
|
||||
/// <param name="userManager">The user manager.</param>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <exception cref="System.ArgumentNullException">xmlSerializer</exception>
|
||||
public UserService(IXmlSerializer xmlSerializer, IUserManager userManager, ILibraryManager libraryManager)
|
||||
public UserService(IXmlSerializer xmlSerializer, IUserManager userManager, IDtoService dtoService)
|
||||
: base()
|
||||
{
|
||||
if (xmlSerializer == null)
|
||||
@@ -190,7 +189,7 @@ namespace MediaBrowser.Api
|
||||
|
||||
_xmlSerializer = xmlSerializer;
|
||||
_userManager = userManager;
|
||||
_libraryManager = libraryManager;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
public object Get(GetPublicUsers request)
|
||||
@@ -209,8 +208,6 @@ namespace MediaBrowser.Api
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetUsers request)
|
||||
{
|
||||
var dtoBuilder = new UserDtoBuilder(Logger);
|
||||
|
||||
var users = _userManager.Users;
|
||||
|
||||
if (request.IsDisabled.HasValue)
|
||||
@@ -223,7 +220,7 @@ namespace MediaBrowser.Api
|
||||
users = users.Where(i => i.Configuration.IsHidden == request.IsHidden.Value);
|
||||
}
|
||||
|
||||
var tasks = users.OrderBy(u => u.Name).Select(dtoBuilder.GetUserDto).Select(i => i.Result);
|
||||
var tasks = users.OrderBy(u => u.Name).Select(_dtoService.GetUserDto).Select(i => i.Result);
|
||||
|
||||
return ToOptimizedResult(tasks.ToList());
|
||||
}
|
||||
@@ -242,9 +239,7 @@ namespace MediaBrowser.Api
|
||||
throw new ResourceNotFoundException("User not found");
|
||||
}
|
||||
|
||||
var dtoBuilder = new UserDtoBuilder(Logger);
|
||||
|
||||
var result = dtoBuilder.GetUserDto(user).Result;
|
||||
var result = _dtoService.GetUserDto(user).Result;
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
@@ -310,7 +305,7 @@ namespace MediaBrowser.Api
|
||||
|
||||
var result = new AuthenticationResult
|
||||
{
|
||||
User = await new UserDtoBuilder(Logger).GetUserDto(user).ConfigureAwait(false)
|
||||
User = await _dtoService.GetUserDto(user).ConfigureAwait(false)
|
||||
};
|
||||
|
||||
return result;
|
||||
@@ -409,9 +404,7 @@ namespace MediaBrowser.Api
|
||||
|
||||
newUser.UpdateConfiguration(dtoUser.Configuration, _xmlSerializer);
|
||||
|
||||
var dtoBuilder = new UserDtoBuilder(Logger);
|
||||
|
||||
var result = dtoBuilder.GetUserDto(newUser).Result;
|
||||
var result = _dtoService.GetUserDto(newUser).Result;
|
||||
|
||||
return ToOptimizedResult(result);
|
||||
}
|
||||
|
||||
@@ -30,14 +30,14 @@ namespace MediaBrowser.Api
|
||||
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
private readonly IUserManager _userManager;
|
||||
private readonly IUserDataRepository _userDataRepository;
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
public VideosService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager, IUserDataRepository userDataRepository)
|
||||
public VideosService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager, IDtoService dtoService)
|
||||
{
|
||||
_itemRepo = itemRepo;
|
||||
_libraryManager = libraryManager;
|
||||
_userManager = userManager;
|
||||
_userDataRepository = userDataRepository;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -53,20 +53,18 @@ namespace MediaBrowser.Api
|
||||
? (request.UserId.HasValue
|
||||
? user.RootFolder
|
||||
: (Folder)_libraryManager.RootFolder)
|
||||
: DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, request.UserId);
|
||||
: _dtoService.GetItemByDtoId(request.Id, request.UserId);
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields))
|
||||
.Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true))
|
||||
.ToList();
|
||||
|
||||
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
|
||||
|
||||
var video = (Video)item;
|
||||
|
||||
var items = video.AdditionalPartIds.Select(_itemRepo.RetrieveItem)
|
||||
.OrderBy(i => i.SortName)
|
||||
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user, video))
|
||||
.Select(i => _dtoService.GetBaseItemDto(i, fields, user, video))
|
||||
.Select(t => t.Result)
|
||||
.ToArray();
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@ namespace MediaBrowser.Api.WebSocket
|
||||
/// </summary>
|
||||
class SessionInfoWebSocketListener : BasePeriodicWebSocketListener<IEnumerable<SessionInfoDto>, object>
|
||||
{
|
||||
private readonly IDtoService _dtoService;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the name.
|
||||
/// </summary>
|
||||
@@ -33,10 +35,11 @@ namespace MediaBrowser.Api.WebSocket
|
||||
/// </summary>
|
||||
/// <param name="logger">The logger.</param>
|
||||
/// <param name="sessionManager">The session manager.</param>
|
||||
public SessionInfoWebSocketListener(ILogger logger, ISessionManager sessionManager)
|
||||
public SessionInfoWebSocketListener(ILogger logger, ISessionManager sessionManager, IDtoService dtoService)
|
||||
: base(logger)
|
||||
{
|
||||
_sessionManager = sessionManager;
|
||||
_dtoService = dtoService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -46,7 +49,7 @@ namespace MediaBrowser.Api.WebSocket
|
||||
/// <returns>Task{SystemInfo}.</returns>
|
||||
protected override Task<IEnumerable<SessionInfoDto>> GetDataToSend(object state)
|
||||
{
|
||||
return Task.FromResult(_sessionManager.Sessions.Select(SessionInfoDtoBuilder.GetSessionInfoDto));
|
||||
return Task.FromResult(_sessionManager.Sessions.Select(_dtoService.GetSessionInfoDto));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user