fix: typing issues

This commit is contained in:
swve 2022-12-26 00:16:00 +01:00
parent 193b3b289f
commit 9cd1ec35cf
5 changed files with 24 additions and 24 deletions

View file

@ -25,7 +25,7 @@ async def api_get_current_user(current_user: User = Depends(get_current_user)):
return current_user.dict()
@router.get("/profile_metadata")
async def api_get_current_user(current_user: User = Depends(get_current_user)):
async def api_get_current_user_metadata(current_user: User = Depends(get_current_user)):
"""
Get current user
"""

View file

@ -11,7 +11,6 @@ from src.services.users import PublicUser
from fastapi import FastAPI, HTTPException, status, Request, Response, BackgroundTasks, UploadFile, File
class CourseChapter(BaseModel):
name: str
description: str
@ -196,8 +195,6 @@ async def get_coursechapters_meta(course_id: str, current_user: PublicUser):
"id": element.element_id, "name": element.name, "type": element.type, "content": element.content
}
final = {
"chapters": chapters,
"chapterOrder": course.chapters,
@ -216,16 +213,13 @@ async def update_coursechapters_meta(course_id: str, coursechapters_metadata: Co
courseInDB = courses.update_one({"course_id": course_id}, {
"$set": {"chapters": coursechapters_metadata.chapterOrder}})
# update elements in coursechapters
# TODO : performance/optimization improvement
for coursechapter in coursechapters_metadata.chapters:
for coursechapter in coursechapters_metadata.chapters.__dict__.items():
coursechapters.update_one({"coursechapter_id": coursechapter}, {
"$set": {"elements": coursechapters_metadata.chapters[coursechapter]["elementIds"]}})
return {"ok"}
return {"detail": "coursechapters metadata updated"}
#### Security ####################################################

View file

@ -17,6 +17,11 @@ async def create_video_element(name: str, coursechapter_id: str, current_user:
# generate element_id
element_id = str(f"element_{uuid4()}")
# check if video_file is not None
if not video_file:
raise HTTPException(
status_code=status.HTTP_409_CONFLICT, detail="Video : No video file provided")
video_format = video_file.filename.split(".")[-1]
element_object = ElementInDB(
element_id=element_id,

View file

@ -35,7 +35,6 @@ async def create_picture_file(picture_file: UploadFile, element_id: str):
# create file
file = await picture_file.read()
# get file size
file_size = len(file)
@ -95,14 +94,15 @@ async def get_picture_file(file_id: str, current_user: PublicUser):
photo_file = photos.find_one({"file_id": file_id})
# TODO : check if user has access to file
if photo_file:
# check media type
if photo_file.format not in ["jpg", "jpeg", "png", "gif"]:
raise HTTPException(
status_code=status.HTTP_409_CONFLICT, detail="Photo file format not supported")
# TODO : check if user has access to file
if photo_file:
# stream file
photo_file = PhotoFile(**photo_file)
file_format = photo_file.file_format

View file

@ -94,14 +94,15 @@ async def get_video_file(file_id: str, current_user: PublicUser):
video_file = photos.find_one({"file_id": file_id})
# TODO : check if user has access to file
if video_file:
# check media type
if video_file.format not in ["mp4", "webm", "ogg"]:
raise HTTPException(
status_code=status.HTTP_409_CONFLICT, detail="Video file format not supported")
# TODO : check if user has access to file
if video_file:
# stream file
video_file = VideoFile(**video_file)
file_format = video_file.file_format