Skip to content

Commit bc3aeb3

Browse files
committed
added local redirects for gForms for registration and user deletion, plus reduced admin error message verbosity
1 parent 262b391 commit bc3aeb3

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

src/server/endpoints/admin.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from werkzeug.exceptions import NotFound, Unauthorized
66
from werkzeug.utils import redirect
77

8-
from .._config import ADMIN_PASSWORD, REGISTER_WEBHOOK_TOKEN
8+
from .._config import ADMIN_PASSWORD, API_KEY_REGISTRATION_FORM_LINK, API_KEY_REMOVAL_REQ_FORM_LINK, REGISTER_WEBHOOK_TOKEN
99
from .._security import resolve_auth_token
1010
from ..admin.models import User, UserRole
1111

@@ -58,7 +58,7 @@ def _index():
5858
)
5959
flags["banner"] = "Successfully Added"
6060
else:
61-
flags["banner"] = "User with such email/api key already exists."
61+
flags["banner"] = "User with such email and/or api key already exists."
6262
users = [user.as_dict for user in User.list_users()]
6363
return _render("overview", token, flags, users=users, user=dict())
6464

@@ -73,12 +73,10 @@ def _detail(user_id: int):
7373
User.delete_user(user.id)
7474
return redirect(f"./?auth={token}")
7575
flags = dict()
76-
if request.method == "PUT" or request.method == "POST":
76+
if request.method in ["PUT", "POST"]:
7777
user_check = User.find_user(api_key=request.values["api_key"], user_email=request.values["email"])
7878
if user_check and user_check.id != user.id:
79-
flags[
80-
"banner"
81-
] = "Could not update the user because of api_key/email conflict. User with the same api_key/email already exists."
79+
flags["banner"] = "Could not update user; same api_key and/or email already exists."
8280
else:
8381
user = user.update_user(
8482
user=user,
@@ -95,6 +93,16 @@ def register_new_key(api_key: str, email: str) -> str:
9593
return api_key
9694

9795

96+
@bp.route("/registration_form", methods=["GET"])
97+
def registration_form_redirect():
98+
# TODO: replace this with our own hosted registration form instead of external
99+
return redirect(API_KEY_REGISTRATION_FORM_LINK, code=302)
100+
101+
@bp.route("/removal_request", methods=["GET"])
102+
def removal_request_redirect():
103+
# TODO: replace this with our own hosted form instead of external
104+
return redirect(API_KEY_REMOVAL_REQUEST_LINK, code=302)
105+
98106
@bp.route("/register", methods=["POST"])
99107
def _register():
100108
body = request.get_json()
@@ -106,8 +114,8 @@ def _register():
106114
user_email = body["user_email"]
107115
if user_exists(user_email=user_email, api_key=user_api_key):
108116
return make_response(
109-
"User with such email or API Key already exists, try to use different email or contact us to resolve this issue",
117+
"User with email and/or API Key already exists, use different parameters or contact us for help",
110118
409,
111119
)
112120
api_key = register_new_key(user_api_key, user_email)
113-
return make_response(f"Successfully registered the API key '{api_key}' and removed rate limit", 200)
121+
return make_response(f"Successfully registered API key '{api_key}'", 200)

0 commit comments

Comments
 (0)