Files
ersatztv/ErsatzTV/Controllers/HdhrController.cs
T
8488fe5d3d Used a UUID in HDHomeRun config to allow multiple instances on a same network (#1810)
* Used a UUID in HDHomeRun config to allow multiple instances on a same network

* tweak some async calls

* try to fix line endings

---------

Co-authored-by: Jason Dove <1695733+jasongdove@users.noreply.github.com>
2024-07-27 08:51:45 -05:00

38 lines
1.2 KiB
C#

using ErsatzTV.Application.Channels;
using ErsatzTV.Application.HDHR;
using ErsatzTV.Core.Hdhr;
using ErsatzTV.Extensions;
using MediatR;
using Microsoft.AspNetCore.Mvc;
namespace ErsatzTV.Controllers;
[ApiController]
[ApiExplorerSettings(IgnoreApi = true)]
public class HdhrController(IMediator mediator) : ControllerBase
{
[HttpGet("device.xml")]
public async Task<IActionResult> DeviceXml()
{
Guid uuid = await mediator.Send(new GetHDHRUUID());
return new OkObjectResult(new DeviceXml(Request.Scheme, Request.Host.ToString(), uuid));
}
[HttpGet("discover.json")]
[ResponseCache(NoStore = true)]
public async Task<IActionResult> Discover()
{
Guid uuid = await mediator.Send(new GetHDHRUUID());
int tunerCount = await mediator.Send(new GetHDHRTunerCount());
return new OkObjectResult(new Discover(Request.Scheme, Request.Host.ToString(), tunerCount, uuid));
}
[HttpGet("lineup_status.json")]
public IActionResult LineupStatus() =>
new OkObjectResult(new LineupStatus());
[HttpGet("lineup.json")]
public Task<IActionResult> Lineup() =>
mediator.Send(new GetChannelLineup(Request.Scheme, Request.Host.ToString())).ToActionResult();
}