Files
ersatztv/ErsatzTV/Controllers/SortController.cs
T
Jason DoveandGitHub c02b83d0d6 code cleanup (#743)
* update tools

* run code cleanup

* update dependencies
2022-04-19 17:47:18 -05:00

32 lines
872 B
C#

using ErsatzTV.Application.MediaCollections;
using MediatR;
using Microsoft.AspNetCore.Mvc;
namespace ErsatzTV.Controllers;
[ApiController]
[ApiExplorerSettings(IgnoreApi = true)]
public class SortController : ControllerBase
{
private readonly IMediator _mediator;
public SortController(IMediator mediator) => _mediator = mediator;
[HttpPost("media/collections/{collectionId}/items")]
public Task SortCollectionItems(
int collectionId,
[FromForm]
SortedMediaItemIds sortedMediaItemIds)
{
var ids = sortedMediaItemIds.Item.Map(int.Parse).ToList();
var request = new UpdateCollectionCustomOrder(
collectionId,
ids.Map(i => new MediaItemCustomOrder(i, ids.IndexOf(i))).ToList());
return _mediator.Send(request);
}
}
public record SortedMediaItemIds(List<string> Item);