aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/LiveTv/LiveTvService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/LiveTv/LiveTvService.cs')
-rw-r--r--MediaBrowser.Api/LiveTv/LiveTvService.cs37
1 files changed, 34 insertions, 3 deletions
diff --git a/MediaBrowser.Api/LiveTv/LiveTvService.cs b/MediaBrowser.Api/LiveTv/LiveTvService.cs
index cd2126577..f3dcf57e0 100644
--- a/MediaBrowser.Api/LiveTv/LiveTvService.cs
+++ b/MediaBrowser.Api/LiveTv/LiveTvService.cs
@@ -14,12 +14,17 @@ using System.Threading.Tasks;
namespace MediaBrowser.Api.LiveTv
{
+ /// <summary>
+ /// This is insecure right now to avoid windows phone refactoring
+ /// </summary>
[Route("/LiveTv/Info", "GET", Summary = "Gets available live tv services.")]
+ [Authenticated]
public class GetLiveTvInfo : IReturn<LiveTvInfo>
{
}
[Route("/LiveTv/Channels", "GET", Summary = "Gets available live tv channels.")]
+ [Authenticated]
public class GetChannels : IReturn<QueryResult<ChannelInfoDto>>
{
[ApiMember(Name = "Type", Description = "Optional filter by channel type.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
@@ -50,9 +55,13 @@ namespace MediaBrowser.Api.LiveTv
[ApiMember(Name = "IsDisliked", Description = "Filter by channels that are disliked, or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
public bool? IsDisliked { get; set; }
+
+ [ApiMember(Name = "EnableFavoriteSorting", Description = "Incorporate favorite and like status into channel sorting.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
+ public bool EnableFavoriteSorting { get; set; }
}
[Route("/LiveTv/Channels/{Id}", "GET", Summary = "Gets a live tv channel")]
+ [Authenticated]
public class GetChannel : IReturn<ChannelInfoDto>
{
/// <summary>
@@ -67,6 +76,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Recordings", "GET", Summary = "Gets live tv recordings")]
+ [Authenticated]
public class GetRecordings : IReturn<QueryResult<RecordingInfoDto>>
{
[ApiMember(Name = "ChannelId", Description = "Optional filter by channel id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
@@ -95,6 +105,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Recordings/Groups", "GET", Summary = "Gets live tv recording groups")]
+ [Authenticated]
public class GetRecordingGroups : IReturn<QueryResult<RecordingGroupDto>>
{
[ApiMember(Name = "UserId", Description = "Optional filter by user and attach user data.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
@@ -102,6 +113,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Recordings/{Id}", "GET", Summary = "Gets a live tv recording")]
+ [Authenticated]
public class GetRecording : IReturn<RecordingInfoDto>
{
[ApiMember(Name = "Id", Description = "Recording Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@@ -112,6 +124,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Tuners/{Id}/Reset", "POST", Summary = "Resets a tv tuner")]
+ [Authenticated]
public class ResetTuner : IReturnVoid
{
[ApiMember(Name = "Id", Description = "Tuner Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@@ -119,6 +132,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Timers/{Id}", "GET", Summary = "Gets a live tv timer")]
+ [Authenticated]
public class GetTimer : IReturn<TimerInfoDto>
{
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@@ -126,6 +140,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Timers/Defaults", "GET", Summary = "Gets default values for a new timer")]
+ [Authenticated]
public class GetDefaultTimer : IReturn<SeriesTimerInfoDto>
{
[ApiMember(Name = "ProgramId", Description = "Optional, to attach default values based on a program.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
@@ -133,6 +148,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Timers", "GET", Summary = "Gets live tv timers")]
+ [Authenticated]
public class GetTimers : IReturn<QueryResult<TimerInfoDto>>
{
[ApiMember(Name = "ChannelId", Description = "Optional filter by channel id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
@@ -143,6 +159,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Programs", "GET,POST", Summary = "Gets available live tv epgs..")]
+ [Authenticated]
public class GetPrograms : IReturn<QueryResult<ProgramInfoDto>>
{
[ApiMember(Name = "ChannelIds", Description = "The channels to return guide information for.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET,POST")]
@@ -165,6 +182,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Programs/Recommended", "GET", Summary = "Gets available live tv epgs..")]
+ [Authenticated]
public class GetRecommendedPrograms : IReturn<QueryResult<ProgramInfoDto>>
{
[ApiMember(Name = "UserId", Description = "Optional filter by user id.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET,POST")]
@@ -181,6 +199,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Programs/{Id}", "GET", Summary = "Gets a live tv program")]
+ [Authenticated]
public class GetProgram : IReturn<ProgramInfoDto>
{
[ApiMember(Name = "Id", Description = "Program Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@@ -192,6 +211,7 @@ namespace MediaBrowser.Api.LiveTv
[Route("/LiveTv/Recordings/{Id}", "DELETE", Summary = "Deletes a live tv recording")]
+ [Authenticated]
public class DeleteRecording : IReturnVoid
{
[ApiMember(Name = "Id", Description = "Recording Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@@ -199,6 +219,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Timers/{Id}", "DELETE", Summary = "Cancels a live tv timer")]
+ [Authenticated]
public class CancelTimer : IReturnVoid
{
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@@ -206,16 +227,19 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/Timers/{Id}", "POST", Summary = "Updates a live tv timer")]
+ [Authenticated]
public class UpdateTimer : TimerInfoDto, IReturnVoid
{
}
[Route("/LiveTv/Timers", "POST", Summary = "Creates a live tv timer")]
+ [Authenticated]
public class CreateTimer : TimerInfoDto, IReturnVoid
{
}
[Route("/LiveTv/SeriesTimers/{Id}", "GET", Summary = "Gets a live tv series timer")]
+ [Authenticated]
public class GetSeriesTimer : IReturn<TimerInfoDto>
{
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@@ -223,6 +247,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/SeriesTimers", "GET", Summary = "Gets live tv series timers")]
+ [Authenticated]
public class GetSeriesTimers : IReturn<QueryResult<SeriesTimerInfoDto>>
{
[ApiMember(Name = "SortBy", Description = "Optional. Sort by SortName or Priority", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET,POST")]
@@ -233,6 +258,7 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/SeriesTimers/{Id}", "DELETE", Summary = "Cancels a live tv series timer")]
+ [Authenticated]
public class CancelSeriesTimer : IReturnVoid
{
[ApiMember(Name = "Id", Description = "Timer Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@@ -240,16 +266,19 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/SeriesTimers/{Id}", "POST", Summary = "Updates a live tv series timer")]
+ [Authenticated]
public class UpdateSeriesTimer : SeriesTimerInfoDto, IReturnVoid
{
}
[Route("/LiveTv/SeriesTimers", "POST", Summary = "Creates a live tv series timer")]
+ [Authenticated]
public class CreateSeriesTimer : SeriesTimerInfoDto, IReturnVoid
{
}
[Route("/LiveTv/Recordings/Groups/{Id}", "GET", Summary = "Gets a recording group")]
+ [Authenticated]
public class GetRecordingGroup : IReturn<RecordingGroupDto>
{
[ApiMember(Name = "Id", Description = "Recording group Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
@@ -257,18 +286,19 @@ namespace MediaBrowser.Api.LiveTv
}
[Route("/LiveTv/GuideInfo", "GET", Summary = "Gets guide info")]
+ [Authenticated]
public class GetGuideInfo : IReturn<GuideInfo>
{
}
[Route("/LiveTv/Folder", "GET", Summary = "Gets the users live tv folder, along with configured images")]
+ [Authenticated]
public class GetLiveTvFolder : IReturn<BaseItemDto>
{
[ApiMember(Name = "UserId", Description = "Optional attach user data.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public string UserId { get; set; }
}
- [Authenticated]
public class LiveTvService : BaseApiService
{
private readonly ILiveTvManager _liveTvManager;
@@ -289,7 +319,7 @@ namespace MediaBrowser.Api.LiveTv
throw new UnauthorizedAccessException("Anonymous live tv management is not allowed.");
}
- if (!user.Configuration.EnableLiveTvManagement)
+ if (!user.Policy.EnableLiveTvManagement)
{
throw new UnauthorizedAccessException("The current user does not have permission to manage live tv.");
}
@@ -312,7 +342,8 @@ namespace MediaBrowser.Api.LiveTv
Limit = request.Limit,
IsFavorite = request.IsFavorite,
IsLiked = request.IsLiked,
- IsDisliked = request.IsDisliked
+ IsDisliked = request.IsDisliked,
+ EnableFavoriteSorting = request.EnableFavoriteSorting
}, CancellationToken.None).ConfigureAwait(false);