def get_assignment(id): assignment = assignments.context().get(id) if not assignment: return not_found() return ok(assignments.schema.dump(assignment))
def put_course(id): course = courses.context().update(id, request.get_json()) if not course: return not_found() return ok(courses.schema.dump(course))
def get_course(id): course = courses.context().get(id) if not course: return not_found() return ok(courses.schema.dump(course))
def post_course(): data = courses.schema.load(request.get_json()) data.owner = get_authenticated_user() course = courses.context().create(data) return ok(courses.schema.dump(course))
def post_assignment(): data = request.get_json() # Temp fix: if 'date' in data: temp = data['date'].split('T')[0] data['date'] = date.fromisoformat(temp) # TODO: Generalize data = assignments.schema.load(data) data.owner = get_authenticated_user() assignment = assignments.context().create(data) return ok(assignments.schema.dump(assignment))
def login(): try: data = request.get_json() email = data.get('email') password = data.get('password') return ok(authenticate(email, password)) except AuthenticationError as err: return json_response(None, err.code) except ValidationError as err: return bad_request(err.to_dict())
def register(): try: json = request.get_json() if 'password' in json: json['password'] = generate_password_hash(json['password']) user = user_schema.load(json).save() return ok(user_schema.dump(user)) except ValidationError as err: return bad_request(err.to_dict()) except NotUniqueError: return bad_request('User already exists')
def put_assignment(id): data = request.get_json() # Temp fix 1: if 'date' in data: temp = data['date'].split('T')[0] data['date'] = date.fromisoformat(temp) # TODO: Generalize # Temp fix 2 if 'course' in data: del data['course'] # TODO: Fix assignment = assignments.context().update(id, data) if not assignment: return not_found() return ok(assignments.schema.dump(assignment))
def delete_user(id): if not assignments.context().delete(id): return not_found() return ok()
def get_assignments(): assignments_list = assignments.context().get() return ok(assignments.schema.dump(assignments_list))
def delete_user(id): if not courses.context().delete(id): return not_found() return ok()
def get_courses(): courses_list = courses.context().get() return ok(courses.schema.dump(courses_list))
def logout(): # TODO: Revoke token return ok()
def refresh(): return ok(refresh_authentication())