diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-12-14 20:17:57 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-12-14 20:17:57 -0500 |
| commit | 01e65c93eeeddff27fc2e0e4833678c5cc2829a0 (patch) | |
| tree | 628d2359e6d723c8f9f8865104e518add252bee1 /MediaBrowser.Api | |
| parent | d576108411d254afcbefa627cea6a2d3585ab823 (diff) | |
updated live tv + nuget
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/Images/ImageService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/LiveTv/LiveTvService.cs | 76 |
2 files changed, 69 insertions, 9 deletions
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs index 2de78d75b..ba6809f4d 100644 --- a/MediaBrowser.Api/Images/ImageService.cs +++ b/MediaBrowser.Api/Images/ImageService.cs @@ -796,6 +796,8 @@ namespace MediaBrowser.Api.Images /// <param name="file2">The file2.</param> private void SwapFiles(string file1, string file2) { + Directory.CreateDirectory(_appPaths.TempDirectory); + var temp1 = Path.Combine(_appPaths.TempDirectory, Guid.NewGuid() + ".tmp"); var temp2 = Path.Combine(_appPaths.TempDirectory, Guid.NewGuid() + ".tmp"); diff --git a/MediaBrowser.Api/LiveTv/LiveTvService.cs b/MediaBrowser.Api/LiveTv/LiveTvService.cs index 9e83a56de..979088ee0 100644 --- a/MediaBrowser.Api/LiveTv/LiveTvService.cs +++ b/MediaBrowser.Api/LiveTv/LiveTvService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller.LiveTv; +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.LiveTv; using MediaBrowser.Model.LiveTv; using MediaBrowser.Model.Querying; using ServiceStack; @@ -23,7 +24,7 @@ namespace MediaBrowser.Api.LiveTv [ApiMember(Name = "Type", Description = "Optional filter by channel type.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public ChannelType? Type { get; set; } - [ApiMember(Name = "UserId", Description = "Optional filter by user id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] + [ApiMember(Name = "UserId", Description = "Optional filter by user and attach user data.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string UserId { get; set; } } @@ -38,7 +39,7 @@ namespace MediaBrowser.Api.LiveTv [ApiMember(Name = "Id", Description = "Channel Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] public string Id { get; set; } - [ApiMember(Name = "UserId", Description = "Optional user id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] + [ApiMember(Name = "UserId", Description = "Optional attach user data.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string UserId { get; set; } } @@ -48,6 +49,9 @@ namespace MediaBrowser.Api.LiveTv { [ApiMember(Name = "ChannelId", Description = "Optional filter by channel id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string ChannelId { get; set; } + + [ApiMember(Name = "UserId", Description = "Optional filter by user and attach user data.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] + public string UserId { get; set; } } [Route("/LiveTv/Recordings/{Id}", "GET")] @@ -56,6 +60,9 @@ namespace MediaBrowser.Api.LiveTv { [ApiMember(Name = "Id", Description = "Recording 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/Timers/{Id}", "GET")] @@ -100,14 +107,36 @@ namespace MediaBrowser.Api.LiveTv [ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] public string Id { get; set; } } - + + [Route("/LiveTv/Timers/{Id}", "POST")] + [Api(Description = "Updates a live tv timer")] + public class UpdateTimer : TimerInfoDto, IReturnVoid + { + } + + [Route("/LiveTv/Timers/{Id}", "GET")] + [Api(Description = "Gets a live tv series timer")] + public class GetSeriesTimer : IReturn<TimerInfoDto> + { + [ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] + public string Id { get; set; } + } + + [Route("/LiveTv/SeriesTimers", "GET")] + [Api(Description = "Gets live tv series timers")] + public class GetSeriesTimers : IReturn<QueryResult<SeriesTimerInfoDto>> + { + } + public class LiveTvService : BaseApiService { private readonly ILiveTvManager _liveTvManager; + private readonly IUserManager _userManager; - public LiveTvService(ILiveTvManager liveTvManager) + public LiveTvService(ILiveTvManager liveTvManager, IUserManager userManager) { _liveTvManager = liveTvManager; + _userManager = userManager; } public object Get(GetServices request) @@ -134,14 +163,16 @@ namespace MediaBrowser.Api.LiveTv ChannelType = request.Type, UserId = request.UserId - }); + }, CancellationToken.None).Result; return ToOptimizedResult(result); } public object Get(GetChannel request) { - var result = _liveTvManager.GetChannelInfoDto(request.Id, request.UserId); + var user = string.IsNullOrEmpty(request.UserId) ? null : _userManager.GetUserById(new Guid(request.UserId)); + + var result = _liveTvManager.GetChannel(request.Id, CancellationToken.None, user).Result; return ToOptimizedResult(result); } @@ -162,7 +193,8 @@ namespace MediaBrowser.Api.LiveTv { var result = _liveTvManager.GetRecordings(new RecordingQuery { - ChannelId = request.ChannelId + ChannelId = request.ChannelId, + UserId = request.UserId }, CancellationToken.None).Result; @@ -171,7 +203,9 @@ namespace MediaBrowser.Api.LiveTv public object Get(GetRecording request) { - var result = _liveTvManager.GetRecording(request.Id, CancellationToken.None).Result; + var user = string.IsNullOrEmpty(request.UserId) ? null : _userManager.GetUserById(new Guid(request.UserId)); + + var result = _liveTvManager.GetRecording(request.Id, CancellationToken.None, user).Result; return ToOptimizedResult(result); } @@ -207,5 +241,29 @@ namespace MediaBrowser.Api.LiveTv Task.WaitAll(task); } + + public void Post(UpdateTimer request) + { + var task = _liveTvManager.UpdateTimer(request, CancellationToken.None); + + Task.WaitAll(task); + } + + public object Get(GetSeriesTimers request) + { + var result = _liveTvManager.GetSeriesTimers(new SeriesTimerQuery + { + + }, CancellationToken.None).Result; + + return ToOptimizedResult(result); + } + + public object Get(GetSeriesTimer request) + { + var result = _liveTvManager.GetSeriesTimer(request.Id, CancellationToken.None).Result; + + return ToOptimizedResult(result); + } } }
\ No newline at end of file |
