from cnxpdo import get_connection
from mysql.connector import Error as MySQLError

def get_tareas():
    conexionBD = get_connection()
    cursor = None 
    if conexionBD is None:
        return {
            "success": False,
            "message": "Error de conexión"
        }
    try:    
        cursor = conexionBD.cursor(dictionary=True)
        query = """
            SELECT r.asunto, 
                r.descripcion, 
                r.fecha_hora, 
                r.fecha_hora_registro,
                CONCAT(ec.nombres, ' ', ec.apellidos) AS creador, 
                CONCAT(ea.nombres, ' ', ea.apellidos) AS encargado,
                CONCAT(ucp.nombres, ' ', ucp.apellidos) AS contacto,
                t.tarea
            FROM `recordatorios` AS r
            INNER JOIN empleados AS ec ON ec.id = r.id_agente_creador
            INNER JOIN empleados AS ea ON ea.id = r.id_agente_asignado
            INNER JOIN union_contactos_personas AS ucp ON ucp.id = r.id_contacto_union
            INNER JOIN tareas AS t ON t.id = r.id_etapa;
        """
        cursor.execute(query)
        resultados = cursor.fetchall()

        return {
            "success": True,
            "message": "Tareas obtenidas",
            "data": resultados
        }
    except Exception as e:
        return {
            "success": False,
            "message": f"Error: {str(e)}"
        }
    
    finally:
        if cursor:
            cursor.close()
        if conexionBD:
            conexionBD.close()