diff --git a/app/user/rest.py b/app/user/rest.py index dd714ce57..365cf66b6 100644 --- a/app/user/rest.py +++ b/app/user/rest.py @@ -178,6 +178,17 @@ def activate_user(user_id): return jsonify(data=user.serialize()), 200 +@user_blueprint.route("//deactivate", methods=["POST"]) +def deactivate_user(user_id): + user = get_user_by_id(user_id=user_id) + if user.state == "pending": + raise InvalidRequest("User already inactive", status_code=400) + + user.state = "pending" + save_model_user(user) + return jsonify(data=user.serialize()), 200 + + @user_blueprint.route("//reset-failed-login-count", methods=["POST"]) def user_reset_failed_login_count(user_id): user_to_update = get_user_by_id(user_id=user_id)