diff options
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/Images/ImageService.cs | 28 | ||||
| -rw-r--r-- | MediaBrowser.Api/Library/LibraryStructureService.cs | 32 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/BaseStreamingService.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Progressive/AudioService.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Progressive/VideoService.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Api/Streaming/BaseStreamingHandler.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | 20 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/GenresService.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ItemsService.cs | 20 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/PersonsService.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/StudiosService.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/UserLibraryService.cs | 102 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/YearsService.cs | 5 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserService.cs | 44 |
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); |
