update
This commit is contained in:
Binary file not shown.
@@ -1,12 +1,13 @@
|
||||
import threading
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from fastapi.responses import FileResponse, StreamingResponse
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from database import get_db
|
||||
from schemas import VideoCreate, VideoResponse
|
||||
from schemas import ProfileResponse, VideoCreate, VideoResponse
|
||||
from services import video_service
|
||||
from services.download_service import download_video
|
||||
from services.stream_service import stream_video_live
|
||||
@@ -27,14 +28,14 @@ def create_videos(videos_data: list[VideoCreate], db: Session = Depends(get_db))
|
||||
|
||||
|
||||
@router.get("", response_model=list[VideoResponse])
|
||||
def get_all_videos(db: Session = Depends(get_db)):
|
||||
videos = video_service.get_all_videos(db)
|
||||
def get_all_videos(profile_id: Optional[int] = Query(None), db: Session = Depends(get_db)):
|
||||
videos = video_service.get_all_videos(db, profile_id=profile_id)
|
||||
return [VideoResponse.from_model(v) for v in videos]
|
||||
|
||||
|
||||
@router.get("/downloaded", response_model=list[VideoResponse])
|
||||
def get_downloaded_videos(db: Session = Depends(get_db)):
|
||||
videos = video_service.get_downloaded_videos(db)
|
||||
def get_downloaded_videos(profile_id: Optional[int] = Query(None), db: Session = Depends(get_db)):
|
||||
videos = video_service.get_downloaded_videos(db, profile_id=profile_id)
|
||||
return [VideoResponse.from_model(v) for v in videos]
|
||||
|
||||
|
||||
@@ -88,3 +89,11 @@ def download_file(video_id: int, db: Session = Depends(get_db)):
|
||||
raise HTTPException(status_code=404, detail="Videodatei nicht gefunden")
|
||||
|
||||
return FileResponse(path, media_type="video/mp4", filename=f"{video.title}.mp4")
|
||||
|
||||
|
||||
profiles_router = APIRouter(prefix="/profiles", tags=["profiles"])
|
||||
|
||||
|
||||
@profiles_router.get("", response_model=list[ProfileResponse])
|
||||
def get_profiles(db: Session = Depends(get_db)):
|
||||
return video_service.get_all_profiles(db)
|
||||
|
||||
Reference in New Issue
Block a user