- Extend /api/library/browse to episodes, music videos, songs, other videos,
images and remote streams (new LibraryBrowseMediaType values + hydrators);
add optional Subtitle to LibraryBrowseItemResponseModel for leaf-item context
- Add GET /api/search: grouped per-kind results reusing the browse query/shape;
empty query -> 422
- Add DELETE /api/media-items: body { ids }, empty -> 422, success -> 204
- Tests: SearchController, MediaItemsController, security + OpenAPI contract entries
- Regenerate openapi v1.json + web v1.d.ts
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
24 lines
556 B
C#
24 lines
556 B
C#
#nullable enable
|
|
using ErsatzTV.Core.Domain;
|
|
|
|
namespace ErsatzTV.Core.Api.LibraryBrowse;
|
|
|
|
public record LibraryBrowseItemResponseModel(
|
|
int Id,
|
|
LibraryBrowseMediaType MediaType,
|
|
string Title,
|
|
int? LibraryId,
|
|
string? LibraryName,
|
|
string Artwork,
|
|
TimeSpan? Duration,
|
|
int? ItemCount,
|
|
string? CollectionKind,
|
|
CollectionType CollectionType,
|
|
int? CollectionId,
|
|
int? MultiCollectionId,
|
|
int? SmartCollectionId,
|
|
int? RerunCollectionId,
|
|
int? MediaItemId,
|
|
int? PlaylistId,
|
|
string? Subtitle = null);
|