New programming screen
This commit is contained in:
@@ -243,3 +243,64 @@ class CommunityHighlightResponse(BaseModel):
|
||||
active: bool
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
# ── ShowSchedule ──────────────────────────────────────────
|
||||
|
||||
class ShowScheduleResponse(BaseModel):
|
||||
id: int
|
||||
show_id: int
|
||||
day_of_week: int
|
||||
time: str
|
||||
|
||||
@computed_field
|
||||
@property
|
||||
def day_label(self) -> str:
|
||||
return DAY_NAMES.get(self.day_of_week, "Unknown")
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
class ShowScheduleCreate(BaseModel):
|
||||
day_of_week: int
|
||||
time: str
|
||||
|
||||
|
||||
# ── Show ────────────────────────────────────────────────────
|
||||
|
||||
class ShowResponse(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
description: str
|
||||
host: str
|
||||
genre: str
|
||||
show_art_url: Optional[str]
|
||||
hero_image_url: Optional[str]
|
||||
display_order: int
|
||||
active: bool
|
||||
schedules: list[ShowScheduleResponse]
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
class ShowCreate(BaseModel):
|
||||
title: str
|
||||
description: str
|
||||
host: str
|
||||
genre: str
|
||||
show_art_url: Optional[str] = None
|
||||
hero_image_url: Optional[str] = None
|
||||
display_order: int = 0
|
||||
schedules: list[ShowScheduleCreate]
|
||||
|
||||
|
||||
class ShowUpdate(BaseModel):
|
||||
title: Optional[str] = None
|
||||
description: Optional[str] = None
|
||||
host: Optional[str] = None
|
||||
genre: Optional[str] = None
|
||||
show_art_url: Optional[str] = None
|
||||
hero_image_url: Optional[str] = None
|
||||
display_order: Optional[int] = None
|
||||
active: Optional[bool] = None
|
||||
schedules: Optional[list[ShowScheduleCreate]] = None
|
||||
|
||||
Reference in New Issue
Block a user