2019-01-13 13:01:16 -07:00
|
|
|
using MediaBrowser.Api.UserLibrary;
|
2019-11-17 15:05:39 -07:00
|
|
|
using MediaBrowser.Controller.Configuration;
|
2014-10-20 13:23:40 -07:00
|
|
|
using MediaBrowser.Controller.Dto;
|
2013-05-25 16:52:41 -07:00
|
|
|
using MediaBrowser.Controller.Library;
|
2014-07-02 11:34:08 -07:00
|
|
|
using MediaBrowser.Controller.Net;
|
2017-08-19 12:43:35 -07:00
|
|
|
using MediaBrowser.Model.Dto;
|
2016-10-23 19:45:23 -07:00
|
|
|
using MediaBrowser.Model.Globalization;
|
2019-01-13 12:24:58 -07:00
|
|
|
using MediaBrowser.Model.Querying;
|
2016-03-19 20:38:02 -07:00
|
|
|
using MediaBrowser.Model.Serialization;
|
2016-10-25 12:02:04 -07:00
|
|
|
using MediaBrowser.Model.Services;
|
2019-11-17 15:05:39 -07:00
|
|
|
using Microsoft.Extensions.Logging;
|
2013-05-25 16:52:41 -07:00
|
|
|
|
2014-03-07 08:53:23 -07:00
|
|
|
namespace MediaBrowser.Api.Movies
|
2013-05-25 16:52:41 -07:00
|
|
|
{
|
2014-10-20 13:23:40 -07:00
|
|
|
[Route("/Trailers", "GET", Summary = "Finds movies and trailers similar to a given trailer.")]
|
2017-08-19 12:43:35 -07:00
|
|
|
public class Getrailers : BaseItemsRequest, IReturn<QueryResult<BaseItemDto>>
|
2014-10-20 13:23:40 -07:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2013-05-25 16:52:41 -07:00
|
|
|
/// <summary>
|
|
|
|
/// Class TrailersService
|
|
|
|
/// </summary>
|
2014-07-02 11:34:08 -07:00
|
|
|
[Authenticated]
|
2013-05-25 16:52:41 -07:00
|
|
|
public class TrailersService : BaseApiService
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// The _user manager
|
|
|
|
/// </summary>
|
|
|
|
private readonly IUserManager _userManager;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The _library manager
|
|
|
|
/// </summary>
|
|
|
|
private readonly ILibraryManager _libraryManager;
|
|
|
|
|
2013-09-04 10:02:19 -07:00
|
|
|
private readonly IDtoService _dtoService;
|
2016-03-19 20:38:02 -07:00
|
|
|
private readonly ILocalizationManager _localizationManager;
|
|
|
|
private readonly IJsonSerializer _json;
|
2016-11-10 07:41:24 -07:00
|
|
|
private readonly IAuthorizationContext _authContext;
|
2013-09-04 10:02:19 -07:00
|
|
|
|
2019-11-17 15:05:39 -07:00
|
|
|
public TrailersService(
|
|
|
|
ILogger<TrailersService> logger,
|
|
|
|
IServerConfigurationManager serverConfigurationManager,
|
|
|
|
IHttpResultFactory httpResultFactory,
|
|
|
|
IUserManager userManager,
|
|
|
|
ILibraryManager libraryManager,
|
|
|
|
IDtoService dtoService,
|
|
|
|
ILocalizationManager localizationManager,
|
|
|
|
IJsonSerializer json,
|
|
|
|
IAuthorizationContext authContext)
|
|
|
|
: base(logger, serverConfigurationManager, httpResultFactory)
|
2013-05-25 16:52:41 -07:00
|
|
|
{
|
|
|
|
_userManager = userManager;
|
|
|
|
_libraryManager = libraryManager;
|
2013-09-04 10:02:19 -07:00
|
|
|
_dtoService = dtoService;
|
2016-03-19 20:38:02 -07:00
|
|
|
_localizationManager = localizationManager;
|
|
|
|
_json = json;
|
2016-11-10 07:41:24 -07:00
|
|
|
_authContext = authContext;
|
2013-05-25 16:52:41 -07:00
|
|
|
}
|
|
|
|
|
2016-03-19 20:38:02 -07:00
|
|
|
public object Get(Getrailers request)
|
2014-10-20 13:23:40 -07:00
|
|
|
{
|
2016-03-19 20:38:02 -07:00
|
|
|
var json = _json.SerializeToString(request);
|
|
|
|
var getItems = _json.DeserializeFromString<GetItems>(json);
|
2014-10-20 13:23:40 -07:00
|
|
|
|
2016-03-19 20:38:02 -07:00
|
|
|
getItems.IncludeItemTypes = "Trailer";
|
2014-10-20 13:23:40 -07:00
|
|
|
|
2019-11-17 15:05:39 -07:00
|
|
|
return new ItemsService(
|
|
|
|
Logger,
|
|
|
|
ServerConfigurationManager,
|
|
|
|
ResultFactory,
|
|
|
|
_userManager,
|
|
|
|
_libraryManager,
|
|
|
|
_localizationManager,
|
|
|
|
_dtoService,
|
|
|
|
_authContext)
|
2014-10-20 13:23:40 -07:00
|
|
|
{
|
2016-03-19 20:38:02 -07:00
|
|
|
Request = Request,
|
2014-10-20 13:23:40 -07:00
|
|
|
|
2016-03-19 20:38:02 -07:00
|
|
|
}.Get(getItems);
|
2014-10-20 13:23:40 -07:00
|
|
|
}
|
2013-05-25 16:52:41 -07:00
|
|
|
}
|
|
|
|
}
|