from flask import Blueprint, request, jsonify, render_template
import mysql.connector
import os

parts_bp = Blueprint('parts', __name__)

def get_db_connection():
    return mysql.connector.connect(
        host=os.getenv('MYSQL_HOST'),
        user=os.getenv('MYSQL_USER'),
        password=os.getenv('MYSQL_PASSWORD'),
        database=os.getenv('MYSQL_DB'),
        port=int(os.getenv('MYSQL_PORT', 3306))
    )

@parts_bp.route('/parts/columns')
def get_parts_columns():
    conn = get_db_connection()
    cur = conn.cursor()
    cur.execute("SHOW COLUMNS FROM parts")
    columns = cur.fetchall()
    cur.close()
    conn.close()

    skip = {'id', 'image_path', 'category_id'}
    col_names = [col[0] for col in columns if col[0] not in skip]

    return jsonify(col_names)

@parts_bp.route('/parts', methods=['GET'])
def get_parts_by_category():
    category_id = request.args.get('category_id')
    if not category_id:
        return jsonify([])

    conn = get_db_connection()
    cur = conn.cursor(dictionary=True)
    cur.execute("SELECT * FROM parts WHERE category_id = %s", (category_id,))
    parts = cur.fetchall()
    cur.close()
    conn.close()

    return jsonify(parts)
@parts_bp.route('/parts-manager')
def parts_manager():
    return render_template("parts_manager.html")
