def post(self): try: self.parser.add_argument('request_id', required=True, help="Field request_id is mandatory") args = self.parser.parse_args() request_id = self._get_request_id(request) self._validate_request_id(request_id) self._validate_receiver(request_id) friend = self._accept_friend_request(request_id) print(friend) UserActivityModel.log_friend_activity(friend["user_id_rcv"], friend["user_id_sender"], "ADD") UserActivityModel.log_friend_activity(friend["user_id_sender"], friend["user_id_rcv"], "ADD") return self._get_friends_requests_response(friend) except BadRequest as ex: return ErrorHandler.create_error_response( "Fields request_id are mandatory", 400) except NoFriendRequestFoundException as e: return ErrorHandler.create_error_response(str(e), 400) except FriendshipAlreadyExistsException as e: return ErrorHandler.create_error_response(str(e), 400) except UserMismatchException as e: return ErrorHandler.create_error_response(str(e), 409) except DBConnectionError as e: return ErrorHandler.create_error_response(str(e), 500)
def delete(self, id): try: self._validate_friendship(id) friend = FriendModel.delete_friend(id) UserActivityModel.log_friend_activity(friend["user_id_rcv"], friend["user_id_sender"], "DELETE") UserActivityModel.log_friend_activity(friend["user_id_sender"], friend["user_id_rcv"], "DELETE") return ResponseBuilder.build_response(friend, 204) except NoFriendFoundException as e: return ErrorHandler.create_error_response(str(e), 404) except UserMismatchException as e: return ErrorHandler.create_error_response(str(e), 409) except DBConnectionError as e: return ErrorHandler.create_error_response(str(e), 500)