aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/Devices/DeviceService.cs28
-rw-r--r--MediaBrowser.Api/Music/InstantMixService.cs17
-rw-r--r--MediaBrowser.Api/Session/SessionsService.cs11
3 files changed, 28 insertions, 28 deletions
diff --git a/MediaBrowser.Api/Devices/DeviceService.cs b/MediaBrowser.Api/Devices/DeviceService.cs
index 135397308..ab0a4a4b2 100644
--- a/MediaBrowser.Api/Devices/DeviceService.cs
+++ b/MediaBrowser.Api/Devices/DeviceService.cs
@@ -1,25 +1,19 @@
using MediaBrowser.Controller.Devices;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Devices;
+using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Session;
using ServiceStack;
using ServiceStack.Web;
-using System.Collections.Generic;
using System.IO;
-using System.Linq;
using System.Threading.Tasks;
namespace MediaBrowser.Api.Devices
{
[Route("/Devices", "GET", Summary = "Gets all devices")]
[Authenticated(Roles = "Admin")]
- public class GetDevices : IReturn<List<DeviceInfo>>
+ public class GetDevices : DeviceQuery, IReturn<QueryResult<DeviceInfo>>
{
- [ApiMember(Name = "SupportsContentUploading", Description = "SupportsContentUploading", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
- public bool? SupportsContentUploading { get; set; }
-
- [ApiMember(Name = "SupportsDeviceId", Description = "SupportsDeviceId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
- public bool? SupportsDeviceId { get; set; }
}
[Route("/Devices", "DELETE", Summary = "Deletes a device")]
@@ -112,23 +106,7 @@ namespace MediaBrowser.Api.Devices
public object Get(GetDevices request)
{
- var devices = _deviceManager.GetDevices();
-
- if (request.SupportsContentUploading.HasValue)
- {
- var val = request.SupportsContentUploading.Value;
-
- devices = devices.Where(i => _deviceManager.GetCapabilities(i.Id).SupportsContentUploading == val);
- }
-
- if (request.SupportsDeviceId.HasValue)
- {
- var val = request.SupportsDeviceId.Value;
-
- devices = devices.Where(i => _deviceManager.GetCapabilities(i.Id).SupportsDeviceId == val);
- }
-
- return ToOptimizedResult(devices.ToList());
+ return ToOptimizedResult(_deviceManager.GetDevices(request));
}
public object Get(GetCameraUploads request)
diff --git a/MediaBrowser.Api/Music/InstantMixService.cs b/MediaBrowser.Api/Music/InstantMixService.cs
index f34242242..43fd0894b 100644
--- a/MediaBrowser.Api/Music/InstantMixService.cs
+++ b/MediaBrowser.Api/Music/InstantMixService.cs
@@ -3,6 +3,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Net;
+using MediaBrowser.Controller.Playlists;
using MediaBrowser.Model.Querying;
using ServiceStack;
using System.Collections.Generic;
@@ -20,6 +21,11 @@ namespace MediaBrowser.Api.Music
{
}
+ [Route("/Playlists/{Id}/InstantMix", "GET", Summary = "Creates an instant playlist based on a given playlist")]
+ public class GetInstantMixFromPlaylist : BaseGetSimilarItemsFromItem
+ {
+ }
+
[Route("/Artists/{Name}/InstantMix", "GET", Summary = "Creates an instant playlist based on a given artist")]
public class GetInstantMixFromArtist : BaseGetSimilarItems
{
@@ -109,6 +115,17 @@ namespace MediaBrowser.Api.Music
return GetResult(items, user, request);
}
+ public object Get(GetInstantMixFromPlaylist request)
+ {
+ var playlist = (Playlist)_libraryManager.GetItemById(request.Id);
+
+ var user = _userManager.GetUserById(request.UserId.Value);
+
+ var items = _musicManager.GetInstantMixFromPlaylist(playlist, user);
+
+ return GetResult(items, user, request);
+ }
+
public object Get(GetInstantMixFromMusicGenre request)
{
var user = _userManager.GetUserById(request.UserId.Value);
diff --git a/MediaBrowser.Api/Session/SessionsService.cs b/MediaBrowser.Api/Session/SessionsService.cs
index 551771338..df50255ab 100644
--- a/MediaBrowser.Api/Session/SessionsService.cs
+++ b/MediaBrowser.Api/Session/SessionsService.cs
@@ -239,8 +239,11 @@ namespace MediaBrowser.Api.Session
[ApiMember(Name = "SupportsContentUploading", Description = "Determines whether camera upload is supported.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "POST")]
public bool SupportsContentUploading { get; set; }
- [ApiMember(Name = "SupportsDeviceId", Description = "Determines whether the device supports a unique identifier.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "POST")]
- public bool SupportsDeviceId { get; set; }
+ [ApiMember(Name = "SupportsSync", Description = "Determines whether sync is supported.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "POST")]
+ public bool SupportsSync { get; set; }
+
+ [ApiMember(Name = "SupportsUniqueIdentifier", Description = "Determines whether the device supports a unique identifier.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "POST")]
+ public bool SupportsUniqueIdentifier { get; set; }
}
[Route("/Sessions/Logout", "POST", Summary = "Reports that a session has ended")]
@@ -521,7 +524,9 @@ namespace MediaBrowser.Api.Session
SupportsContentUploading = request.SupportsContentUploading,
- SupportsDeviceId = request.SupportsDeviceId
+ SupportsSync = request.SupportsSync,
+
+ SupportsUniqueIdentifier = request.SupportsUniqueIdentifier
});
}
}