diff options
Diffstat (limited to 'MediaBrowser.Api/UserLibrary')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ItemsService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/UserLibraryService.cs | 40 |
3 files changed, 36 insertions, 8 deletions
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index 0a013e90a8..ff914c8c54 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -16,7 +16,7 @@ namespace MediaBrowser.Api.UserLibrary /// Class BaseItemsByNameService /// </summary> /// <typeparam name="TItemType">The type of the T item type.</typeparam> - public abstract class BaseItemsByNameService<TItemType> : BaseRestService + public abstract class BaseItemsByNameService<TItemType> : BaseApiService where TItemType : BaseItem { /// <summary> diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index e5e88b4388..09796c67f1 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -112,7 +112,7 @@ namespace MediaBrowser.Api.UserLibrary /// <summary> /// Class ItemsService /// </summary> - public class ItemsService : BaseRestService + public class ItemsService : BaseApiService { /// <summary> /// The _user manager diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs index 9e2d54448c..3e0c2a960f 100644 --- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs +++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs @@ -6,6 +6,7 @@ using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Querying; using MediaBrowser.Server.Implementations.HttpServer; +using MediaBrowser.Server.Implementations.Library; using ServiceStack.ServiceHost; using ServiceStack.Text.Controller; using System; @@ -347,7 +348,7 @@ namespace MediaBrowser.Api.UserLibrary /// <summary> /// Class UserLibraryService /// </summary> - public class UserLibraryService : BaseRestService + public class UserLibraryService : BaseApiService { /// <summary> /// The _user manager @@ -592,7 +593,16 @@ namespace MediaBrowser.Api.UserLibrary var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id); - _userManager.OnPlaybackStart(user, item, ClientType.Other, string.Empty); + var auth = RequestFilterAttribute.GetAuthorization(Request); + + if (auth != null) + { + ClientType clientType; + + Enum.TryParse(auth["Client"] ?? string.Empty, out clientType); + + _userManager.OnPlaybackStart(user, item, clientType, auth["DeviceId"], auth["Device"] ?? string.Empty); + } } /// <summary> @@ -605,9 +615,18 @@ namespace MediaBrowser.Api.UserLibrary var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id); - var task = _userManager.OnPlaybackProgress(user, item, request.PositionTicks, ClientType.Other, string.Empty); + var auth = RequestFilterAttribute.GetAuthorization(Request); - Task.WaitAll(task); + if (auth != null) + { + ClientType clientType; + + Enum.TryParse(auth["Client"] ?? string.Empty, out clientType); + + var task = _userManager.OnPlaybackProgress(user, item, request.PositionTicks, clientType, auth["DeviceId"], auth["Device"] ?? string.Empty); + + Task.WaitAll(task); + } } /// <summary> @@ -620,9 +639,18 @@ namespace MediaBrowser.Api.UserLibrary var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id); - var task = _userManager.OnPlaybackStopped(user, item, request.PositionTicks, ClientType.Other, string.Empty); + var auth = RequestFilterAttribute.GetAuthorization(Request); - Task.WaitAll(task); + if (auth != null) + { + ClientType clientType; + + Enum.TryParse(auth["Client"] ?? string.Empty, out clientType); + + var task = _userManager.OnPlaybackStopped(user, item, request.PositionTicks, clientType, auth["DeviceId"], auth["Device"] ?? string.Empty); + + Task.WaitAll(task); + } } /// <summary> |
