diff options
Diffstat (limited to 'MediaBrowser.Api/LiveTv/LiveTvService.cs')
| -rw-r--r-- | MediaBrowser.Api/LiveTv/LiveTvService.cs | 37 |
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); |
