from flask import Blueprint, request, jsonify import json from util.logger import logger from auth.token import verify_token json_formatter_blueprint = Blueprint('json_formatter_tool', __name__) @json_formatter_blueprint.route('/api/json/format', methods=['POST']) def format_json(): user = verify_token() if not user: return jsonify({"message": "Nicht autorisiert"}), 401 try: data = request.get_json(silent=True) or {} text = data.get("text", "") indent = int(data.get("indent", 2)) parsed = json.loads(text) formatted = json.dumps(parsed, indent=indent, ensure_ascii=False) return jsonify({"result": formatted}) except json.JSONDecodeError as e: return jsonify({"message": f"JSON-Fehler in Zeile {e.lineno}, Spalte {e.colno}: {e.msg}"}), 400 except Exception as e: logger.error(f"Fehler JSON-Formatter: {e}") return jsonify({"message": "Fehler beim Formatieren"}), 500