episode api
This commit is contained in:
parent
2c9013ece2
commit
81cd802c22
3 changed files with 19 additions and 0 deletions
|
@ -113,6 +113,15 @@ def get_tv_season(request, uuid: str, response: HttpResponse):
|
|||
return _get_item(TVSeason, uuid, response)
|
||||
|
||||
|
||||
@api.get(
|
||||
"/tv/episode/{uuid}",
|
||||
response={200: TVEpisodeSchema, 302: RedirectedResult, 404: Result},
|
||||
auth=None,
|
||||
)
|
||||
def get_tv_episode(request, uuid: str, response: HttpResponse):
|
||||
return _get_item(TVEpisode, uuid, response)
|
||||
|
||||
|
||||
@api.get(
|
||||
"/podcast/{uuid}",
|
||||
response={200: PodcastSchema, 302: RedirectedResult, 404: Result},
|
||||
|
|
|
@ -15,6 +15,7 @@ from .tv.models import (
|
|||
TVShowInSchema,
|
||||
TVSeasonSchema,
|
||||
TVSeasonInSchema,
|
||||
TVEpisodeSchema,
|
||||
)
|
||||
from .music.models import Album, AlbumSchema, AlbumInSchema
|
||||
from .game.models import Game, GameSchema, GameInSchema
|
||||
|
|
|
@ -64,12 +64,17 @@ class TVSeasonInSchema(ItemInSchema):
|
|||
year: int | None = None
|
||||
site: str | None = None
|
||||
episode_count: int | None = None
|
||||
episode_uuids: list[str]
|
||||
|
||||
|
||||
class TVSeasonSchema(TVSeasonInSchema, BaseSchema):
|
||||
pass
|
||||
|
||||
|
||||
class TVEpisodeSchema(ItemSchema):
|
||||
episode_number: int | None = None
|
||||
|
||||
|
||||
class TVShow(Item):
|
||||
type = ItemType.TVShow
|
||||
child_class = "TVSeason"
|
||||
|
@ -400,6 +405,10 @@ class TVSeason(Item):
|
|||
def child_items(self):
|
||||
return self.episodes.all()
|
||||
|
||||
@property
|
||||
def episode_uuids(self):
|
||||
return [x.uuid for x in self.all_episodes]
|
||||
|
||||
|
||||
class TVEpisode(Item):
|
||||
category = ItemCategory.TV
|
||||
|
|
Loading…
Add table
Reference in a new issue