def update_meeting(id: int, meetingData: MeetingType): """ Update a meeting by id """ try: meeting = Meeting.find_or_fail(id) meeting.validate(meetingData) meeting.update(**dump_schema(meetingData)) meeting.save() msg = f"Meeting update successfully." log.info(f"{msg} with id: {id}") return HTTP_200, {"message": msg} except ValidationError as error: log.error(f"ValidationError: {error}") raise HTTPError(HTTP_400, {"errors": str(error)}) except NotFoundError as error: log.error(f"NotFoundError: {error}") raise HTTPError(HTTP_404, {"errors": str(error)}) except ConflictError as error: log.error(f"ConflictError: {error}") raise HTTPError(HTTP_409, {"errors": str(error)})
def get_meeting_by_id(id: int): """ Get meeting by id. """ try: meeting = Meeting.find_or_fail(id) log.info(f"Get meeting by id: {id}") return meeting.serialize() except NotFoundError as error: log.error(f"NotFoundError: {error}") raise HTTPError(HTTP_404, {"errors": str(error)})
def delete_meeting(id: int): """ Delete a meeting by id. """ try: meeting = Meeting.find_or_fail(id) meeting.delete() msg = f"Meeting deleted successfully." log.info(f"{msg} with id: {id}") return HTTP_200, {"message": msg} except NotFoundError as error: log.error(f"NotFoundError: {error}") raise HTTPError(HTTP_404, {"errors": str(error)})