ChannelService.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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", Summary = "Gets available channels")]
  10. public class GetChannels : IReturn<QueryResult<BaseItemDto>>
  11. {
  12. public string UserId { get; set; }
  13. public int? StartIndex { get; set; }
  14. public int? Limit { get; set; }
  15. }
  16. [Route("/Channels/{Id}/Items", "GET", Summary = "Gets channel items")]
  17. public class GetChannelItems : IReturn<QueryResult<BaseItemDto>>
  18. {
  19. public string Id { get; set; }
  20. public string CategoryId { get; set; }
  21. public string UserId { get; set; }
  22. public int? StartIndex { get; set; }
  23. public int? Limit { get; set; }
  24. }
  25. public class ChannelService : BaseApiService
  26. {
  27. private readonly IChannelManager _channelManager;
  28. public ChannelService(IChannelManager channelManager)
  29. {
  30. _channelManager = channelManager;
  31. }
  32. public object Get(GetChannels request)
  33. {
  34. var result = _channelManager.GetChannels(new ChannelQuery
  35. {
  36. Limit = request.Limit,
  37. StartIndex = request.StartIndex,
  38. UserId = request.UserId,
  39. }, CancellationToken.None).Result;
  40. return ToOptimizedResult(result);
  41. }
  42. public object Get(GetChannelItems request)
  43. {
  44. var result = _channelManager.GetChannelItems(new ChannelItemQuery
  45. {
  46. Limit = request.Limit,
  47. StartIndex = request.StartIndex,
  48. UserId = request.UserId,
  49. ChannelId = request.Id,
  50. CategoryId = request.CategoryId
  51. }, CancellationToken.None).Result;
  52. return ToOptimizedResult(result);
  53. }
  54. }
  55. }