add session view endpoint

This commit is contained in:
dkanada 2020-02-02 00:16:11 +09:00
parent 26dd67a441
commit 1bc8ca2542
3 changed files with 25 additions and 5 deletions

View File

@ -1686,18 +1686,18 @@ namespace Emby.Server.Implementations.Session
throw new ArgumentNullException(nameof(itemId)); throw new ArgumentNullException(nameof(itemId));
} }
//var item = _libraryManager.GetItemById(new Guid(itemId)); var item = _libraryManager.GetItemById(new Guid(itemId));
//var info = GetItemInfo(item, null, null); var info = GetItemInfo(item, null);
//ReportNowViewingItem(sessionId, info); ReportNowViewingItem(sessionId, info);
} }
public void ReportNowViewingItem(string sessionId, BaseItemDto item) public void ReportNowViewingItem(string sessionId, BaseItemDto item)
{ {
//var session = GetSession(sessionId); var session = GetSession(sessionId);
//session.NowViewingItem = item; session.NowViewingItem = item;
} }
public void ReportTranscodingInfo(string deviceId, TranscodingInfo info) public void ReportTranscodingInfo(string deviceId, TranscodingInfo info)

View File

@ -230,6 +230,17 @@ namespace MediaBrowser.Api.Session
public string Id { get; set; } public string Id { get; set; }
} }
[Route("/Sessions/Viewing", "POST", Summary = "Reports that a session is viewing an item")]
[Authenticated]
public class ReportViewing : IReturnVoid
{
[ApiMember(Name = "SessionId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")]
public string SessionId { get; set; }
[ApiMember(Name = "ItemId", Description = "Item Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")]
public string ItemId { get; set; }
}
[Route("/Sessions/Logout", "POST", Summary = "Reports that a session has ended")] [Route("/Sessions/Logout", "POST", Summary = "Reports that a session has ended")]
[Authenticated] [Authenticated]
public class ReportSessionEnded : IReturnVoid public class ReportSessionEnded : IReturnVoid
@ -536,5 +547,12 @@ namespace MediaBrowser.Api.Session
_sessionManager.ReportCapabilities(request.Id, request); _sessionManager.ReportCapabilities(request.Id, request);
} }
public void Post(ReportViewing request)
{
request.SessionId = GetSession(_sessionContext).Id;
_sessionManager.ReportNowViewingItem(request.SessionId, request.ItemId);
}
} }
} }

View File

@ -106,6 +106,8 @@ namespace MediaBrowser.Controller.Session
public BaseItem FullNowPlayingItem { get; set; } public BaseItem FullNowPlayingItem { get; set; }
public BaseItemDto NowViewingItem { get; set; }
/// <summary> /// <summary>
/// Gets or sets the device id. /// Gets or sets the device id.
/// </summary> /// </summary>