diff options
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/LiveTv/LiveTvService.cs | 62 |
1 files changed, 61 insertions, 1 deletions
diff --git a/MediaBrowser.Api/LiveTv/LiveTvService.cs b/MediaBrowser.Api/LiveTv/LiveTvService.cs index 24d76c0d2..e7b348eb7 100644 --- a/MediaBrowser.Api/LiveTv/LiveTvService.cs +++ b/MediaBrowser.Api/LiveTv/LiveTvService.cs @@ -73,6 +73,12 @@ namespace MediaBrowser.Api.LiveTv public string Id { get; set; } } + [Route("/LiveTv/Timers/Defaults", "GET")] + [Api(Description = "Gets default values for a new timer")] + public class GetDefaultTimer : IReturn<TimerInfoDto> + { + } + [Route("/LiveTv/Timers", "GET")] [Api(Description = "Gets live tv timers")] public class GetTimers : IReturn<QueryResult<TimerInfoDto>> @@ -92,6 +98,18 @@ namespace MediaBrowser.Api.LiveTv public string UserId { get; set; } } + [Route("/LiveTv/Programs/{Id}", "GET")] + [Api(Description = "Gets a live tv program")] + public class GetProgram : IReturn<ProgramInfoDto> + { + [ApiMember(Name = "Id", Description = "Program Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] + public string Id { get; set; } + + [ApiMember(Name = "UserId", Description = "Optional attach user data.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] + public string UserId { get; set; } + } + + [Route("/LiveTv/Recordings/{Id}", "DELETE")] [Api(Description = "Deletes a live tv recording")] public class DeleteRecording : IReturnVoid @@ -114,6 +132,12 @@ namespace MediaBrowser.Api.LiveTv { } + [Route("/LiveTv/Timers", "POST")] + [Api(Description = "Creates a live tv timer")] + public class CreateTimer : TimerInfoDto, IReturnVoid + { + } + [Route("/LiveTv/SeriesTimers/{Id}", "GET")] [Api(Description = "Gets a live tv series timer")] public class GetSeriesTimer : IReturn<TimerInfoDto> @@ -142,6 +166,12 @@ namespace MediaBrowser.Api.LiveTv { } + [Route("/LiveTv/SeriesTimers", "POST")] + [Api(Description = "Creates a live tv series timer")] + public class CreateSeriesTimer : SeriesTimerInfoDto, IReturnVoid + { + } + public class LiveTvService : BaseApiService { private readonly ILiveTvManager _liveTvManager; @@ -266,7 +296,7 @@ namespace MediaBrowser.Api.LiveTv public object Get(GetSeriesTimers request) { var result = _liveTvManager.GetSeriesTimers(new SeriesTimerQuery - { + { }, CancellationToken.None).Result; @@ -293,5 +323,35 @@ namespace MediaBrowser.Api.LiveTv Task.WaitAll(task); } + + public object Get(GetDefaultTimer request) + { + var result = _liveTvManager.GetNewTimerDefaults(CancellationToken.None).Result; + + return ToOptimizedResult(result); + } + + public object Get(GetProgram request) + { + var user = string.IsNullOrEmpty(request.UserId) ? null : _userManager.GetUserById(new Guid(request.UserId)); + + var result = _liveTvManager.GetProgram(request.Id, CancellationToken.None, user).Result; + + return ToOptimizedResult(result); + } + + public void Post(CreateSeriesTimer request) + { + var task = _liveTvManager.CreateSeriesTimer(request, CancellationToken.None); + + Task.WaitAll(task); + } + + public void Post(CreateTimer request) + { + var task = _liveTvManager.CreateTimer(request, CancellationToken.None); + + Task.WaitAll(task); + } } }
\ No newline at end of file |
