|
|
|
@ -1,5 +1,3 @@
|
|
|
|
|
#pragma warning disable CA1801
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
@ -184,8 +182,9 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
/// Issues a playstate command to a client.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sessionId">The session id.</param>
|
|
|
|
|
/// <param name="command">The <see cref="PlayCommand"/>.</param>
|
|
|
|
|
/// <param name="playstateRequest">The <see cref="PlaystateRequest"/>.</param>
|
|
|
|
|
/// <param name="command">The <see cref="PlaystateCommand"/>.</param>
|
|
|
|
|
/// <param name="seekPositionTicks">The optional position ticks.</param>
|
|
|
|
|
/// <param name="controllingUserId">The optional controlling user id.</param>
|
|
|
|
|
/// <response code="204">Playstate command sent to session.</response>
|
|
|
|
|
/// <returns>A <see cref="NoContentResult"/>.</returns>
|
|
|
|
|
[HttpPost("Sessions/{sessionId}/Playing/{command}")]
|
|
|
|
@ -193,13 +192,19 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
|
|
|
|
public ActionResult SendPlaystateCommand(
|
|
|
|
|
[FromRoute, Required] string sessionId,
|
|
|
|
|
[FromRoute, Required] PlayCommand command,
|
|
|
|
|
[FromQuery] PlaystateRequest playstateRequest)
|
|
|
|
|
[FromRoute, Required] PlaystateCommand command,
|
|
|
|
|
[FromQuery] long? seekPositionTicks,
|
|
|
|
|
[FromQuery] string? controllingUserId)
|
|
|
|
|
{
|
|
|
|
|
_sessionManager.SendPlaystateCommand(
|
|
|
|
|
RequestHelpers.GetSession(_sessionManager, _authContext, Request).Id,
|
|
|
|
|
sessionId,
|
|
|
|
|
playstateRequest,
|
|
|
|
|
new PlaystateRequest()
|
|
|
|
|
{
|
|
|
|
|
Command = command,
|
|
|
|
|
ControllingUserId = controllingUserId,
|
|
|
|
|
SeekPositionTicks = seekPositionTicks,
|
|
|
|
|
},
|
|
|
|
|
CancellationToken.None);
|
|
|
|
|
|
|
|
|
|
return NoContent();
|
|
|
|
@ -436,9 +441,9 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
|
|
|
|
public ActionResult ReportViewing(
|
|
|
|
|
[FromQuery] string? sessionId,
|
|
|
|
|
[FromQuery] string? itemId)
|
|
|
|
|
[FromQuery, Required] string? itemId)
|
|
|
|
|
{
|
|
|
|
|
string session = RequestHelpers.GetSession(_sessionManager, _authContext, Request).Id;
|
|
|
|
|
string session = sessionId ?? RequestHelpers.GetSession(_sessionManager, _authContext, Request).Id;
|
|
|
|
|
|
|
|
|
|
_sessionManager.ReportNowViewingItem(session, itemId);
|
|
|
|
|
return NoContent();
|
|
|
|
|