diff options
| author | Michalis Adamidis <gsnerf@gsnerf.de> | 2014-09-14 18:00:44 +0200 |
|---|---|---|
| committer | Michalis Adamidis <gsnerf@gsnerf.de> | 2014-09-14 18:00:44 +0200 |
| commit | 411a0531e0a71b2d458b5b3a8a9951ca763ca09a (patch) | |
| tree | 871614a2cab9da0aa95d1d1f9f350d80fcf56271 /MediaBrowser.Api | |
| parent | 4f3ea6c6c3cdde7f4b8d21dc97c711635d73b4e0 (diff) | |
| parent | 6a177d21478774b3ea1a5adc606935bb3aff65bf (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/ConnectService.cs | 63 | ||||
| -rw-r--r-- | MediaBrowser.Api/Library/LibraryStructureService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/LiveTv/LiveTvService.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Api/MediaBrowser.Api.csproj | 1 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/BaseStreamingService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/PlaylistService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/TvShowsService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/PlaystateService.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/UserLibraryService.cs | 2 |
9 files changed, 74 insertions, 10 deletions
diff --git a/MediaBrowser.Api/ConnectService.cs b/MediaBrowser.Api/ConnectService.cs new file mode 100644 index 0000000000..80f6d4810e --- /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 c3ef587685..f56daca1e7 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 35420c9360..cd21265778 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 5cb9ebb1b0..db939366ad 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 9a4b500d8f..f1b84875d1 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 5f4ced12e6..1318b322ac 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 20a3d38375..f3df6c7b02 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 2abb76dc82..874d2bfa18 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 44b5b0e9b8..8414241d5e 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(); |
