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)
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)
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))
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)
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))
def handle_marshmallow_validation(err): return max_err(err.messages, 400)