aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/ConnectService.cs63
-rw-r--r--MediaBrowser.Api/Library/LibraryStructureService.cs2
-rw-r--r--MediaBrowser.Api/LiveTv/LiveTvService.cs6
-rw-r--r--MediaBrowser.Api/MediaBrowser.Api.csproj1
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs2
-rw-r--r--MediaBrowser.Api/PlaylistService.cs2
-rw-r--r--MediaBrowser.Api/TvShowsService.cs2
-rw-r--r--MediaBrowser.Api/UserLibrary/PlaystateService.cs4
-rw-r--r--MediaBrowser.Api/UserLibrary/UserLibraryService.cs2
9 files changed, 74 insertions, 10 deletions
diff --git a/MediaBrowser.Api/ConnectService.cs b/MediaBrowser.Api/ConnectService.cs
new file mode 100644
index 000000000..80f6d4810
--- /dev/null
+++ b/MediaBrowser.Api/ConnectService.cs
@@ -0,0 +1,63 @@
+using System.Threading.Tasks;
+using MediaBrowser.Controller.Connect;
+using MediaBrowser.Controller.Net;
+using ServiceStack;
+
+namespace MediaBrowser.Api
+{
+ [Route("/Users/{Id}/Connect/Info", "GET", Summary = "Gets connect info for a user")]
+ public class GetConnectUserInfo : IReturn<ConnectUserLink>
+ {
+ [ApiMember(Name = "Id", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "GET")]
+ public string Id { get; set; }
+ }
+
+ [Route("/Users/{Id}/Connect/Link", "POST", Summary = "Creates a Connect link for a user")]
+ public class CreateConnectLink : IReturn<ConnectUserLink>
+ {
+ [ApiMember(Name = "Id", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")]
+ public string Id { get; set; }
+
+ [ApiMember(Name = "ConnectUsername", Description = "Connect username", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")]
+ public string ConnectUsername { get; set; }
+ }
+
+ [Route("/Users/{Id}/Connect/Link", "DELETE", Summary = "Removes a Connect link for a user")]
+ public class DeleteConnectLink : IReturn<ConnectUserLink>
+ {
+ [ApiMember(Name = "Id", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "DELETE")]
+ public string Id { get; set; }
+ }
+
+ [Authenticated]
+ public class ConnectService : BaseApiService
+ {
+ private readonly IConnectManager _connectManager;
+
+ public ConnectService(IConnectManager connectManager)
+ {
+ _connectManager = connectManager;
+ }
+
+ public object Get(GetConnectUserInfo request)
+ {
+ var result = _connectManager.GetUserInfo(request.Id);
+
+ return ToOptimizedResult(result);
+ }
+
+ public void Post(CreateConnectLink request)
+ {
+ var task = _connectManager.LinkUser(request.Id, request.ConnectUsername);
+
+ Task.WaitAll(task);
+ }
+
+ public void Delete(DeleteConnectLink request)
+ {
+ var task = _connectManager.RemoveLink(request.Id);
+
+ Task.WaitAll(task);
+ }
+ }
+}
diff --git a/MediaBrowser.Api/Library/LibraryStructureService.cs b/MediaBrowser.Api/Library/LibraryStructureService.cs
index c3ef58768..f56daca1e 100644
--- a/MediaBrowser.Api/Library/LibraryStructureService.cs
+++ b/MediaBrowser.Api/Library/LibraryStructureService.cs
@@ -195,7 +195,7 @@ namespace MediaBrowser.Api.Library
}
else
{
- var user = _userManager.GetUserById(new Guid(request.UserId));
+ var user = _userManager.GetUserById(request.UserId);
var result = _libraryManager.GetVirtualFolders(user).OrderBy(i => i.Name).ToList();
diff --git a/MediaBrowser.Api/LiveTv/LiveTvService.cs b/MediaBrowser.Api/LiveTv/LiveTvService.cs
index 35420c936..cd2126577 100644
--- a/MediaBrowser.Api/LiveTv/LiveTvService.cs
+++ b/MediaBrowser.Api/LiveTv/LiveTvService.cs
@@ -321,7 +321,7 @@ namespace MediaBrowser.Api.LiveTv
public async Task<object> Get(GetChannel request)
{
- var user = string.IsNullOrEmpty(request.UserId) ? null : _userManager.GetUserById(new Guid(request.UserId));
+ var user = string.IsNullOrEmpty(request.UserId) ? null : _userManager.GetUserById(request.UserId);
var result = await _liveTvManager.GetChannel(request.Id, CancellationToken.None, user).ConfigureAwait(false);
@@ -406,7 +406,7 @@ namespace MediaBrowser.Api.LiveTv
public async Task<object> Get(GetRecording request)
{
- var user = string.IsNullOrEmpty(request.UserId) ? null : _userManager.GetUserById(new Guid(request.UserId));
+ var user = string.IsNullOrEmpty(request.UserId) ? null : _userManager.GetUserById(request.UserId);
var result = await _liveTvManager.GetRecording(request.Id, CancellationToken.None, user).ConfigureAwait(false);
@@ -514,7 +514,7 @@ namespace MediaBrowser.Api.LiveTv
public async Task<object> Get(GetProgram request)
{
- var user = string.IsNullOrEmpty(request.UserId) ? null : _userManager.GetUserById(new Guid(request.UserId));
+ var user = string.IsNullOrEmpty(request.UserId) ? null : _userManager.GetUserById(request.UserId);
var result = await _liveTvManager.GetProgram(request.Id, CancellationToken.None, user).ConfigureAwait(false);
diff --git a/MediaBrowser.Api/MediaBrowser.Api.csproj b/MediaBrowser.Api/MediaBrowser.Api.csproj
index 5cb9ebb1b..db939366a 100644
--- a/MediaBrowser.Api/MediaBrowser.Api.csproj
+++ b/MediaBrowser.Api/MediaBrowser.Api.csproj
@@ -70,6 +70,7 @@
</Compile>
<Compile Include="BrandingService.cs" />
<Compile Include="ChannelService.cs" />
+ <Compile Include="ConnectService.cs" />
<Compile Include="Dlna\DlnaServerService.cs" />
<Compile Include="Dlna\DlnaService.cs" />
<Compile Include="Library\ChapterService.cs" />
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index 9a4b500d8..f1b84875d 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -784,7 +784,7 @@ namespace MediaBrowser.Api.Playback
get
{
#if __MonoCS__
- return false;
+ return true;
#endif
try
diff --git a/MediaBrowser.Api/PlaylistService.cs b/MediaBrowser.Api/PlaylistService.cs
index 5f4ced12e..1318b322a 100644
--- a/MediaBrowser.Api/PlaylistService.cs
+++ b/MediaBrowser.Api/PlaylistService.cs
@@ -137,7 +137,7 @@ namespace MediaBrowser.Api
public object Get(GetPlaylistItems request)
{
var playlist = (Playlist)_libraryManager.GetItemById(request.Id);
- var user = !string.IsNullOrWhiteSpace(request.UserId) ? _userManager.GetUserById(new Guid(request.UserId)) : null;
+ var user = !string.IsNullOrWhiteSpace(request.UserId) ? _userManager.GetUserById(request.UserId) : null;
var items = playlist.GetManageableItems().ToArray();
diff --git a/MediaBrowser.Api/TvShowsService.cs b/MediaBrowser.Api/TvShowsService.cs
index 20a3d3837..f3df6c7b0 100644
--- a/MediaBrowser.Api/TvShowsService.cs
+++ b/MediaBrowser.Api/TvShowsService.cs
@@ -282,7 +282,7 @@ namespace MediaBrowser.Api
UserId = request.UserId
});
- var user = _userManager.GetUserById(new Guid(request.UserId));
+ var user = _userManager.GetUserById(request.UserId);
var fields = request.GetItemFields().ToList();
diff --git a/MediaBrowser.Api/UserLibrary/PlaystateService.cs b/MediaBrowser.Api/UserLibrary/PlaystateService.cs
index 2abb76dc8..874d2bfa1 100644
--- a/MediaBrowser.Api/UserLibrary/PlaystateService.cs
+++ b/MediaBrowser.Api/UserLibrary/PlaystateService.cs
@@ -245,7 +245,7 @@ namespace MediaBrowser.Api.UserLibrary
foreach (var additionalUserInfo in session.AdditionalUsers)
{
- var additionalUser = _userManager.GetUserById(new Guid(additionalUserInfo.UserId));
+ var additionalUser = _userManager.GetUserById(additionalUserInfo.UserId);
await UpdatePlayedStatus(additionalUser, request.Id, true, datePlayed).ConfigureAwait(false);
}
@@ -353,7 +353,7 @@ namespace MediaBrowser.Api.UserLibrary
foreach (var additionalUserInfo in session.AdditionalUsers)
{
- var additionalUser = _userManager.GetUserById(new Guid(additionalUserInfo.UserId));
+ var additionalUser = _userManager.GetUserById(additionalUserInfo.UserId);
await UpdatePlayedStatus(additionalUser, request.Id, false, null).ConfigureAwait(false);
}
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
index 44b5b0e9b..8414241d5 100644
--- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
+++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
@@ -402,7 +402,7 @@ namespace MediaBrowser.Api.UserLibrary
public async Task<object> Get(GetUserViews request)
{
- var user = _userManager.GetUserById(new Guid(request.UserId));
+ var user = _userManager.GetUserById(request.UserId);
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();