aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-11-29 11:58:24 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-11-29 11:58:24 -0500
commit235b838fbe262f3f41cd64c8506d067c9ef9253e (patch)
tree4c210d714cf6a0035c1bda623847d7d7b883a3ed /MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
parent4892fb4e95f982527769620595e924c364204310 (diff)
support deleting and canceling live tv recordings and timers
Diffstat (limited to 'MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs')
-rw-r--r--MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs32
1 files changed, 28 insertions, 4 deletions
diff --git a/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs b/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
index 2674529e5..d17a38e07 100644
--- a/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
+++ b/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
@@ -31,7 +31,8 @@ namespace MediaBrowser.Api.ScheduledTasks
[Api(Description = "Gets scheduled tasks")]
public class GetScheduledTasks : IReturn<List<TaskInfo>>
{
-
+ [ApiMember(Name = "IsHidden", Description = "Optional filter tasks that are hidden, or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
+ public bool? IsHidden { get; set; }
}
/// <summary>
@@ -112,10 +113,33 @@ namespace MediaBrowser.Api.ScheduledTasks
/// <returns>IEnumerable{TaskInfo}.</returns>
public object Get(GetScheduledTasks request)
{
- var result = TaskManager.ScheduledTasks.OrderBy(i => i.Name)
- .Select(ScheduledTaskHelpers.GetTaskInfo).ToList();
+ IEnumerable<IScheduledTaskWorker> result = TaskManager.ScheduledTasks
+ .OrderBy(i => i.Name);
- return ToOptimizedResult(result);
+ if (request.IsHidden.HasValue)
+ {
+ var val = request.IsHidden.Value;
+
+ result = result.Where(i =>
+ {
+ var isHidden = false;
+
+ var configurableTask = i.ScheduledTask as IConfigurableScheduledTask;
+
+ if (configurableTask != null)
+ {
+ isHidden = configurableTask.IsHidden;
+ }
+
+ return isHidden == val;
+ });
+ }
+
+ var infos = result
+ .Select(ScheduledTaskHelpers.GetTaskInfo)
+ .ToList();
+
+ return ToOptimizedResult(infos);
}
/// <summary>