Introduce a decorator for admin paths #138

Open
opened 2025-12-17 10:43:05 +00:00 by fkobi · 0 comments
Owner

A decorator like

def require_admin_key(f):
    @wraps(f)
    def decorated_function(*args, **kwargs):
        if request.form.get("admin_key") != ADMIN_KEY:
            abort(HTTPStatus.UNAUTHORIZED)
        return f(*args, **kwargs)
    return decorated_function

could make the functions more DRY and cleaner:

 @html_blueprint.route("/admin/reset/<path:url>", methods=["POST"])
+@require_admin_key
 def reset(url) -> str:
-    # Check for valid admin credentials
-    if request.form.get("admin_key") != ADMIN_KEY:
-        abort(HTTPStatus.UNAUTHORIZED)
     <do-stuff>
A decorator like ```python def require_admin_key(f): @wraps(f) def decorated_function(*args, **kwargs): if request.form.get("admin_key") != ADMIN_KEY: abort(HTTPStatus.UNAUTHORIZED) return f(*args, **kwargs) return decorated_function ``` could make the functions more DRY and cleaner: ```diff @html_blueprint.route("/admin/reset/<path:url>", methods=["POST"]) +@require_admin_key def reset(url) -> str: - # Check for valid admin credentials - if request.form.get("admin_key") != ADMIN_KEY: - abort(HTTPStatus.UNAUTHORIZED) <do-stuff> ```
fkobi added the
component
backend
prio
maybe
labels 2025-12-17 10:43:05 +00:00
fkobi added the enhancement label 2025-12-17 11:16:01 +00:00
Sign in to join this conversation.