# Servicio API: endpoints GET para descarga from flask import Flask, request, jsonify from App.Services.logic_service import run_etl # O importa db_utils directamente import pandas as pd import logging app = Flask(__name__) logging.basicConfig(filename='Logs/api.log', level=logging.ERROR, format='%(asctime)s - %(levelname)s - %(message)s') @app.route('/api/download', methods=['GET']) def download_data(): try: project = request.args.get('project') task = request.args.get('task') # Lógica: query DB y devolver JSON/CSV conn = get_db_connection() # Importa de Utils query = f"SELECT * FROM {task} WHERE project = '{project}'" df = pd.read_sql(query, conn) conn.close() return jsonify(df.to_dict(orient='records')) except Exception as e: logging.error(f"API falló: {str(e)}") return jsonify({"error": "Error interno del servidor"}), 500 # Devuelve error, pero Flask sigue vivo