from flask import Flask, send_from_directory
from flask_mysqldb import MySQL
from .config import Config
import os 

# Importa os blueprints
from .routes.auth import auth
from .routes.perfil import perfil
from .routes.montagem import montagem
from .routes.zabbix import zabbix
from .routes.integrator import zammad
from.routes.boletos import boletos
from.routes.upload_img import imagem
from.routes.servicos import servicos
from.routes.empresas import empresas
from.routes.newuser import newuser
from.routes.newclient import newclient
from.routes.usuarios import usuarios



# Inicializa o MySQL
mysql = MySQL()

# Inicializa a aplicação Flask e outras extensões
def create_app():
    app = Flask(__name__)
    app.config.from_object(Config)
    
    # Caminho para o diretório onde estão as imagens
    app.config['IMAGE_FOLDER'] = '/var/www/Backend/itguys/ambiente_python/repositorio_img'
    
    # Registra o endpoint para servir as imagens
    @app.route('/repositorio_img/<path:filename>')
    def serve_image(filename):
        return send_from_directory(app.config['IMAGE_FOLDER'], filename)
    
    # Inicializa o MySQL
    mysql.init_app(app)
    
    # Registra os blueprints
    app.register_blueprint(auth)
    app.register_blueprint(perfil)
    app.register_blueprint(montagem)
    app.register_blueprint(zabbix)
    app.register_blueprint(zammad)
    app.register_blueprint(boletos)
    app.register_blueprint(imagem)
    app.register_blueprint(servicos)
    app.register_blueprint(empresas)
    app.register_blueprint(newuser)
    app.register_blueprint(newclient)
    app.register_blueprint(usuarios)
    
   

    
    @app.route('/')
    def home():
        return "Aplicação Flask funcionando!"
    
    return app

