import sys
sys.stdout.reconfigure(encoding='utf-8') 
from flask import Flask, jsonify, Blueprint
from flask_cors import CORS
from app.routes import employees, envoi, login, message, paper, categories, smtp, bultins, employees
from app.database.database import Base, engine
from sqlalchemy.orm import sessionmaker


app = Flask(__name__)


CORS(app, resources={r"/*": {"origins": ["https://finadocs.finashore.ma","http://localhost:4200"]}},supports_credentials=True)

# Créer les tables de la base de données
Base.metadata.create_all(bind=engine)

# Créer une session de base de données
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)

# Définir les routes Flask
@app.route('/')
def read_root():
    return jsonify({"message": "Bienvenue sur l'API Flask"})

# Créer les blueprints pour chaque module
app.register_blueprint(employees.router, url_prefix="/employees")
#CORS(categories.router, supports_credentials=True)
app.register_blueprint(categories.router, url_prefix="/categories")
app.register_blueprint(smtp.router, url_prefix="/smtp")
app.register_blueprint(bultins.router, url_prefix="/bultins")
app.register_blueprint(envoi.router, url_prefix="/envoi")
app.register_blueprint(login.router, url_prefix="/login")
app.register_blueprint(message.router, url_prefix="/messages")
app.register_blueprint(paper.router, url_prefix="/papers")

if __name__ == '__main__':
    # app.run(debug=True, port=8000)
    app.run(debug=True)

