def update_student_by_id(self, student_id: int, data: Dict) -> bool: """ put student by id :param student_id: :param data: :return: """ if not data: raise RequestDataEmpty("Student data is empty") if not self.input_validate.validate_json(data, student_schema): self.logger.error("All student field input must be required.") raise ValidateFail("Student update validation fail") try: self.logger.info( "Update student info by student_id:{}".format(student_id)) return StudentModel.update_student( student_id, StudentModel(name=data["name"], deactivated_at=data["deactivated_at"], birth_date=data["birth_date"], father_name=data["father_name"], mother_name=data["mother_name"], parents_occupation=data["parents_occupation"], photo=data["photo"], address_id=data["address_id"])) except SQLAlchemyError as error: self.logger.error("Error: {}".format(error)) raise SQLCustomError(description="Update student by ID SQL ERROR") except SQLCustomError as error: self.logger.error("Error: {}".format(error)) raise SQLCustomError(description="No record for requested student")
def put(self, email=None): student = StudentModel.get_by_email(email) if not student: return { "Result": "record not exists for {email} id".format(email=email) }, 404 data = update_parser.parse_args() record = StudentModel.update_student(student, data) return {"Result": record}, 200