aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-12-14 20:17:57 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-12-14 20:17:57 -0500
commit01e65c93eeeddff27fc2e0e4833678c5cc2829a0 (patch)
tree628d2359e6d723c8f9f8865104e518add252bee1 /MediaBrowser.Api
parentd576108411d254afcbefa627cea6a2d3585ab823 (diff)
updated live tv + nuget
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/Images/ImageService.cs2
-rw-r--r--MediaBrowser.Api/LiveTv/LiveTvService.cs76
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