from flask import Flask
from flask_mysqldb import MySQL
from dotenv import load_dotenv
import os

mysql = MySQL()

def create_app():
    load_dotenv()
    app = Flask(__name__)

    # DB config
    app.config['MYSQL_HOST'] = os.getenv('MYSQL_HOST')
    app.config['MYSQL_USER'] = os.getenv('MYSQL_USER')
    app.config['MYSQL_PASSWORD'] = os.getenv('MYSQL_PASSWORD')
    app.config['MYSQL_DB'] = os.getenv('MYSQL_DB')
    app.config['SECRET_KEY'] = os.getenv('SECRET_KEY')

    mysql.init_app(app)

    # Import + register blueprints
    from .routes.config_routes import config_bp
    from .routes.category_routes import category_bp
    from .routes.parts_routes import parts_bp

    app.register_blueprint(config_bp)
    app.register_blueprint(category_bp)
    app.register_blueprint(parts_bp)

    return app
