feat(api): expose series and season on episodes
This commit is contained in:
@@ -107,7 +107,11 @@ pub struct Season {
|
|||||||
#[derive(Debug, Clone, Serialize, ToSchema)]
|
#[derive(Debug, Clone, Serialize, ToSchema)]
|
||||||
pub struct Episode {
|
pub struct Episode {
|
||||||
pub id: i64,
|
pub id: i64,
|
||||||
|
/// The owning series — the episode deck route needs it without walking
|
||||||
|
/// seasons first.
|
||||||
|
pub series_id: i64,
|
||||||
pub season_id: i64,
|
pub season_id: i64,
|
||||||
|
pub season_number: i64,
|
||||||
pub number: i64,
|
pub number: i64,
|
||||||
pub title: String,
|
pub title: String,
|
||||||
pub air_date: Option<String>,
|
pub air_date: Option<String>,
|
||||||
@@ -660,7 +664,9 @@ async fn load_seasons(state: &AppState, series_id: i64) -> Result<Vec<Season>, A
|
|||||||
.filter(|episode| episode.season_id == season.id)
|
.filter(|episode| episode.season_id == season.id)
|
||||||
.map(|episode| Episode {
|
.map(|episode| Episode {
|
||||||
id: episode.id,
|
id: episode.id,
|
||||||
|
series_id,
|
||||||
season_id: episode.season_id,
|
season_id: episode.season_id,
|
||||||
|
season_number: episode.season_number,
|
||||||
number: episode.number,
|
number: episode.number,
|
||||||
title: episode.title.clone(),
|
title: episode.title.clone(),
|
||||||
air_date: episode.air_date.clone(),
|
air_date: episode.air_date.clone(),
|
||||||
@@ -881,7 +887,9 @@ async fn load_episode(state: &AppState, id: i64) -> Result<Episode, ApiError> {
|
|||||||
.ok_or(ApiError::EpisodeNotFound)?;
|
.ok_or(ApiError::EpisodeNotFound)?;
|
||||||
Ok(Episode {
|
Ok(Episode {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
|
series_id: row.series_id,
|
||||||
season_id: row.season_id,
|
season_id: row.season_id,
|
||||||
|
season_number: row.season_number,
|
||||||
number: row.number,
|
number: row.number,
|
||||||
title: row.title,
|
title: row.title,
|
||||||
air_date: row.air_date,
|
air_date: row.air_date,
|
||||||
|
|||||||
Reference in New Issue
Block a user