aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Images/RemoteImageService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/Images/RemoteImageService.cs')
-rw-r--r--MediaBrowser.Api/Images/RemoteImageService.cs102
1 files changed, 8 insertions, 94 deletions
diff --git a/MediaBrowser.Api/Images/RemoteImageService.cs b/MediaBrowser.Api/Images/RemoteImageService.cs
index 235f18296..6d2579ea9 100644
--- a/MediaBrowser.Api/Images/RemoteImageService.cs
+++ b/MediaBrowser.Api/Images/RemoteImageService.cs
@@ -5,11 +5,11 @@ using MediaBrowser.Controller;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Net;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Providers;
using ServiceStack;
-using ServiceStack.Text.Controller;
using System;
using System.Collections.Generic;
using System.IO;
@@ -45,8 +45,8 @@ namespace MediaBrowser.Api.Images
public bool IncludeAllLanguages { get; set; }
}
- [Route("/Items/{Id}/RemoteImages", "GET")]
- [Api(Description = "Gets available remote images for an item")]
+ [Route("/Items/{Id}/RemoteImages", "GET", Summary = "Gets available remote images for an item")]
+ [Authenticated]
public class GetRemoteImages : BaseRemoteImageRequest
{
/// <summary>
@@ -57,25 +57,8 @@ namespace MediaBrowser.Api.Images
public string Id { get; set; }
}
- [Route("/Artists/{Name}/RemoteImages", "GET")]
- [Route("/Genres/{Name}/RemoteImages", "GET")]
- [Route("/GameGenres/{Name}/RemoteImages", "GET")]
- [Route("/MusicGenres/{Name}/RemoteImages", "GET")]
- [Route("/Persons/{Name}/RemoteImages", "GET")]
- [Route("/Studios/{Name}/RemoteImages", "GET")]
- [Api(Description = "Gets available remote images for an item")]
- public class GetItemByNameRemoteImages : BaseRemoteImageRequest
- {
- /// <summary>
- /// Gets or sets the id.
- /// </summary>
- /// <value>The id.</value>
- [ApiMember(Name = "Name", Description = "Name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
- public string Name { get; set; }
- }
-
- [Route("/Items/{Id}/RemoteImages/Providers", "GET")]
- [Api(Description = "Gets available remote image providers for an item")]
+ [Route("/Items/{Id}/RemoteImages/Providers", "GET", Summary = "Gets available remote image providers for an item")]
+ [Authenticated]
public class GetRemoteImageProviders : IReturn<List<ImageProviderInfo>>
{
/// <summary>
@@ -86,23 +69,6 @@ namespace MediaBrowser.Api.Images
public string Id { get; set; }
}
- [Route("/Artists/{Name}/RemoteImages/Providers", "GET")]
- [Route("/Genres/{Name}/RemoteImages/Providers", "GET")]
- [Route("/GameGenres/{Name}/RemoteImages/Providers", "GET")]
- [Route("/MusicGenres/{Name}/RemoteImages/Providers", "GET")]
- [Route("/Persons/{Name}/RemoteImages/Providers", "GET")]
- [Route("/Studios/{Name}/RemoteImages/Providers", "GET")]
- [Api(Description = "Gets available remote image providers for an item")]
- public class GetItemByNameRemoteImageProviders : IReturn<List<ImageProviderInfo>>
- {
- /// <summary>
- /// Gets or sets the id.
- /// </summary>
- /// <value>The id.</value>
- [ApiMember(Name = "Name", Description = "Name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
- public string Name { get; set; }
- }
-
public class BaseDownloadRemoteImage : IReturnVoid
{
[ApiMember(Name = "Type", Description = "The image type", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
@@ -115,8 +81,8 @@ namespace MediaBrowser.Api.Images
public string ImageUrl { get; set; }
}
- [Route("/Items/{Id}/RemoteImages/Download", "POST")]
- [Api(Description = "Downloads a remote image for an item")]
+ [Route("/Items/{Id}/RemoteImages/Download", "POST", Summary = "Downloads a remote image for an item")]
+ [Authenticated(Roles="Admin")]
public class DownloadRemoteImage : BaseDownloadRemoteImage
{
/// <summary>
@@ -127,25 +93,7 @@ namespace MediaBrowser.Api.Images
public string Id { get; set; }
}
- [Route("/Artists/{Name}/RemoteImages/Download", "POST")]
- [Route("/Genres/{Name}/RemoteImages/Download", "POST")]
- [Route("/GameGenres/{Name}/RemoteImages/Download", "POST")]
- [Route("/MusicGenres/{Name}/RemoteImages/Download", "POST")]
- [Route("/Persons/{Name}/RemoteImages/Download", "POST")]
- [Route("/Studios/{Name}/RemoteImages/Download", "POST")]
- [Api(Description = "Downloads a remote image for an item")]
- public class DownloadItemByNameRemoteImage : BaseDownloadRemoteImage
- {
- /// <summary>
- /// Gets or sets the id.
- /// </summary>
- /// <value>The id.</value>
- [ApiMember(Name = "Name", Description = "Name", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
- public string Name { get; set; }
- }
-
- [Route("/Images/Remote", "GET")]
- [Api(Description = "Gets a remote image")]
+ [Route("/Images/Remote", "GET", Summary = "Gets a remote image")]
public class GetRemoteImage
{
[ApiMember(Name = "ImageUrl", Description = "The image url", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
@@ -182,18 +130,6 @@ namespace MediaBrowser.Api.Images
return ToOptimizedSerializedResultUsingCache(result);
}
- public object Get(GetItemByNameRemoteImageProviders request)
- {
- var pathInfo = PathInfo.Parse(Request.PathInfo);
- var type = pathInfo.GetArgumentValue<string>(0);
-
- var item = GetItemByName(request.Name, type, _libraryManager);
-
- var result = GetImageProviders(item);
-
- return ToOptimizedSerializedResultUsingCache(result);
- }
-
private List<ImageProviderInfo> GetImageProviders(BaseItem item)
{
return _providerManager.GetRemoteImageProviderInfo(item).ToList();
@@ -206,16 +142,6 @@ namespace MediaBrowser.Api.Images
return await GetRemoteImageResult(item, request).ConfigureAwait(false);
}
- public async Task<object> Get(GetItemByNameRemoteImages request)
- {
- var pathInfo = PathInfo.Parse(Request.PathInfo);
- var type = pathInfo.GetArgumentValue<string>(0);
-
- var item = GetItemByName(request.Name, type, _libraryManager);
-
- return await GetRemoteImageResult(item, request).ConfigureAwait(false);
- }
-
private async Task<RemoteImageResult> GetRemoteImageResult(BaseItem item, BaseRemoteImageRequest request)
{
var images = await _providerManager.GetAvailableRemoteImages(item, new RemoteImageQuery
@@ -274,18 +200,6 @@ namespace MediaBrowser.Api.Images
Task.WaitAll(task);
}
- public void Post(DownloadItemByNameRemoteImage request)
- {
- var pathInfo = PathInfo.Parse(Request.PathInfo);
- var type = pathInfo.GetArgumentValue<string>(0);
-
- var item = GetItemByName(request.Name, type, _libraryManager);
-
- var task = DownloadRemoteImage(item, request);
-
- Task.WaitAll(task);
- }
-
/// <summary>
/// Downloads the remote image.
/// </summary>