Adds BlockController (block groups + blocks CRUD, items GET, full replace, non-persisting preview) mirroring ScheduleController, plus four scheduling search picker endpoints on SearchController (collections, television shows, television seasons, smart collections). Response DTOs in ErsatzTV.Core/Api/ Scheduling; request DTOs with ToCommand index auto-assignment. #144 S1 (#162) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
36 lines
932 B
C#
36 lines
932 B
C#
using ErsatzTV.Application.Scheduling;
|
|
using ErsatzTV.Core.Domain;
|
|
|
|
namespace ErsatzTV.Controllers.Api.Requests;
|
|
|
|
public record BlockItemRequest(
|
|
CollectionType CollectionType,
|
|
int? CollectionId,
|
|
int? MultiCollectionId,
|
|
int? SmartCollectionId,
|
|
int? MediaItemId,
|
|
string SearchTitle,
|
|
string SearchQuery,
|
|
PlaybackOrder PlaybackOrder,
|
|
bool IncludeInProgramGuide,
|
|
bool DisableWatermarks,
|
|
List<int> WatermarkIds,
|
|
List<int> GraphicsElementIds)
|
|
{
|
|
public ReplaceBlockItem ToReplaceItem(int index) =>
|
|
new(
|
|
index,
|
|
CollectionType,
|
|
CollectionId,
|
|
MultiCollectionId,
|
|
SmartCollectionId,
|
|
MediaItemId,
|
|
SearchTitle,
|
|
SearchQuery,
|
|
PlaybackOrder,
|
|
IncludeInProgramGuide,
|
|
DisableWatermarks,
|
|
WatermarkIds ?? [],
|
|
GraphicsElementIds ?? []);
|
|
}
|