Einen einzelnen Titel neu holen, statt achthundert
Eine neue Quelle wirkt erst beim nächsten Holen der Metadaten. Das ging bisher nur je Mediathek: achthundert Titel, eine Viertelstunde — nur um an einem Film zu sehen, ob ein Schlüssel etwas bringt. Wer auf einer Detailseite bemerkt, dass IMDb und Rotten Tomatoes fehlen, hatte von dort keinen Weg dorthin. Der Server kann eine Auswahl längst; es fehlte bloss die Kennung der Mediathek in der Antwort, damit die Seite weiss, wohin ihr Titel gehört. Der runde Knopf holt diesen einen Titel, wartet den Lauf ab und zeichnet die Seite neu. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
18db89399d
commit
e05bbfc2cd
@@ -445,7 +445,17 @@ public sealed record MovieResponse(
|
||||
/// Wertung von TMDB und bleibt, wo es ist; ein Client, der nur das
|
||||
/// kennt, zeigt weiter dasselbe wie bisher.
|
||||
/// </remarks>
|
||||
IReadOnlyList<Fremdwertungsantwort>? ExternalRatings = null);
|
||||
IReadOnlyList<Fremdwertungsantwort>? ExternalRatings = null,
|
||||
|
||||
/// <summary>Zu welcher Mediathek der Titel gehört.</summary>
|
||||
///
|
||||
/// <remarks>
|
||||
/// <b>Damit die Detailseite einen einzelnen Titel auffrischen kann.</b>
|
||||
/// Das Auffrischen hängt an der Mediathek, nicht am Titel; ohne diese
|
||||
/// Kennung müsste der Client erst alle Mediatheken durchgehen, um zu
|
||||
/// erfahren, wohin dieser eine Film gehört.
|
||||
/// </remarks>
|
||||
Guid? LibraryId = null);
|
||||
|
||||
public sealed record CreditResponse(
|
||||
Guid Id, string Name, string Role, string? Character, string? Image);
|
||||
@@ -516,7 +526,17 @@ public sealed record SeriesResponse(
|
||||
/// Wertung von TMDB und bleibt, wo es ist; ein Client, der nur das
|
||||
/// kennt, zeigt weiter dasselbe wie bisher.
|
||||
/// </remarks>
|
||||
IReadOnlyList<Fremdwertungsantwort>? ExternalRatings = null);
|
||||
IReadOnlyList<Fremdwertungsantwort>? ExternalRatings = null,
|
||||
|
||||
/// <summary>Zu welcher Mediathek der Titel gehört.</summary>
|
||||
///
|
||||
/// <remarks>
|
||||
/// <b>Damit die Detailseite einen einzelnen Titel auffrischen kann.</b>
|
||||
/// Das Auffrischen hängt an der Mediathek, nicht am Titel; ohne diese
|
||||
/// Kennung müsste der Client erst alle Mediatheken durchgehen, um zu
|
||||
/// erfahren, wohin dieser eine Film gehört.
|
||||
/// </remarks>
|
||||
Guid? LibraryId = null);
|
||||
|
||||
public sealed record EpisodeResponse(
|
||||
Guid Id, int Season, int Episode, string? Title, string? Overview, string? StillImage,
|
||||
|
||||
@@ -655,7 +655,8 @@ public static class LibraryContentEndpoints
|
||||
SortTitle: film.SortTitleValue,
|
||||
SortTitlePinned: film.SortTitlePinned,
|
||||
PublishAt: film.PublishAt,
|
||||
ExternalRatings: await FremdwertungenZu(db, film: id, serie: null)));
|
||||
ExternalRatings: await FremdwertungenZu(db, film: id, serie: null),
|
||||
LibraryId: film.LibraryId));
|
||||
}).RequireAuthorization();
|
||||
|
||||
app.MapGet("/api/v1/series/{id:guid}", async (
|
||||
@@ -691,7 +692,8 @@ public static class LibraryContentEndpoints
|
||||
SortTitle: serie.SortTitleValue,
|
||||
SortTitlePinned: serie.SortTitlePinned,
|
||||
PublishAt: folgen.Min(f => f.PublishAt),
|
||||
ExternalRatings: await FremdwertungenZu(db, film: null, serie: id)));
|
||||
ExternalRatings: await FremdwertungenZu(db, film: null, serie: id),
|
||||
LibraryId: serie.LibraryId));
|
||||
}).RequireAuthorization();
|
||||
|
||||
// **Eine Folge für sich.**
|
||||
|
||||
Reference in New Issue
Block a user