Build ErsatzTV Image / API docs in sync (OpenAPI + endpoint index) (push) Has been skipped
Build ErsatzTV Image / Formatting (changed .cs conform to .editorconfig) (push) Has been skipped
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (push) Successful in 15m30s
Build ErsatzTV Image / Functional E2E (curl contracts) (push) Successful in 15m48s
Build ErsatzTV Image / Build & test (.NET) (push) Successful in 7m32s
Build ErsatzTV Image / Build & push image (amd64) (push) Has been cancelled
Closes #415. Server-derived health object on the channel list + detail DTOs (built-timeline detection, kind-agnostic across all 5 PlayoutScheduleKind; assessable gate keyed to the owning channel's mode), single "Problems" SPA filter with per-fault badges. Supersedes #72's api.channel-health-signal decision. Co-authored-by: Timothy <timothy.look@gmail.com> Co-committed-by: Timothy <timothy.look@gmail.com>
31 lines
1.1 KiB
C#
31 lines
1.1 KiB
C#
#nullable enable
|
|
using ErsatzTV.Core.Domain;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace ErsatzTV.Core.Api.Channels;
|
|
|
|
public record ChannelResponseModel(
|
|
int Id,
|
|
string Number,
|
|
double SortNumber,
|
|
string Name,
|
|
string Group,
|
|
string Categories,
|
|
[property: JsonProperty("ffmpegProfile")]
|
|
string FFmpegProfile,
|
|
string Language,
|
|
string StreamingMode,
|
|
bool IsEnabled,
|
|
bool ShowInEpg,
|
|
int PlayoutCount,
|
|
// Rooted, directly-usable logo URL for the SPA's <img src>; null when the channel has no logo
|
|
// (SPA then renders the generated initials fallback). See ErsatzTV.Application Channels.Mapper.GetLogoUrl.
|
|
string? Logo,
|
|
// Server-declared browser-preview capability; see ChannelPreviewResponseModel.
|
|
ChannelPreviewResponseModel Preview,
|
|
// Immutable creation-provenance (auto-tuned vs user-created). Raw fact; the SPA decides how to render it.
|
|
// Unknown for rows created before the origin column existed (never back-filled).
|
|
ChannelOrigin Origin,
|
|
// Server-derived health rollup (api.channel-health-object). See ChannelHealthResponseModel.
|
|
ChannelHealthResponseModel Health);
|