combined usermanager and userdata manager

This commit is contained in:
LukePulverenti
2013-02-27 15:25:45 -05:00
parent 1c9eb1911a
commit ff4ee7ab9c
33 changed files with 705 additions and 520 deletions

View File

@@ -136,6 +136,20 @@ namespace MediaBrowser.Api.Images
/// </summary>
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>
@@ -143,7 +157,7 @@ namespace MediaBrowser.Api.Images
/// <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);

View File

@@ -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;
@@ -135,18 +136,25 @@ namespace MediaBrowser.Api.Library
/// </summary>
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);
}

View File

@@ -29,6 +29,12 @@ namespace MediaBrowser.Api.Playback
/// <value>The application paths.</value>
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>
@@ -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;

View File

@@ -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)
{
}

View File

@@ -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)
{
}

View File

@@ -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)
{
}

View File

@@ -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>

View File

@@ -20,6 +20,20 @@ namespace MediaBrowser.Api.UserLibrary
public abstract class BaseItemsByNameService<TItemType> : BaseRestService
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>
@@ -27,11 +41,9 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>Task{ItemsResult}.</returns>
protected async Task<ItemsResult> GetResult(GetItemsByName 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);
IEnumerable<BaseItem> items;

View File

@@ -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>

View File

@@ -145,6 +145,20 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
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>
@@ -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

View File

@@ -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>

View File

@@ -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>

View File

@@ -312,12 +312,17 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
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 = _userManager.GetUserById(request.UserId);
var user = kernel.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 = _userManager.GetUserById(request.UserId);
var user = kernel.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 = _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);
@@ -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 = _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);
@@ -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 = _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.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 = _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.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);
}
}
}

View File

@@ -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>

View File

@@ -145,13 +145,18 @@ namespace MediaBrowser.Api
/// </summary>
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);