import requests
import psycopg2
import json


def fetch_and_store_data():
    # URL del endpoint
    url = "http://170.246.84.78:2730/api/productospvp"

    # Hacemos la solicitud HTTP para obtener los datos
    response = requests.get(url)
    if response.status_code == 200:
        data = response.json()
    else:
        print(f"Error fetching data: {response.status_code}")
        return

    # Conectar a la base de datos PostgreSQL
    try:
        conn = psycopg2.connect(
            dbname="tws2_db_prod_courier",
            user="tws2admin",  # Reemplaza con tu usuario
            password="Q@QMKUrTsFFa",  # Reemplaza con tu contraseña
            host="198.251.78.201",
            port="5432"
        )
        cursor = conn.cursor()

        # Insertar los datos en la base de datos
        for producto in data:
            cursor.execute('''
                INSERT INTO lhia_agrota.t_seccion_documento
(id_seccion_documento, embedding, generado, score, texto, id_documento)
VALUES(nextval('lhia_agrota.t_seccion_documento_id_seccion_documento_seq'::regclass), '', 0, 0, %s, 11)
            ''', (
                "codigo: " + producto['codigoVentaProducto'] + " descripcion: " + producto[
                'descripcionProducto'] + " tipo de producto: " + producto['tipoProducto'] + " linea: " + producto[
                        'linea'] + " cotegoria: " + producto['categoria'] + " marca: " + producto[
                        'marca'] + " existencia: " + producto['existencia'] + " nombre de bodega: " + producto[
                        'nombreBodega']
            ))

        # Guardar los cambios y cerrar la conexión
        conn.commit()
        cursor.close()
        conn.close()
        print("Data fetched and stored successfully.")

    except Exception as e:
        print(f"Error connecting to the database: {e}")


# Llamar a la función para ejecutar el proceso
fetch_and_store_data()
