Beispiel #1
0
    def delete(cls, user_id: int):

        if not user_id == get_jwt_identity():
            return max_err(USER_NO_PERMISSION, 400)

        user = UserModel.find_by_id(user_id)
        if not user:
            return max_err(USER_NOT_FOUND, 404)

        user.delete_from_db()
        return max_res(USER_DELETED)
Beispiel #2
0
    def post(cls):
        user_json = request.get_json()
        user = UserSchema().load(user_json)

        if not user.password:
            return max_err(USER_NO_PASSWORD, 404)

        if UserModel.find_by_username(user.username):
            return max_err(USER_ALREADY_EXISTS, 400)

        user.set_password(user.password)
        user.save_to_db()

        return max_res(CREATED_SUCCESSFULLY.format(username=user.username),
                       201)
Beispiel #3
0
    def get(cls, user_id: int):

        user = UserModel.find_by_id(user_id)
        user_schema = UserSchema()

        if not user:
            return max_err(USER_NOT_FOUND, 404)

        return max_res(user_schema.dump(user))
Beispiel #4
0
    def post(cls):
        user_json = request.get_json()
        user_data = UserSchema().load(user_json)

        user = UserModel.find_by_username(user_data.username)

        if user and user.check_password(user_data.password):
            access_token = create_access_token(identity=user.id, fresh=True)
            refresh_token = create_refresh_token(user.id)
            return max_res({
                "token": access_token,
                "refresh_token": refresh_token
            })

        return max_err(INVALID_CREDENTIALS, 401)
Beispiel #5
0
 def get(cls):
     user_id = get_jwt_identity()
     user = UserModel.find_by_id(user_id)
     if not user:
         return max_err(USER_NOT_FOUND, 404)
     return max_res(UserSchema().dump(user))
Beispiel #6
0
def handle_marshmallow_validation(err):
    return max_err(err.messages, 400)