Adds DecoController (groups + decos CRUD + full-state PUT), playlist and
artist/multi-collection search picker wrappers, a PlaylistController for the
break-content playlist cascade, and PUT /api/playouts/{id}/deco. Fixes the
CreateDecoHandler missing deco-group existence check (FK 500 -> 422), matching
the CreateBlock/CreateTemplate precedent. ReplaceDecoRequest.ToCommand rejects
Merge on the non-mergeable sections (422).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
#nullable enable
|
|
using ErsatzTV.Core.Domain;
|
|
using ErsatzTV.Core.Domain.Scheduling;
|
|
|
|
namespace ErsatzTV.Core.Api.Scheduling;
|
|
|
|
public record DecoResponseModel(
|
|
int Id,
|
|
int DecoGroupId,
|
|
string DecoGroupName,
|
|
string Name,
|
|
DecoMode WatermarkMode,
|
|
List<int> WatermarkIds,
|
|
bool UseWatermarkDuringFiller,
|
|
DecoMode GraphicsElementsMode,
|
|
List<int> GraphicsElementIds,
|
|
bool UseGraphicsElementsDuringFiller,
|
|
DecoMode BreakContentMode,
|
|
List<DecoBreakContentResponseModel> BreakContent,
|
|
DecoMode DefaultFillerMode,
|
|
CollectionType DefaultFillerCollectionType,
|
|
int? DefaultFillerCollectionId,
|
|
int? DefaultFillerMediaItemId,
|
|
int? DefaultFillerMultiCollectionId,
|
|
int? DefaultFillerSmartCollectionId,
|
|
string? DefaultFillerSelectionName,
|
|
bool DefaultFillerTrimToFit,
|
|
DecoMode DeadAirFallbackMode,
|
|
CollectionType DeadAirFallbackCollectionType,
|
|
int? DeadAirFallbackCollectionId,
|
|
int? DeadAirFallbackMediaItemId,
|
|
int? DeadAirFallbackMultiCollectionId,
|
|
int? DeadAirFallbackSmartCollectionId,
|
|
string? DeadAirFallbackSelectionName);
|