aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/Library/LibraryService.cs15
-rw-r--r--MediaBrowser.Api/Session/SessionsService.cs33
-rw-r--r--MediaBrowser.Api/StartupWizardService.cs35
-rw-r--r--MediaBrowser.Api/VideosService.cs6
4 files changed, 50 insertions, 39 deletions
diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs
index 6152ea20b8..a036a00a6e 100644
--- a/MediaBrowser.Api/Library/LibraryService.cs
+++ b/MediaBrowser.Api/Library/LibraryService.cs
@@ -335,7 +335,8 @@ namespace MediaBrowser.Api.Library
Fields = request.Fields,
Id = request.Id,
Limit = request.Limit,
- UserId = request.UserId
+ UserId = request.UserId,
+ ImageTypeLimit = request.ImageTypeLimit
});
}
if (item is MusicAlbum)
@@ -350,7 +351,8 @@ namespace MediaBrowser.Api.Library
Id = request.Id,
Limit = request.Limit,
UserId = request.UserId,
- ExcludeArtistIds = request.ExcludeArtistIds
+ ExcludeArtistIds = request.ExcludeArtistIds,
+ ImageTypeLimit = request.ImageTypeLimit
});
}
if (item is MusicArtist)
@@ -364,7 +366,8 @@ namespace MediaBrowser.Api.Library
Fields = request.Fields,
Id = request.Id,
Limit = request.Limit,
- UserId = request.UserId
+ UserId = request.UserId,
+ ImageTypeLimit = request.ImageTypeLimit
});
}
@@ -381,7 +384,8 @@ namespace MediaBrowser.Api.Library
Fields = request.Fields,
Id = request.Id,
Limit = request.Limit,
- UserId = request.UserId
+ UserId = request.UserId,
+ ImageTypeLimit = request.ImageTypeLimit
});
}
@@ -396,7 +400,8 @@ namespace MediaBrowser.Api.Library
Fields = request.Fields,
Id = request.Id,
Limit = request.Limit,
- UserId = request.UserId
+ UserId = request.UserId,
+ ImageTypeLimit = request.ImageTypeLimit
});
}
diff --git a/MediaBrowser.Api/Session/SessionsService.cs b/MediaBrowser.Api/Session/SessionsService.cs
index e961f9d516..35c29cd15b 100644
--- a/MediaBrowser.Api/Session/SessionsService.cs
+++ b/MediaBrowser.Api/Session/SessionsService.cs
@@ -66,7 +66,7 @@ namespace MediaBrowser.Api.Session
[Route("/Sessions/{Id}/Playing", "POST", Summary = "Instructs a session to play an item")]
[Authenticated]
- public class Play : IReturnVoid
+ public class Play : PlayRequest
{
/// <summary>
/// Gets or sets the id.
@@ -74,27 +74,6 @@ namespace MediaBrowser.Api.Session
/// <value>The id.</value>
[ApiMember(Name = "Id", Description = "Session Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string Id { get; set; }
-
- /// <summary>
- /// Artist, Genre, Studio, Person, or any kind of BaseItem
- /// </summary>
- /// <value>The type of the item.</value>
- [ApiMember(Name = "ItemIds", Description = "The ids of the items to play, comma delimited", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST", AllowMultiple = true)]
- public string ItemIds { get; set; }
-
- /// <summary>
- /// Gets or sets the start position ticks that the first item should be played at
- /// </summary>
- /// <value>The start position ticks.</value>
- [ApiMember(Name = "StartPositionTicks", Description = "The starting position of the first item.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")]
- public long? StartPositionTicks { get; set; }
-
- /// <summary>
- /// Gets or sets the play command.
- /// </summary>
- /// <value>The play command.</value>
- [ApiMember(Name = "PlayCommand", Description = "The type of play command to issue (PlayNow, PlayNext, PlayLast). Clients who have not yet implemented play next and play last may play now.", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")]
- public PlayCommand PlayCommand { get; set; }
}
[Route("/Sessions/{Id}/Playing/{Command}", "POST", Summary = "Issues a playstate command to a client")]
@@ -471,15 +450,7 @@ namespace MediaBrowser.Api.Session
/// <param name="request">The request.</param>
public void Post(Play request)
{
- var command = new PlayRequest
- {
- ItemIds = request.ItemIds.Split(','),
-
- PlayCommand = request.PlayCommand,
- StartPositionTicks = request.StartPositionTicks
- };
-
- var task = _sessionManager.SendPlayCommand(GetSession(_sessionContext).Result.Id, request.Id, command, CancellationToken.None);
+ var task = _sessionManager.SendPlayCommand(GetSession(_sessionContext).Result.Id, request.Id, request, CancellationToken.None);
Task.WaitAll(task);
}
diff --git a/MediaBrowser.Api/StartupWizardService.cs b/MediaBrowser.Api/StartupWizardService.cs
index 1b185b073b..54e4657c11 100644
--- a/MediaBrowser.Api/StartupWizardService.cs
+++ b/MediaBrowser.Api/StartupWizardService.cs
@@ -9,6 +9,8 @@ using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Model.Services;
+using MediaBrowser.Common.Net;
+using System.Threading;
namespace MediaBrowser.Api
{
@@ -50,14 +52,16 @@ namespace MediaBrowser.Api
private readonly IUserManager _userManager;
private readonly IConnectManager _connectManager;
private readonly IMediaEncoder _mediaEncoder;
+ private readonly IHttpClient _httpClient;
- public StartupWizardService(IServerConfigurationManager config, IServerApplicationHost appHost, IUserManager userManager, IConnectManager connectManager, IMediaEncoder mediaEncoder)
+ public StartupWizardService(IServerConfigurationManager config, IHttpClient httpClient, IServerApplicationHost appHost, IUserManager userManager, IConnectManager connectManager, IMediaEncoder mediaEncoder)
{
_config = config;
_appHost = appHost;
_userManager = userManager;
_connectManager = connectManager;
_mediaEncoder = mediaEncoder;
+ _httpClient = httpClient;
}
public void Post(ReportStartupWizardComplete request)
@@ -65,6 +69,35 @@ namespace MediaBrowser.Api
_config.Configuration.IsStartupWizardCompleted = true;
_config.SetOptimalValues();
_config.SaveConfiguration();
+
+ Task.Run(UpdateStats);
+ }
+
+ private async Task UpdateStats()
+ {
+ try
+ {
+ var url = string.Format("http://www.mb3admin.com/admin/service/package/installed?mac={0}&product=MBServer&operation=Install&version={1}",
+ _appHost.SystemId,
+ _appHost.ApplicationVersion.ToString());
+
+ using (var response = await _httpClient.SendAsync(new HttpRequestOptions
+ {
+
+ Url = url,
+ CancellationToken = CancellationToken.None,
+ LogErrors = false,
+ LogRequest = false
+
+ }, "GET").ConfigureAwait(false))
+ {
+
+ }
+ }
+ catch
+ {
+
+ }
}
public object Get(GetStartupInfo request)
diff --git a/MediaBrowser.Api/VideosService.cs b/MediaBrowser.Api/VideosService.cs
index 3f840dbfa3..3f4bb46f45 100644
--- a/MediaBrowser.Api/VideosService.cs
+++ b/MediaBrowser.Api/VideosService.cs
@@ -114,12 +114,14 @@ namespace MediaBrowser.Api
foreach (var link in video.GetLinkedAlternateVersions())
{
- link.PrimaryVersionId = null;
+ link.SetPrimaryVersionId(null);
+ link.LinkedAlternateVersions = Video.EmptyLinkedChildArray;
link.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
}
video.LinkedAlternateVersions = Video.EmptyLinkedChildArray;
+ video.SetPrimaryVersionId(null);
video.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
}
@@ -174,7 +176,7 @@ namespace MediaBrowser.Api
foreach (var item in items.Where(i => i.Id != primaryVersion.Id))
{
- item.PrimaryVersionId = primaryVersion.Id.ToString("N");
+ item.SetPrimaryVersionId(primaryVersion.Id.ToString("N"));
item.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);