mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
56 lines
2.1 KiB
Python
56 lines
2.1 KiB
Python
from fastapi import APIRouter, Depends, UploadFile, Form, Request
|
|
from src.services.courses.lectures.lectures import *
|
|
from src.dependencies.auth import get_current_user
|
|
from src.services.courses.lectures.video import create_video_lecture
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.post("/")
|
|
async def api_create_lecture(request: Request, lecture_object: Lecture, org_id: str, coursechapter_id: str, current_user: PublicUser = Depends(get_current_user)):
|
|
"""
|
|
Create new lecture
|
|
"""
|
|
return await create_lecture(request, lecture_object, org_id, coursechapter_id, current_user)
|
|
|
|
|
|
@router.get("/{lecture_id}")
|
|
async def api_get_lecture(request: Request, lecture_id: str, current_user: PublicUser = Depends(get_current_user)):
|
|
"""
|
|
Get single lecture by lecture_id
|
|
"""
|
|
return await get_lecture(request, lecture_id, current_user=current_user)
|
|
|
|
|
|
@router.get("/coursechapter/{coursechapter_id}")
|
|
async def api_get_lectures(request: Request, coursechapter_id: str, current_user: PublicUser = Depends(get_current_user)):
|
|
"""
|
|
Get CourseChapter lectures
|
|
"""
|
|
return await get_lectures(request, coursechapter_id, current_user)
|
|
|
|
|
|
@router.put("/{lecture_id}")
|
|
async def api_update_lecture(request: Request, lecture_object: Lecture, lecture_id: str, current_user: PublicUser = Depends(get_current_user)):
|
|
"""
|
|
Update lecture by lecture_id
|
|
"""
|
|
return await update_lecture(request, lecture_object, lecture_id, current_user)
|
|
|
|
|
|
@router.delete("/{lecture_id}")
|
|
async def api_delete_lecture(request: Request, lecture_id: str, org_id: str, current_user: PublicUser = Depends(get_current_user)):
|
|
"""
|
|
Delete lecture by lecture_id
|
|
"""
|
|
return await delete_lecture(request, lecture_id, current_user)
|
|
|
|
# Video play
|
|
|
|
|
|
@router.post("/video")
|
|
async def api_create_video_lecture(request: Request, org_id: str, name: str = Form(), coursechapter_id: str = Form(), current_user: PublicUser = Depends(get_current_user), video_file: UploadFile | None = None):
|
|
"""
|
|
Create new lecture
|
|
"""
|
|
return await create_video_lecture(request, name, coursechapter_id, current_user, video_file)
|