using ErsatzTV.Application.MediaSources; using ErsatzTV.Core.Api.MediaSources; using MediatR; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace ErsatzTV.Controllers.Api; [ApiController] public class MediaSourcesController(IMediator mediator) : ControllerBase { [HttpGet("/api/media-sources", Name = "GetMediaSources")] [Tags("Media Sources")] [EndpointSummary("Get all media sources with their libraries")] [EndpointGroupName("general")] [ProducesResponseType(typeof(List), StatusCodes.Status200OK)] public async Task> GetAll(CancellationToken cancellationToken) => await mediator.Send(new GetAllMediaSourcesForApi(), cancellationToken); }