ChannelService.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using MediaBrowser.Controller.Channels;
  2. using MediaBrowser.Model.Channels;
  3. using MediaBrowser.Model.Dto;
  4. using MediaBrowser.Model.Querying;
  5. using ServiceStack;
  6. using System.Threading;
  7. namespace MediaBrowser.Api
  8. {
  9. [Route("/Channels", "GET")]
  10. [Api(("Gets available channels"))]
  11. public class GetChannels : IReturn<QueryResult<BaseItemDto>>
  12. {
  13. public string UserId { get; set; }
  14. public int? StartIndex { get; set; }
  15. public int? Limit { get; set; }
  16. }
  17. [Route("/Channels/{Id}/Items", "GET")]
  18. [Api(("Gets channel items"))]
  19. public class GetChannelItems : IReturn<QueryResult<BaseItemDto>>
  20. {
  21. public string Id { get; set; }
  22. public string CategoryId { get; set; }
  23. public string UserId { get; set; }
  24. public int? StartIndex { get; set; }
  25. public int? Limit { get; set; }
  26. }
  27. public class ChannelService : BaseApiService
  28. {
  29. private readonly IChannelManager _channelManager;
  30. public ChannelService(IChannelManager channelManager)
  31. {
  32. _channelManager = channelManager;
  33. }
  34. public object Get(GetChannels request)
  35. {
  36. var result = _channelManager.GetChannels(new ChannelQuery
  37. {
  38. Limit = request.Limit,
  39. StartIndex = request.StartIndex,
  40. UserId = request.UserId,
  41. }, CancellationToken.None).Result;
  42. return ToOptimizedResult(result);
  43. }
  44. public object Get(GetChannelItems request)
  45. {
  46. var result = _channelManager.GetChannelItems(new ChannelItemQuery
  47. {
  48. Limit = request.Limit,
  49. StartIndex = request.StartIndex,
  50. UserId = request.UserId,
  51. ChannelId = request.Id,
  52. CategoryId = request.CategoryId
  53. }, CancellationToken.None).Result;
  54. return ToOptimizedResult(result);
  55. }
  56. }
  57. }