feat: Wired source_videos and body_sections_format into technique detai…
- "backend/routers/techniques.py" GSD-Task: S03/T02
This commit is contained in:
parent
ae98e4e30e
commit
66b02dd94e
1 changed files with 18 additions and 1 deletions
|
|
@ -11,12 +11,13 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
|||
from sqlalchemy.orm import selectinload
|
||||
|
||||
from database import get_session
|
||||
from models import Creator, KeyMoment, RelatedTechniqueLink, SourceVideo, TechniquePage, TechniquePageVersion
|
||||
from models import Creator, KeyMoment, RelatedTechniqueLink, SourceVideo, TechniquePage, TechniquePageVersion, TechniquePageVideo
|
||||
from schemas import (
|
||||
CreatorInfo,
|
||||
KeyMomentSummary,
|
||||
PaginatedResponse,
|
||||
RelatedLinkItem,
|
||||
SourceVideoSummary,
|
||||
TechniquePageDetail,
|
||||
TechniquePageRead,
|
||||
TechniquePageVersionDetail,
|
||||
|
|
@ -223,6 +224,9 @@ async def get_technique(
|
|||
selectinload(TechniquePage.incoming_links).selectinload(
|
||||
RelatedTechniqueLink.source_page
|
||||
),
|
||||
selectinload(TechniquePage.source_video_links).selectinload(
|
||||
TechniquePageVideo.source_video
|
||||
),
|
||||
)
|
||||
)
|
||||
result = await db.execute(stmt)
|
||||
|
|
@ -295,12 +299,25 @@ async def get_technique(
|
|||
version_count_result = await db.execute(version_count_stmt)
|
||||
version_count = version_count_result.scalar() or 0
|
||||
|
||||
# Build source video list from association table
|
||||
source_videos = [
|
||||
SourceVideoSummary(
|
||||
id=link.source_video.id,
|
||||
filename=link.source_video.filename,
|
||||
content_type=link.source_video.content_type.value if hasattr(link.source_video.content_type, 'value') else str(link.source_video.content_type),
|
||||
added_at=link.added_at,
|
||||
)
|
||||
for link in page.source_video_links
|
||||
if link.source_video is not None
|
||||
]
|
||||
|
||||
return TechniquePageDetail(
|
||||
**base.model_dump(),
|
||||
key_moments=key_moment_items,
|
||||
creator_info=creator_info,
|
||||
related_links=related_links,
|
||||
version_count=version_count,
|
||||
source_videos=source_videos,
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue