示例#1
0
    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)
示例#2
0
 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)