aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/UserLibrary
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/UserLibrary')
-rw-r--r--MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs20
-rw-r--r--MediaBrowser.Api/UserLibrary/GenresService.cs5
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemsService.cs20
-rw-r--r--MediaBrowser.Api/UserLibrary/PersonsService.cs5
-rw-r--r--MediaBrowser.Api/UserLibrary/StudiosService.cs6
-rw-r--r--MediaBrowser.Api/UserLibrary/UserLibraryService.cs102
-rw-r--r--MediaBrowser.Api/UserLibrary/YearsService.cs5
7 files changed, 95 insertions, 68 deletions
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
index 1448886cf..3cb17ff35 100644
--- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
+++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
@@ -21,17 +21,29 @@ namespace MediaBrowser.Api.UserLibrary
where TItemType : BaseItem
{
/// <summary>
+ /// The _user manager
+ /// </summary>
+ protected readonly IUserManager UserManager;
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="BaseItemsByNameService{TItemType}" /> class.
+ /// </summary>
+ /// <param name="userManager">The user manager.</param>
+ protected BaseItemsByNameService(IUserManager userManager)
+ {
+ UserManager = userManager;
+ }
+
+ /// <summary>
/// Gets the specified request.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>Task{ItemsResult}.</returns>
protected async Task<ItemsResult> GetResult(GetItemsByName request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.UserId);
+ var user = UserManager.GetUserById(request.UserId);
- var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, user.Id);
+ var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, UserManager, user.Id);
IEnumerable<BaseItem> items;
diff --git a/MediaBrowser.Api/UserLibrary/GenresService.cs b/MediaBrowser.Api/UserLibrary/GenresService.cs
index 5d72236fa..1c002a7c9 100644
--- a/MediaBrowser.Api/UserLibrary/GenresService.cs
+++ b/MediaBrowser.Api/UserLibrary/GenresService.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Library;
using ServiceStack.ServiceHost;
using System;
using System.Collections.Generic;
@@ -23,6 +24,10 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
public class GenresService : BaseItemsByNameService<Genre>
{
+ public GenresService(IUserManager userManager) : base(userManager)
+ {
+ }
+
/// <summary>
/// Gets the specified request.
/// </summary>
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs
index 6218f06b1..efc97651b 100644
--- a/MediaBrowser.Api/UserLibrary/ItemsService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs
@@ -146,6 +146,20 @@ namespace MediaBrowser.Api.UserLibrary
public class ItemsService : BaseRestService
{
/// <summary>
+ /// The _user manager
+ /// </summary>
+ private readonly IUserManager _userManager;
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="ItemsService" /> class.
+ /// </summary>
+ /// <param name="userManager">The user manager.</param>
+ public ItemsService(IUserManager userManager)
+ {
+ _userManager = userManager;
+ }
+
+ /// <summary>
/// Gets the specified request.
/// </summary>
/// <param name="request">The request.</param>
@@ -164,9 +178,7 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>Task{ItemsResult}.</returns>
private async Task<ItemsResult> GetItems(GetItems request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.UserId);
+ var user = _userManager.GetUserById(request.UserId);
var items = GetItemsToSerialize(request, user);
@@ -209,7 +221,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, user.Id);
+ var item = string.IsNullOrEmpty(request.ParentId) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.ParentId, _userManager, user.Id);
// Default list type = children
diff --git a/MediaBrowser.Api/UserLibrary/PersonsService.cs b/MediaBrowser.Api/UserLibrary/PersonsService.cs
index 181d511a6..4528cb2bc 100644
--- a/MediaBrowser.Api/UserLibrary/PersonsService.cs
+++ b/MediaBrowser.Api/UserLibrary/PersonsService.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Library;
using ServiceStack.ServiceHost;
using System;
using System.Collections.Generic;
@@ -28,6 +29,10 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
public class PersonsService : BaseItemsByNameService<Person>
{
+ public PersonsService(IUserManager userManager) : base(userManager)
+ {
+ }
+
/// <summary>
/// Gets the specified request.
/// </summary>
diff --git a/MediaBrowser.Api/UserLibrary/StudiosService.cs b/MediaBrowser.Api/UserLibrary/StudiosService.cs
index 8b1824d83..cfb0179a2 100644
--- a/MediaBrowser.Api/UserLibrary/StudiosService.cs
+++ b/MediaBrowser.Api/UserLibrary/StudiosService.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Library;
using ServiceStack.ServiceHost;
using System;
using System.Collections.Generic;
@@ -22,6 +23,11 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
public class StudiosService : BaseItemsByNameService<Studio>
{
+ public StudiosService(IUserManager userManager)
+ : base(userManager)
+ {
+ }
+
/// <summary>
/// Gets the specified request.
/// </summary>
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
index fd9b0e78a..1ca72b24f 100644
--- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
+++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
@@ -313,11 +313,16 @@ namespace MediaBrowser.Api.UserLibrary
private readonly IJsonSerializer _jsonSerializer;
/// <summary>
+ /// The _user manager
+ /// </summary>
+ private readonly IUserManager _userManager;
+
+ /// <summary>
/// Initializes a new instance of the <see cref="UserLibraryService" /> class.
/// </summary>
/// <param name="jsonSerializer">The json serializer.</param>
/// <exception cref="System.ArgumentNullException">jsonSerializer</exception>
- public UserLibraryService(IJsonSerializer jsonSerializer)
+ public UserLibraryService(IJsonSerializer jsonSerializer, IUserManager userManager)
: base()
{
if (jsonSerializer == null)
@@ -326,6 +331,7 @@ namespace MediaBrowser.Api.UserLibrary
}
_jsonSerializer = jsonSerializer;
+ _userManager = userManager;
}
/// <summary>
@@ -335,11 +341,9 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>System.Object.</returns>
public object Get(GetSpecialFeatures request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.UserId);
+ var user = _userManager.GetUserById(request.UserId);
- var item = DtoBuilder.GetItemByClientId(request.Id, user.Id);
+ var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
@@ -360,11 +364,9 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>System.Object.</returns>
public object Get(GetLocalTrailers request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.UserId);
+ var user = _userManager.GetUserById(request.UserId);
- var item = DtoBuilder.GetItemByClientId(request.Id, user.Id);
+ var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
@@ -383,11 +385,9 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>System.Object.</returns>
public object Get(GetItem request)
{
- var kernel = (Kernel)Kernel;
+ var user = _userManager.GetUserById(request.UserId);
- var user = kernel.GetUserById(request.UserId);
-
- var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, user.Id);
+ var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
@@ -408,9 +408,9 @@ namespace MediaBrowser.Api.UserLibrary
{
var kernel = (Kernel)Kernel;
- var user = kernel.GetUserById(request.UserId);
+ var user = _userManager.GetUserById(request.UserId);
- var item = DtoBuilder.GetItemByClientId(request.Id, user.Id);
+ var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
var result = kernel.IntroProviders.SelectMany(i => i.GetIntros(item, user));
@@ -431,9 +431,9 @@ namespace MediaBrowser.Api.UserLibrary
var kernel = (Kernel)Kernel;
- var user = kernel.GetUserById(userId);
+ var user = _userManager.GetUserById(userId);
- var item = (Folder)DtoBuilder.GetItemByClientId(itemId, user.Id);
+ var item = (Folder)DtoBuilder.GetItemByClientId(itemId, _userManager, user.Id);
var displayPreferences = _jsonSerializer.DeserializeFromStream<DisplayPreferences>(request.RequestStream);
@@ -448,11 +448,9 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="request">The request.</param>
public void Post(MarkFavoriteItem request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.UserId);
+ var user = _userManager.GetUserById(request.UserId);
- var item = (Folder)DtoBuilder.GetItemByClientId(request.Id, user.Id);
+ var item = (Folder)DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
// Get the user data for this item
var data = item.GetUserData(user, true);
@@ -460,7 +458,7 @@ namespace MediaBrowser.Api.UserLibrary
// Set favorite status
data.IsFavorite = true;
- var task = kernel.UserDataManager.SaveUserDataForItem(user, item, data);
+ var task = _userManager.SaveUserDataForItem(user, item, data);
Task.WaitAll(task);
}
@@ -471,11 +469,9 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="request">The request.</param>
public void Delete(UnmarkFavoriteItem request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.UserId);
+ var user = _userManager.GetUserById(request.UserId);
- var item = (Folder)DtoBuilder.GetItemByClientId(request.Id, user.Id);
+ var item = (Folder)DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
// Get the user data for this item
var data = item.GetUserData(user, true);
@@ -483,7 +479,7 @@ namespace MediaBrowser.Api.UserLibrary
// Set favorite status
data.IsFavorite = false;
- var task = kernel.UserDataManager.SaveUserDataForItem(user, item, data);
+ var task = _userManager.SaveUserDataForItem(user, item, data);
Task.WaitAll(task);
}
@@ -494,18 +490,16 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="request">The request.</param>
public void Delete(DeleteUserItemRating request)
{
- var kernel = (Kernel)Kernel;
+ var user = _userManager.GetUserById(request.UserId);
- var user = kernel.GetUserById(request.UserId);
-
- var item = (Folder)DtoBuilder.GetItemByClientId(request.Id, user.Id);
+ var item = (Folder)DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
// Get the user data for this item
var data = item.GetUserData(user, true);
data.Rating = null;
- var task = kernel.UserDataManager.SaveUserDataForItem(user, item, data);
+ var task = _userManager.SaveUserDataForItem(user, item, data);
Task.WaitAll(task);
}
@@ -516,18 +510,16 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="request">The request.</param>
public void Post(UpdateUserItemRating request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.UserId);
+ var user = _userManager.GetUserById(request.UserId);
- var item = (Folder)DtoBuilder.GetItemByClientId(request.Id, user.Id);
+ var item = (Folder)DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
// Get the user data for this item
var data = item.GetUserData(user, true);
data.Likes = request.Likes;
- var task = kernel.UserDataManager.SaveUserDataForItem(user, item, data);
+ var task = _userManager.SaveUserDataForItem(user, item, data);
Task.WaitAll(task);
}
@@ -538,9 +530,7 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="request">The request.</param>
public void Post(MarkPlayedItem request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.UserId);
+ var user = _userManager.GetUserById(request.UserId);
var task = UpdatePlayedStatus(user, request.Id, true);
@@ -553,13 +543,11 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="request">The request.</param>
public void Post(OnPlaybackStart request)
{
- var kernel = (Kernel)Kernel;
+ var user = _userManager.GetUserById(request.UserId);
- var user = kernel.GetUserById(request.UserId);
+ var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
- var item = DtoBuilder.GetItemByClientId(request.Id, user.Id);
-
- kernel.UserDataManager.OnPlaybackStart(user, item, ClientType.Other, string.Empty);
+ _userManager.OnPlaybackStart(user, item, ClientType.Other, string.Empty);
}
/// <summary>
@@ -568,13 +556,11 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="request">The request.</param>
public void Post(OnPlaybackProgress request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.UserId);
+ var user = _userManager.GetUserById(request.UserId);
- var item = DtoBuilder.GetItemByClientId(request.Id, user.Id);
+ var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
- var task = kernel.UserDataManager.OnPlaybackProgress(user, item, request.PositionTicks, ClientType.Other, string.Empty);
+ var task = _userManager.OnPlaybackProgress(user, item, request.PositionTicks, ClientType.Other, string.Empty);
Task.WaitAll(task);
}
@@ -585,13 +571,11 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="request">The request.</param>
public void Post(OnPlaybackStopped request)
{
- var kernel = (Kernel)Kernel;
+ var user = _userManager.GetUserById(request.UserId);
- var user = kernel.GetUserById(request.UserId);
+ var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, user.Id);
- var item = DtoBuilder.GetItemByClientId(request.Id, user.Id);
-
- var task = kernel.UserDataManager.OnPlaybackStopped(user, item, request.PositionTicks, ClientType.Other, string.Empty);
+ var task = _userManager.OnPlaybackStopped(user, item, request.PositionTicks, ClientType.Other, string.Empty);
Task.WaitAll(task);
}
@@ -602,9 +586,7 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="request">The request.</param>
public void Delete(MarkUnplayedItem request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.UserId);
+ var user = _userManager.GetUserById(request.UserId);
var task = UpdatePlayedStatus(user, request.Id, false);
@@ -620,9 +602,9 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>Task.</returns>
private Task UpdatePlayedStatus(User user, string itemId, bool wasPlayed)
{
- var item = DtoBuilder.GetItemByClientId(itemId, user.Id);
+ var item = DtoBuilder.GetItemByClientId(itemId, _userManager, user.Id);
- return item.SetPlayedStatus(user, wasPlayed);
+ return item.SetPlayedStatus(user, wasPlayed, _userManager);
}
}
}
diff --git a/MediaBrowser.Api/UserLibrary/YearsService.cs b/MediaBrowser.Api/UserLibrary/YearsService.cs
index 14fa645af..8112b2da9 100644
--- a/MediaBrowser.Api/UserLibrary/YearsService.cs
+++ b/MediaBrowser.Api/UserLibrary/YearsService.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Library;
using ServiceStack.ServiceHost;
using System;
using System.Collections.Generic;
@@ -29,6 +30,10 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
private static readonly CultureInfo UsCulture = new CultureInfo("en-US");
+ public YearsService(IUserManager userManager) : base(userManager)
+ {
+ }
+
/// <summary>
/// Gets the specified request.
/// </summary>