const csv = require("csv-parser") const fs = require("fs") const path = require("path") const {createClient} = require("@supabase/supabase-js") const supabase = createClient("https://uwppvcxflrcsibuzsbil.supabase.co","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InV3cHB2Y3hmbHJjc2lidXpzYmlsIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTcwMDkzODE5NCwiZXhwIjoyMDE2NTE0MTk0fQ.6hOkD1J8XBkVJUm-swv0ngLQ74xrEYr28EEbo0rUrts") const tenant = 8 let rows = [] let customers = [] let contacts = [] fs.createReadStream(path.join(__dirname, "../../input/customers.csv"), "utf-8") .pipe(csv({ separator: ";" })) .on("data", (data) => rows.push(data)) .on("end", async function () { console.log("finished"); //console.log(rows) rows.forEach(i => { if(i.Firmenname) { let item = { customerNumber : Number(i.Kundennummer), tenant: tenant, name: i.Firmenname, infoData: { zip: i["PLZ 1"], city: i["Ort 1"], ustid: i["Umsatzsteuer ID"], street: i["Straße 1"], special: i["Adresszusatz 1"], country: i["Land 1"], tel: i["Telefon 1"], email: i["E-Mail 1"] } } customers.push(item) } }) rows.forEach(i => { if((i["Ansprechpartner 1 Vorname"] ||i["Ansprechpartner 1 Nachname"] ||i["Ansprechpartner 1"] ||i["Ansprechpartner 1 Anrede"] ||i["Ansprechpartner 1 E-Mail"] ||i["Ansprechpartner 1 Telefon"]) && i.Firmenname) { console.log("TRUE") let item = { firstName: i["Ansprechpartner 1 Vorname"], lastName: i["Ansprechpartner 1 Nachname"], fullName: i["Ansprechpartner 1"], salutation: i["Ansprechpartner 1 Anrede"], email: i["Ansprechpartner 1 E-Mail"], phoneHome: i["Ansprechpartner 1 Telefon"], tenant: tenant, customerNumber: i["Kundennummer"] } contacts.push(item) } }) console.log(contacts.length) const {data:customersData,error: customersError} = await supabase.from("customers").insert(customers).select() //console.log(customersData) console.log(customersError) contacts = contacts.map(i => { let item = { ...i, customer: customersData.find(v => v.customerNumber === i.customerNumber).id } delete item.customerNumber return item }) const {data:contactsData,error: contactsError} = await supabase.from("contacts").insert(contacts).select() //console.log(contactsData) console.log(contactsError) //console.log(rows) }) .on("error", function (error) { console.log(error.message); });