import pymysql
pymysql.install_as_MySQLdb()

from flask import Flask
from config import Config
from extensions import db, jwt, cors, init_cloudinary

def create_app():
    app = Flask(__name__)
    app.config.from_object(Config)

    db.init_app(app)
    jwt.init_app(app)
    cors.init_app(app, resources={r"/api/*": {"origins": "*"}})
    init_cloudinary(app)

    from routes.auth import auth_bp
    from routes.pacientes import pacientes_bp
    from routes.palavras import palavras_bp
    from routes.interacoes import interacoes_bp

    app.register_blueprint(auth_bp,       url_prefix='/api/auth')
    app.register_blueprint(pacientes_bp,  url_prefix='/api/pacientes')
    app.register_blueprint(palavras_bp,   url_prefix='/api/palavras')
    app.register_blueprint(interacoes_bp, url_prefix='/api/interacoes')

    with app.app_context():
        db.create_all()

    return app

if __name__ == '__main__':
    app = create_app()
    app.run(debug=True, host='0.0.0.0', port=5000)