Adds MultiCollectionController + RerunCollectionController (list/get/create/update/ delete) over the existing MediatR handlers, with response/request DTOs, controller + contract tests, regenerated OpenAPI + TS types, and thin SPA api-client modules. SPA editor screens are a follow-up. Rerun request DTO resolves the chosen entity id into the minimal VM the handler reads (documented inline). Refs #151, #152 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
33 lines
980 B
C#
33 lines
980 B
C#
using ErsatzTV.Application.MediaCollections;
|
|
using ErsatzTV.Application.MediaItems;
|
|
using ErsatzTV.Core.Domain;
|
|
|
|
namespace ErsatzTV.Controllers.Api.Requests;
|
|
|
|
public record CreateRerunCollectionRequest(
|
|
string Name,
|
|
CollectionType CollectionType,
|
|
int SelectedId,
|
|
PlaybackOrder FirstRunPlaybackOrder,
|
|
PlaybackOrder RerunPlaybackOrder)
|
|
{
|
|
public CreateRerunCollection ToCommand()
|
|
{
|
|
(MediaCollectionViewModel collection,
|
|
MultiCollectionViewModel multiCollection,
|
|
SmartCollectionViewModel smartCollection,
|
|
NamedMediaItemViewModel mediaItem) =
|
|
RerunCollectionRequestMapping.ResolveSelection(CollectionType, SelectedId);
|
|
|
|
return new CreateRerunCollection(
|
|
Name,
|
|
CollectionType,
|
|
collection,
|
|
multiCollection,
|
|
smartCollection,
|
|
mediaItem,
|
|
FirstRunPlaybackOrder,
|
|
RerunPlaybackOrder);
|
|
}
|
|
}
|