from app import create_app, db
from sqlalchemy import text
from werkzeug.security import generate_password_hash

# Levantamos la aplicación para tener acceso a la configuración de la BD
app = create_app()

def insertar_vendedor_prueba():
    with app.app_context():
        # 1. Definimos los datos de prueba
        nombre_negocio = "CyberStore"
        correo = "adbeel@micyberstore.com"
        password_plana = "mesiasbv"
        telefono = "51924262891" # Puedes cambiarlo por tu número real para las pruebas del bot
        
        # 2. Encriptamos la contraseña (OBLIGATORIO para que funcione el login)
        hash_seguro = generate_password_hash(password_plana)
        
        try:
            # 3. Verificamos si ya lo creamos antes para no duplicar
            query_check = text("SELECT id FROM vendedores WHERE correo = :correo")
            existe = db.session.execute(query_check, {"correo": correo}).fetchone()
            
            if existe:
                print(f"⚠️ El usuario {correo} ya existe en la base de datos.")
                return

            # 4. Insertamos el registro
            query_insert = text("""
                INSERT INTO vendedores (nombre_negocio, correo, password_hash, telefono_whatsapp, estado) 
                VALUES (:nombre, :correo, :hash, :telefono, 'activo')
            """)
            
            db.session.execute(query_insert, {
                "nombre": nombre_negocio,
                "correo": correo,
                "hash": hash_seguro,
                "telefono": telefono
            })
            
            # Guardamos los cambios
            db.session.commit()
            
            print("✅ ¡Vendedor creado con éxito!")
            print("-" * 30)
            print(f"Negocio: {nombre_negocio}")
            print(f"Correo de acceso: {correo}")
            print(f"Contraseña: {password_plana}")
            print("-" * 30)
            
        except Exception as e:
            db.session.rollback() # Si hay error, deshacemos la transacción
            print(f"❌ Error al crear el vendedor: {e}")

if __name__ == "__main__":
    insertar_vendedor_prueba()