fix: chapters and lectures order issue

This commit is contained in:
swve 2023-02-20 00:00:28 +01:00
parent ec33069929
commit eebaef6679
2 changed files with 13 additions and 6 deletions

View file

@ -34,6 +34,9 @@ const Overlay = styled.div`
width: 100%; width: 100%;
height: 100%; height: 100%;
z-index: 100; z-index: 100;
background-color: #00000029;
backdrop-filter: blur(1px);
`; `;
const Content = styled.div` const Content = styled.div`

View file

@ -26,7 +26,7 @@ class CourseChapterInDB(CourseChapter):
# Frontend # Frontend
class CourseChapterMetaData(BaseModel): class CourseChapterMetaData(BaseModel):
chapterOrder: List[str] chapterOrder: List[str]
chapters: object chapters: dict
lectures: object lectures: object
#### Classes #################################################### #### Classes ####################################################
@ -205,11 +205,15 @@ async def update_coursechapters_meta(request: Request,course_id: str, coursechap
courseInDB = courses.update_one({"course_id": course_id}, { courseInDB = courses.update_one({"course_id": course_id}, {
"$set": {"chapters": coursechapters_metadata.chapterOrder}}) "$set": {"chapters": coursechapters_metadata.chapterOrder}})
# update lectures in coursechapters if coursechapters_metadata.chapters is not None:
# TODO : performance/optimization improvement, this does not work anyway. for coursechapter_id, chapter_metadata in coursechapters_metadata.chapters.items():
for coursechapter in coursechapters_metadata.chapters.__dict__.items(): filter_query = {"coursechapter_id": coursechapter_id}
coursechapters.update_one({"coursechapter_id": coursechapter}, { update_query = {"$set": {"lectures": chapter_metadata["lectureIds"]}}
"$set": {"lectures": coursechapters_metadata.chapters[coursechapter]["lectureIds"]}}) # type: ignore result = coursechapters.update_one(filter_query, update_query)
if result.matched_count == 0:
# handle error when no documents are matched by the filter query
print(f"No documents found for course chapter ID {coursechapter_id}")
return {"detail": "coursechapters metadata updated"} return {"detail": "coursechapters metadata updated"}