Exemplo n.º 1
0
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument("username",
                            help="This field cannot be blank",
                            required=True)
        parser.add_argument("password",
                            help="This field cannot be blank",
                            required=True)

        data = parser.parse_args()

        if UserModel.find_by_username(data["username"]):
            return {
                "message": "User {} already exists".format(data["username"])
            }

        new_user = UserModel(username=data["username"],
                             password=UserModel.generate_hash(
                                 data["password"]),
                             score=0)

        try:
            new_user.add_to_db()
            access_token = create_access_token(identity=data["username"])
            refresh_token = create_refresh_token(identity=data["username"])
            return {
                "message": "User {} was created".format(data["username"]),
                "access_token": access_token,
                "refresh_token": refresh_token
            }
        except:
            return {"message": "Something went wrong"}, 500