feat: better err reporting & init private endpoint

This commit is contained in:
swve 2023-04-09 01:36:47 +02:00
parent 8f8257b9e7
commit 6137c907d2
4 changed files with 30 additions and 9 deletions

View file

@ -90,4 +90,6 @@ async def get_current_user(request: Request, Authorize: AuthJWT = Depends()):
else:
return AnonymousUser()
async def non_public_endpoint(current_user: PublicUser ):
if isinstance(current_user, AnonymousUser):
raise HTTPException(status_code=401, detail="Not authenticated")

View file

@ -4,6 +4,7 @@ import pprint
from typing import List
from uuid import uuid4
from pydantic import BaseModel
from src.security.auth import non_public_endpoint
from src.services.courses.courses import Course, CourseInDB
from src.services.courses.activities.activities import Activity, ActivityInDB
from src.security.security import verify_user_rights_with_roles
@ -149,10 +150,16 @@ async def get_coursechapters_meta(request: Request, course_id: str, current_user
courses = request.app.db["courses"]
activities = request.app.db["activities"]
await non_public_endpoint(current_user)
coursechapters = await courses.find_one({"course_id": course_id}, {"chapters": 1, "chapters_content": 1, "_id": 0})
coursechapters = coursechapters
if not coursechapters:
raise HTTPException(
status_code=status.HTTP_409_CONFLICT, detail="Course does not exist")
# activities
coursechapter_activityIds_global = []