from functools import wraps
from flask import request, jsonify, current_app


def require_api_key(f):
    """Decorator that rejects requests missing a valid admin X-API-Key header."""
    @wraps(f)
    def decorated(*args, **kwargs):
        key = request.headers.get("X-API-Key")
        if not key or key != current_app.config["API_KEY"]:
            return jsonify({"error": "Unauthorized"}), 401
        return f(*args, **kwargs)
    return decorated


def require_game_key(f):
    """Decorator that rejects requests missing a valid game X-Game-Key header."""
    @wraps(f)
    def decorated(*args, **kwargs):
        key = request.headers.get("X-Game-Key")
        if not key or key != current_app.config["GAME_KEY"]:
            return jsonify({"error": "Unauthorized"}), 401
        return f(*args, **kwargs)
    return decorated
