from flask import request, jsonify
from db_config import get_db_connection

def get_muscle_by_name(muscle_name):
    try:
        conn = get_db_connection()
        cursor = conn.cursor(dictionary=True)
        cursor.execute("""
            SELECT name, display_name, common_name, description 
            FROM muscles WHERE name = %s
        """, (muscle_name,))
        result = cursor.fetchone()
        cursor.close()
        conn.close()

        if not result:
            return jsonify({"error": "Muscle not found"}), 404

        result["description"] = result["description"] or "No description available"
        return jsonify(result)

    except Exception as e:
        return jsonify({"error": str(e)}), 500

def get_all_muscles():
    try:
        conn = get_db_connection()
        cursor = conn.cursor(dictionary=True)
        cursor.execute("SELECT * FROM muscles")
        muscles = cursor.fetchall()
        cursor.close()
        conn.close()
        return jsonify(muscles)
    except Exception as e:
        return jsonify({"error": str(e)}), 500

def update_muscle_field():
    try:
        data = request.json
        name = data.get("muscleName")
        field = data.get("field")
        value = data.get("value")

        if not name or not field:
            return jsonify({"error": "Missing muscleName or field"}), 400

        conn = get_db_connection()
        cursor = conn.cursor()
        cursor.execute(f"UPDATE muscles SET {field} = %s WHERE name = %s", (value, name))
        conn.commit()
        cursor.close()
        conn.close()

        return jsonify({"status": "success"}), 200

    except Exception as e:
        return jsonify({"error": str(e)}), 500
