NewsService.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using MediaBrowser.Model.News;
  2. using MediaBrowser.Model.Querying;
  3. using MediaBrowser.Model.Services;
  4. namespace MediaBrowser.Api
  5. {
  6. [Route("/News/Product", "GET", Summary = "Gets the latest product news.")]
  7. public class GetProductNews : IReturn<QueryResult<NewsItem>>
  8. {
  9. /// <summary>
  10. /// Skips over a given number of items within the results. Use for paging.
  11. /// </summary>
  12. /// <value>The start index.</value>
  13. [ApiMember(Name = "StartIndex", Description = "Optional. The record index to start at. All items with a lower index will be dropped from the results.", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
  14. public int? StartIndex { get; set; }
  15. /// <summary>
  16. /// The maximum number of items to return
  17. /// </summary>
  18. /// <value>The limit.</value>
  19. [ApiMember(Name = "Limit", Description = "Optional. The maximum number of records to return", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "GET")]
  20. public int? Limit { get; set; }
  21. }
  22. public class NewsService : BaseApiService
  23. {
  24. private readonly INewsService _newsService;
  25. public NewsService(INewsService newsService)
  26. {
  27. _newsService = newsService;
  28. }
  29. public object Get(GetProductNews request)
  30. {
  31. var result = _newsService.GetProductNews(new NewsQuery
  32. {
  33. StartIndex = request.StartIndex,
  34. Limit = request.Limit
  35. });
  36. return ToOptimizedResult(result);
  37. }
  38. }
  39. }