|
@@ -631,13 +631,15 @@ async def search_class_like(keyword: str):
|
|
|
|
|
|
@classes.post("/add_favorite_class")
|
|
|
async def add_favorite_class(
|
|
|
- class_event_id: int,
|
|
|
+ class_name_id: int,
|
|
|
user_id = Depends(check_token),
|
|
|
time_stemp: datetime = datetime.now()
|
|
|
):
|
|
|
try:
|
|
|
+ if not user_id:
|
|
|
+ return {"msg": "no access", "code": 500}
|
|
|
new_favorite_class = await Favorite_course.get_or_create(
|
|
|
- class_event_id=class_event_id,
|
|
|
+ class_name_id=class_name_id,
|
|
|
user_id=user_id,
|
|
|
defaults={'time_stemp': time_stemp}
|
|
|
)
|
|
@@ -647,34 +649,47 @@ async def add_favorite_class(
|
|
|
|
|
|
@classes.get("/get_favorite_class")
|
|
|
async def get_favorite_class(
|
|
|
- user_id = Depends(check_token)
|
|
|
+ user_id = Depends(check_token),
|
|
|
+ no_details : Optional[int] = None
|
|
|
):
|
|
|
try:
|
|
|
class_list = await Favorite_course.filter(user_id = user_id).all()
|
|
|
favorite_courses = []
|
|
|
for class_obj in class_list:
|
|
|
- class_event = await Class_list.get(id = class_obj.class_event_id)
|
|
|
- class_name = await Class_name.get(id = class_event.name_id)
|
|
|
- class_data = {
|
|
|
- "id": class_obj.id,
|
|
|
- "user_id": class_obj.user_id,
|
|
|
- "class_event_id":class_obj.class_event_id,
|
|
|
- "class_name_id" : class_name.id,
|
|
|
- "time_stemp":class_obj.time_stemp
|
|
|
- }
|
|
|
- favorite_courses.append(class_data)
|
|
|
+ if no_details:
|
|
|
+ class_data = {
|
|
|
+ "id": class_obj.id,
|
|
|
+ "user_id": class_obj.user_id,
|
|
|
+ "class_name_id" : class_obj.class_name_id,
|
|
|
+ "time_stemp":class_obj.time_stemp
|
|
|
+ }
|
|
|
+ favorite_courses.append(class_data)
|
|
|
+ else:
|
|
|
+ class_data = {
|
|
|
+ "id": class_obj.id,
|
|
|
+ "user_id": class_obj.user_id,
|
|
|
+ "class_name_id" : class_obj.class_name_id,
|
|
|
+ "time_stemp":class_obj.time_stemp
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ result = await get_class_name(class_name_id = class_obj.class_name_id)
|
|
|
+ class_detail = result["classes"][0]
|
|
|
+ for class_tmp in class_detail.items():
|
|
|
+ class_data[class_tmp[0]] = class_tmp[1]
|
|
|
+ favorite_courses.append(class_data)
|
|
|
|
|
|
- return {"msg": "success", "code": 200, "school_groups": favorite_courses}
|
|
|
+ return {"msg": "success", "code": 200, "favorite_courses": favorite_courses}
|
|
|
except Exception as e:
|
|
|
return {"msg": str(e), "code": 500}
|
|
|
|
|
|
@classes.post("/delete_favorite_class")
|
|
|
async def delete_favorite_class(
|
|
|
- class_event_id: int,
|
|
|
+ class_name_id: int,
|
|
|
user_id = Depends(check_token)
|
|
|
):
|
|
|
try:
|
|
|
- await Favorite_course.filter(class_event_id=class_event_id,user_id=user_id).delete()
|
|
|
+ await Favorite_course.filter(class_name_id=class_name_id,user_id=user_id).delete()
|
|
|
return {"msg": "success", "code": 200}
|
|
|
except Exception as e:
|
|
|
return {"msg": str(e), "code": 500}
|