Implement episode metadata management: add functionality to refresh episode metadata from external sources, including new API endpoints and UI integration. Enhance Show and Episode models to support additional metadata fields, and update database schema accordingly. Update ShowDetail and ShowMetadataCard components to display refreshed episode information and provide user feedback on metadata updates.

This commit is contained in:
Leonid Pershin
2026-07-25 09:46:19 +03:00
parent 0d2dee815e
commit 7fb46b5e0d
30 changed files with 1563 additions and 81 deletions
+27 -1
View File
@@ -91,6 +91,12 @@ export type EpisodeDto = {
assetName: string | null
assetStatus: MediaAssetStatus | null
durationSeconds: number | null
season: number | null
episode: number | null
title: string | null
overview: string | null
hasStill: boolean
airDate: string | null
}
export type ShowDto = {
@@ -200,4 +206,24 @@ export type ScheduleEntryDto = {
}
// ── Публичный эфир ─────────────────────────────────────────────────────────
export type PublicChannelDto = { id: string; slug: string; name: string }
export type PublicChannelDto = {
id: string
slug: string
name: string
currentShowId: string | null
currentShowName: string | null
currentShowHasPoster: boolean
}
export type PublicEpgEntryDto = {
kind: ScheduleEntryKind
startsAtUtc: string
endsAtUtc: string
showId: string | null
showName: string | null
showHasPoster: boolean
episodeId: string | null
episodeTitle: string | null
episodeOverview: string | null
episodeHasStill: boolean
}
+6
View File
@@ -273,6 +273,9 @@ const resources = {
clear: 'Очистить',
uploadPoster: 'Загрузить постер',
noPoster: 'Нет постера',
refreshEpisodes: 'Обновить серии',
refreshing: 'Обновляем…',
refreshedCount: 'Обновлено серий: {{count}}',
},
},
},
@@ -548,6 +551,9 @@ const resources = {
clear: 'Clear',
uploadPoster: 'Upload poster',
noPoster: 'No poster',
refreshEpisodes: 'Refresh episodes',
refreshing: 'Refreshing…',
refreshedCount: 'Episodes updated: {{count}}',
},
},
},