aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/Images/ImageService.cs28
-rw-r--r--MediaBrowser.Api/Library/LibraryStructureService.cs32
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs12
-rw-r--r--MediaBrowser.Api/Playback/Progressive/AudioService.cs5
-rw-r--r--MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs5
-rw-r--r--MediaBrowser.Api/Playback/Progressive/VideoService.cs5
-rw-r--r--MediaBrowser.Api/Streaming/BaseStreamingHandler.cs5
-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
-rw-r--r--MediaBrowser.Api/UserService.cs44
15 files changed, 168 insertions, 131 deletions
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs
index c3e28770f0..00e35428a4 100644
--- a/MediaBrowser.Api/Images/ImageService.cs
+++ b/MediaBrowser.Api/Images/ImageService.cs
@@ -137,13 +137,27 @@ namespace MediaBrowser.Api.Images
public class ImageService : BaseRestService
{
/// <summary>
+ /// The _user manager
+ /// </summary>
+ private readonly IUserManager _userManager;
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="ImageService" /> class.
+ /// </summary>
+ /// <param name="userManager">The user manager.</param>
+ public ImageService(IUserManager userManager)
+ {
+ _userManager = userManager;
+ }
+
+ /// <summary>
/// Gets the specified request.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>System.Object.</returns>
public object Get(GetItemImage request)
{
- var item = DtoBuilder.GetItemByClientId(request.Id);
+ var item = DtoBuilder.GetItemByClientId(request.Id, _userManager);
return GetImage(request, item);
}
@@ -155,9 +169,7 @@ namespace MediaBrowser.Api.Images
/// <returns>System.Object.</returns>
public object Get(GetUserImage request)
{
- var kernel = (Kernel)Kernel;
-
- var item = kernel.Users.First(i => i.Id == request.Id);
+ var item = _userManager.Users.First(i => i.Id == request.Id);
return GetImage(request, item);
}
@@ -224,14 +236,12 @@ namespace MediaBrowser.Api.Images
/// <param name="request">The request.</param>
public void Post(PostUserImage request)
{
- var kernel = (Kernel)Kernel;
-
var pathInfo = PathInfo.Parse(Request.PathInfo);
var id = new Guid(pathInfo.GetArgumentValue<string>(1));
request.Type = (ImageType)Enum.Parse(typeof(ImageType), pathInfo.GetArgumentValue<string>(3), true);
- var item = kernel.Users.First(i => i.Id == id);
+ var item = _userManager.Users.First(i => i.Id == id);
var task = PostImage(item, request.RequestStream, request.Type, Request.ContentType);
@@ -244,9 +254,7 @@ namespace MediaBrowser.Api.Images
/// <param name="request">The request.</param>
public void Delete(DeleteUserImage request)
{
- var kernel = (Kernel)Kernel;
-
- var item = kernel.Users.First(i => i.Id == request.Id);
+ var item = _userManager.Users.First(i => i.Id == request.Id);
var task = item.DeleteImage(request.Type);
diff --git a/MediaBrowser.Api/Library/LibraryStructureService.cs b/MediaBrowser.Api/Library/LibraryStructureService.cs
index e495bc8226..ef3b404780 100644
--- a/MediaBrowser.Api/Library/LibraryStructureService.cs
+++ b/MediaBrowser.Api/Library/LibraryStructureService.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.Implementations.HttpServer;
using MediaBrowser.Controller;
+using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Entities;
using ServiceStack.ServiceHost;
using System;
@@ -136,17 +137,24 @@ namespace MediaBrowser.Api.Library
private readonly IServerApplicationPaths _appPaths;
/// <summary>
+ /// The _user manager
+ /// </summary>
+ private readonly IUserManager _userManager;
+
+ /// <summary>
/// Initializes a new instance of the <see cref="LibraryService" /> class.
/// </summary>
/// <param name="appPaths">The app paths.</param>
+ /// <param name="userManager">The user manager.</param>
/// <exception cref="System.ArgumentNullException">appHost</exception>
- public LibraryStructureService(IServerApplicationPaths appPaths)
+ public LibraryStructureService(IServerApplicationPaths appPaths, IUserManager userManager)
{
if (appPaths == null)
{
throw new ArgumentNullException("appPaths");
}
+ _userManager = userManager;
_appPaths = appPaths;
}
@@ -167,7 +175,7 @@ namespace MediaBrowser.Api.Library
}
else
{
- var user = kernel.GetUserById(new Guid(request.UserId));
+ var user = _userManager.GetUserById(new Guid(request.UserId));
var result = kernel.LibraryManager.GetVirtualFolders(user).ToList();
@@ -181,15 +189,13 @@ namespace MediaBrowser.Api.Library
/// <param name="request">The request.</param>
public void Post(AddVirtualFolder request)
{
- var kernel = (Kernel)Kernel;
-
if (string.IsNullOrEmpty(request.UserId))
{
LibraryHelpers.AddVirtualFolder(request.Name, null, _appPaths);
}
else
{
- var user = kernel.GetUserById(new Guid(request.UserId));
+ var user = _userManager.GetUserById(new Guid(request.UserId));
LibraryHelpers.AddVirtualFolder(request.Name, user, _appPaths);
}
@@ -201,15 +207,13 @@ namespace MediaBrowser.Api.Library
/// <param name="request">The request.</param>
public void Post(RenameVirtualFolder request)
{
- var kernel = (Kernel)Kernel;
-
if (string.IsNullOrEmpty(request.UserId))
{
LibraryHelpers.RenameVirtualFolder(request.Name, request.NewName, null, _appPaths);
}
else
{
- var user = kernel.GetUserById(new Guid(request.UserId));
+ var user = _userManager.GetUserById(new Guid(request.UserId));
LibraryHelpers.RenameVirtualFolder(request.Name, request.NewName, user, _appPaths);
}
@@ -221,15 +225,13 @@ namespace MediaBrowser.Api.Library
/// <param name="request">The request.</param>
public void Delete(RemoveVirtualFolder request)
{
- var kernel = (Kernel)Kernel;
-
if (string.IsNullOrEmpty(request.UserId))
{
LibraryHelpers.RemoveVirtualFolder(request.Name, null, _appPaths);
}
else
{
- var user = kernel.GetUserById(new Guid(request.UserId));
+ var user = _userManager.GetUserById(new Guid(request.UserId));
LibraryHelpers.RemoveVirtualFolder(request.Name, user, _appPaths);
}
@@ -241,15 +243,13 @@ namespace MediaBrowser.Api.Library
/// <param name="request">The request.</param>
public void Post(AddMediaPath request)
{
- var kernel = (Kernel)Kernel;
-
if (string.IsNullOrEmpty(request.UserId))
{
LibraryHelpers.AddMediaPath(request.Name, request.Path, null, _appPaths);
}
else
{
- var user = kernel.GetUserById(new Guid(request.UserId));
+ var user = _userManager.GetUserById(new Guid(request.UserId));
LibraryHelpers.AddMediaPath(request.Name, request.Path, user, _appPaths);
}
@@ -261,15 +261,13 @@ namespace MediaBrowser.Api.Library
/// <param name="request">The request.</param>
public void Delete(RemoveMediaPath request)
{
- var kernel = (Kernel)Kernel;
-
if (string.IsNullOrEmpty(request.UserId))
{
LibraryHelpers.RemoveMediaPath(request.Name, request.Path, null, _appPaths);
}
else
{
- var user = kernel.GetUserById(new Guid(request.UserId));
+ var user = _userManager.GetUserById(new Guid(request.UserId));
LibraryHelpers.RemoveMediaPath(request.Name, request.Path, user, _appPaths);
}
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index b31b9b8615..b7d299afe2 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -30,6 +30,12 @@ namespace MediaBrowser.Api.Playback
protected IServerApplicationPaths ApplicationPaths { get; set; }
/// <summary>
+ /// Gets or sets the user manager.
+ /// </summary>
+ /// <value>The user manager.</value>
+ protected IUserManager UserManager { get; set; }
+
+ /// <summary>
/// Gets the server kernel.
/// </summary>
/// <value>The server kernel.</value>
@@ -42,9 +48,11 @@ namespace MediaBrowser.Api.Playback
/// Initializes a new instance of the <see cref="BaseStreamingService" /> class.
/// </summary>
/// <param name="appPaths">The app paths.</param>
- protected BaseStreamingService(IServerApplicationPaths appPaths)
+ /// <param name="userManager">The user manager.</param>
+ protected BaseStreamingService(IServerApplicationPaths appPaths, IUserManager userManager)
{
ApplicationPaths = appPaths;
+ UserManager = userManager;
}
/// <summary>
@@ -606,7 +614,7 @@ namespace MediaBrowser.Api.Playback
/// <returns>StreamState.</returns>
protected StreamState GetState(StreamRequest request)
{
- var item = DtoBuilder.GetItemByClientId(request.Id);
+ var item = DtoBuilder.GetItemByClientId(request.Id, UserManager);
var media = (IHasMediaStreams)item;
diff --git a/MediaBrowser.Api/Playback/Progressive/AudioService.cs b/MediaBrowser.Api/Playback/Progressive/AudioService.cs
index 850e8ff3b4..8f831a5042 100644
--- a/MediaBrowser.Api/Playback/Progressive/AudioService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/AudioService.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Controller;
+using MediaBrowser.Controller.Library;
using ServiceStack.ServiceHost;
using System.Collections.Generic;
@@ -27,8 +28,8 @@ namespace MediaBrowser.Api.Playback.Progressive
/// Initializes a new instance of the <see cref="BaseProgressiveStreamingService" /> class.
/// </summary>
/// <param name="appPaths">The app paths.</param>
- public AudioService(IServerApplicationPaths appPaths)
- : base(appPaths)
+ public AudioService(IServerApplicationPaths appPaths, IUserManager userManager)
+ : base(appPaths, userManager)
{
}
diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
index 62ca74df92..f02b37b6ce 100644
--- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
+using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Dto;
using System.IO;
using System.Threading.Tasks;
@@ -17,8 +18,8 @@ namespace MediaBrowser.Api.Playback.Progressive
/// Initializes a new instance of the <see cref="BaseProgressiveStreamingService" /> class.
/// </summary>
/// <param name="appPaths">The app paths.</param>
- protected BaseProgressiveStreamingService(IServerApplicationPaths appPaths)
- : base(appPaths)
+ protected BaseProgressiveStreamingService(IServerApplicationPaths appPaths, IUserManager userManager)
+ : base(appPaths, userManager)
{
}
diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
index cb02518d1f..8dca6b24ca 100644
--- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
using System;
+using MediaBrowser.Controller.Library;
using ServiceStack.ServiceHost;
namespace MediaBrowser.Api.Playback.Progressive
@@ -33,8 +34,8 @@ namespace MediaBrowser.Api.Playback.Progressive
/// Initializes a new instance of the <see cref="BaseProgressiveStreamingService" /> class.
/// </summary>
/// <param name="appPaths">The app paths.</param>
- public VideoService(IServerApplicationPaths appPaths)
- : base(appPaths)
+ public VideoService(IServerApplicationPaths appPaths, IUserManager userManager)
+ : base(appPaths, userManager)
{
}
diff --git a/MediaBrowser.Api/Streaming/BaseStreamingHandler.cs b/MediaBrowser.Api/Streaming/BaseStreamingHandler.cs
index 8c5fd34b1d..27ccdeb154 100644
--- a/MediaBrowser.Api/Streaming/BaseStreamingHandler.cs
+++ b/MediaBrowser.Api/Streaming/BaseStreamingHandler.cs
@@ -221,10 +221,7 @@ namespace MediaBrowser.Api.Streaming
/// <value>The library item.</value>
protected TBaseItemType LibraryItem
{
- get
- {
- return _libraryItem ?? (_libraryItem = (TBaseItemType)DtoBuilder.GetItemByClientId(QueryString["id"]));
- }
+ get { return _libraryItem; }
}
/// <summary>
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
index 1448886cf6..3cb17ff352 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 5d72236fab..1c002a7c9f 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 6218f06b14..efc97651b9 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 181d511a6f..4528cb2bc0 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 8b1824d830..cfb0179a2a 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 fd9b0e78ac..1ca72b24f7 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 14fa645af9..8112b2da9f 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>
diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs
index 5a9f22bbec..7302420633 100644
--- a/MediaBrowser.Api/UserService.cs
+++ b/MediaBrowser.Api/UserService.cs
@@ -146,12 +146,17 @@ namespace MediaBrowser.Api
private readonly IJsonSerializer _jsonSerializer;
/// <summary>
+ /// The _user manager
+ /// </summary>
+ private readonly IUserManager _userManager;
+
+ /// <summary>
/// Initializes a new instance of the <see cref="UserService" /> class.
/// </summary>
/// <param name="xmlSerializer">The XML serializer.</param>
/// <param name="jsonSerializer">The json serializer.</param>
/// <exception cref="System.ArgumentNullException">xmlSerializer</exception>
- public UserService(IXmlSerializer xmlSerializer, IJsonSerializer jsonSerializer)
+ public UserService(IXmlSerializer xmlSerializer, IJsonSerializer jsonSerializer, IUserManager userManager)
: base()
{
if (jsonSerializer == null)
@@ -166,6 +171,7 @@ namespace MediaBrowser.Api
_jsonSerializer = jsonSerializer;
_xmlSerializer = xmlSerializer;
+ _userManager = userManager;
}
/// <summary>
@@ -179,7 +185,7 @@ namespace MediaBrowser.Api
var dtoBuilder = new DtoBuilder(Logger);
- var result = kernel.Users.OrderBy(u => u.Name).Select(dtoBuilder.GetDtoUser).ToList();
+ var result = _userManager.Users.OrderBy(u => u.Name).Select(dtoBuilder.GetDtoUser).ToList();
return ToOptimizedResult(result);
}
@@ -191,9 +197,7 @@ namespace MediaBrowser.Api
/// <returns>System.Object.</returns>
public object Get(GetUser request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.Id);
+ var user = _userManager.GetUserById(request.Id);
if (user == null)
{
@@ -211,16 +215,14 @@ namespace MediaBrowser.Api
/// <param name="request">The request.</param>
public void Delete(DeleteUser request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.Id);
+ var user = _userManager.GetUserById(request.Id);
if (user == null)
{
throw new ResourceNotFoundException("User not found");
}
- var task = kernel.UserManager.DeleteUser(user);
+ var task = _userManager.DeleteUser(user);
Task.WaitAll(task);
}
@@ -231,16 +233,14 @@ namespace MediaBrowser.Api
/// <param name="request">The request.</param>
public void Post(AuthenticateUser request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.Id);
+ var user = _userManager.GetUserById(request.Id);
if (user == null)
{
throw new ResourceNotFoundException("User not found");
}
- var success = kernel.UserManager.AuthenticateUser(user, request.Password).Result;
+ var success = _userManager.AuthenticateUser(user, request.Password).Result;
if (!success)
{
@@ -255,9 +255,7 @@ namespace MediaBrowser.Api
/// <param name="request">The request.</param>
public void Post(UpdateUserPassword request)
{
- var kernel = (Kernel)Kernel;
-
- var user = kernel.GetUserById(request.Id);
+ var user = _userManager.GetUserById(request.Id);
if (user == null)
{
@@ -266,20 +264,20 @@ namespace MediaBrowser.Api
if (request.ResetPassword)
{
- var task = user.ResetPassword();
+ var task = user.ResetPassword(_userManager);
Task.WaitAll(task);
}
else
{
- var success = kernel.UserManager.AuthenticateUser(user, request.CurrentPassword).Result;
+ var success = _userManager.AuthenticateUser(user, request.CurrentPassword).Result;
if (!success)
{
throw new ResourceNotFoundException("Invalid user or password entered.");
}
- var task = user.ChangePassword(request.NewPassword);
+ var task = user.ChangePassword(request.NewPassword, _userManager);
Task.WaitAll(task);
}
@@ -296,13 +294,11 @@ namespace MediaBrowser.Api
var pathInfo = PathInfo.Parse(Request.PathInfo);
var id = new Guid(pathInfo.GetArgumentValue<string>(1));
- var kernel = (Kernel)Kernel;
-
var dtoUser = _jsonSerializer.DeserializeFromStream<UserDto>(request.RequestStream);
- var user = kernel.GetUserById(id);
+ var user = _userManager.GetUserById(id);
- var task = user.Name.Equals(dtoUser.Name, StringComparison.Ordinal) ? kernel.UserManager.UpdateUser(user) : kernel.UserManager.RenameUser(user, dtoUser.Name);
+ var task = user.Name.Equals(dtoUser.Name, StringComparison.Ordinal) ? _userManager.UpdateUser(user) : _userManager.RenameUser(user, dtoUser.Name);
Task.WaitAll(task);
@@ -320,7 +316,7 @@ namespace MediaBrowser.Api
var dtoUser = _jsonSerializer.DeserializeFromStream<UserDto>(request.RequestStream);
- var newUser = kernel.UserManager.CreateUser(dtoUser.Name).Result;
+ var newUser = _userManager.CreateUser(dtoUser.Name).Result;
var result = new DtoBuilder(Logger).GetDtoUser(newUser);