def get(self, user_id): # Get suer from db print(user_id) user = User.find_by_id(user_id) if not user: return {'error': f'User with id {user_id} not found '}, 400 return {'data': userSchema.dump(user)}
def post(self, user_id, course_code): try: user = User.find_by_id(user_id) user.add_course(course_code) except Exception as e: print(e) return {'error': 'unable to add course to user'}, 500 return {'msg': 'Added course to user'}
def get(self, user_id): try: user = User.find_by_id(user_id) courses = user.get_courses() courses_json = coursesSchema.dump(courses) except Exception as e: print(e) return {'error': f'unable to get courses for user {user_id}'}, 500 return {'data': courses_json}
def delete(self, user_id, course_code): try: user = User.find_by_id(user_id) user.remove_course(course_code) except Exception as e: print(e) return {'error': 'unable to remove course from user'}, 500 return {'msg': f'removed course {course_code}'}
def delete(self, user_id): try: req_json = request.get_json() user = User.find_by_id(user_id) user.remove_rating(**req_json) except Exception as e: print(e) return {'error': 'Unable to get delete rating for article'}, 500 return {}, 204
def get(self, user_id): try: user = User.find_by_id(user_id) user_articles = articleRatingsSchema.dump(user.get_articles()) except Exception as e: print(e) return {'error': 'Unable to get user rating for article'}, 500 return {'data': user_articles}
def post(self, user_id): try: req_json = request.get_json() user = User.find_by_id(user_id) print(req_json) user.add_rating(**req_json) except Exception as e: print(e) return {'error': 'Unable to get user rating for article'}, 500 return {'msg': 'Rating added'}, 201
def put(self, user_id): # Editable fields req_body = request.get_json(silent=True) try: user_changes = userSchema.load(req_body) except Exception as e: print(e) return {'error': 'invalid fields to change'}, 400 # Get the user user = User.find_by_id(user_id) if not user: return {'error': f'User with id {user_id} does not exist'}, 400 for field, value in user_changes.items(): setattr(user, field, value) user.save() return {'msg': 'user details updated'}
def get(self, user_id): ''' Get all sesssions belonging to a user optional query parameter of course_code ''' try: user = User.find_by_id(user_id) if 'course_code' in request.args: #! Find a single session print('*'*30) req_sessions = user.get_sessions(request.args['course_code']) sessions_json = sessionsSchema.dump(req_sessions) else: sessions_json = sessionsSchema.dump(user.get_sessions()) except Exception as e: print(e) return {'error': 'Unable to get sessions'}, 500 return {'data': sessions_json }
def load_user(user_id): return User.find_by_id(user_id)