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 vendors = [] let contacts = [] fs.createReadStream(path.join(__dirname, "../../input/contacts.csv"), "utf-8") .pipe(csv({ separator: ";" })) .on("data", (data) => rows.push(data)) .on("end", async function () { console.log("finished"); console.log(rows) vendors = rows.map(i => { let item = { vendorNumber : Number(i.Lieferantennummer), tenant: tenant, name: i.Firmenname, infoData: { zip: i["PLZ 1"], city: i["Ort 1"], ustid: i["Umsatzsteuer ID"], street: i["Straße 1"], country: i["Land 1"], tel: i["Telefon 1"], email: i["E-Mail 1"] } } return 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"]) { 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, vendorNumber: i["Lieferantennummer"] } contacts.push(item) } }) const {data:vendorsData,error: vendorsError} = await supabase.from("vendors").insert(vendors).select() console.log(vendorsData) console.log(vendorsError) contacts = contacts.map(i => { let item = { ...i, vendor: vendorsData.find(v => v.vendorNumber === i.vendorNumber).id } delete item.vendorNumber 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); });