From 34096f877a6850731bc423dda8f72fa95c516679 Mon Sep 17 00:00:00 2001 From: flfeders Date: Tue, 19 Mar 2024 13:13:41 +0100 Subject: [PATCH] Changes in times and Dashboard --- imports/noa/Projekte.csv | 89 +++++++ imports/noa/index.js | 71 +----- imports/specht/Zeiterfassung.csv | 138 ++++++++++ imports/specht/zeiten.csv | 22 ++ spaces/pages/profiles/show/[id].vue | 2 +- tools/comServer/index.mjs | 14 +- tools/comServer/package-lock.json | 381 ++-------------------------- tools/comServer/package.json | 1 + tools/comServer/test.mjs | 25 ++ 9 files changed, 322 insertions(+), 421 deletions(-) create mode 100644 imports/noa/Projekte.csv create mode 100644 imports/specht/Zeiterfassung.csv create mode 100644 imports/specht/zeiten.csv create mode 100644 tools/comServer/test.mjs diff --git a/imports/noa/Projekte.csv b/imports/noa/Projekte.csv new file mode 100644 index 0000000..6bb1e03 --- /dev/null +++ b/imports/noa/Projekte.csv @@ -0,0 +1,89 @@ +Kunde;Projektname;Anmerkungen;Angaben zum Projekt;customer +Artelia GmbH;TÜV PVI Begleitung;;TÜV PVI Begleitung;469 +Artelia GmbH;PFE-Shell LNG Retail Station;;;469 +Artelia GmbH;PVI+PFE Shell Retail Station;;inkl. Prüffristenermittlung;469 +Artelia GmbH;Beratung / Unterstützung;;Beratung / Unterstützung;469 +Artelia GmbH;Legal Assistenz;;22-0290;469 +Artelia GmbH;Kontrolle Dokumentation;;"Kontrolle Dokumentation wiederkehrender Prüfungen +Intervall 6 Monate ";469 +Artelia GmbH;Kontrolle Dokumentation + Legal Assistenz;Kontrolle Dokumentation pro Anlage und 200 Stunden Arbeitsleistung nach Aufwand;23-2470 / 23-2471;469 +Artelia GmbH;Prüfungen nach BetrSichV / GefStoffV;;"Vorbereitung und Begleitung zur wiederkehrenden Prüfung +inkl Vor-Ort-Termin +Dokumentenprüfung und Zusammenstellung für ZÜS +";469 +Electrolux Rothenburg GmbH Factory and Development;LNG Lagerbehälter (Energieversorgung);;"ELECTROLUX ROTHENBURG GmbH Factory and Development +";483 +KARO Anlagenbau;KARO Anlagenbau;;Aufarbeitung Anlagendokumentation;497 +Liquind 24/7 GmbH;LNG Anlage Standort: Crailsheim;;LNG Anlage Standort: Crailsheim;465 +Liquind 24/7 GmbH;Arbeitsstunden Projekte ;;Serviceleistungen;465 +Liquind 24/7 GmbH;LNG Anlage Standort: Memmingen;;Zeissweg 5, 87700 Memmingen;465 +Liquind 24/7 GmbH;LNG Anlage Standort: Hamburg;;Altenwerder Hauptdeich, 21129 Hamburg;465 +Liquind 24/7 GmbH;LNG Anlage Standort: Duisburg;;LNG Anlage Standort: Duisburg;465 +Liquind 24/7 GmbH;LNG Anlage Standort: Mannheim;;Ruhrorter Str. 26, 68219 Mannheim;465 +Liquind 24/7 GmbH;LNG Anlage Standort: Göttingen;;Herbert-Quandt-Straße 28, 37081 Göttingen;465 +Liquind 24/7 GmbH;LNG Anlage Standort: Strullendorf;;Siemensstraße 2, 96129 Strullendorf;465 +Liquind 24/7 GmbH;mobile LNG (Skidded Station);;Antrag, PVI mobile LNG Stationen;465 +Liquind 24/7 GmbH;LNG Anlage Standort: Karlsruhe;;Killisfeld Str. 42, 76227 Karlsruhe;465 +Ruhe Biogas Service GmbH;Verflüssigung Biomethan;verschiedene Standorte;" +";484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Darchau;82022010;Hauptstr. 2, 19273 Neuhaus;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Parmen;82022020;Raakower Weg 1, 17291 Nordwestuckermarkl;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Eydelstedt;82022050;Dörpel 3, 49406 Eydelstedt;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Vehlow;82022090;Gemeinde: Gumtow, Gemarkung: Vehlow, Flurstück: 104, Flur:4;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Schmuggerow;82022040;Gemarkung: Schmuggerow, Flurstück 59/8, Flur: 2, 17398 Löwitz;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Bahrenborstel;82022160;Eichenstr. 22, 27245 Bahrenborstel;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Kortenberken;82023080;Kortenberken, 49835 Wietmarschen;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Geiseltal;82022100;Naumburherstr. 87, 06242 Großkayna;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Lewitz;82022150;Gestütsweg 2, 19306 Neustadt-Glewe;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Picher;82022030;Lindenstr. 18, 19230 Picher;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Jeetze;82022170;Sieper Str. 1, 39624 Kalbe / Milde OT Jeetze;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Velgast;82022110;Gewerbegebiet Süd, 18469 Velgast ;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Hawangen;82022060;Ziegeleiweg 1, 87749 Hawangen;484 +Ruhe Biogas Service GmbH;Verflüssigung LNG: Trechwitz;82023020;Gemarkung: Damsdorf, Flurstück: 369, Flur: 1;484 +ViGo Bioenergy GmbH;LNG Anlage Standort: Wustermark;WUS-VIG-1012020001-185022;Leipziger Str. 3, 14641 Wustermark;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Stavenhagen;STA-VIG-1012020002-185022B;Preetzer Str. 1, 17153 Stavenhagen;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Weiden, Oberpfalz;WER-VIG-1022022006-79673;Bürgermeister-Bikmüller-Str. 22, 92533 Weiden-Wernberg;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Klipphausen / Dresden;KLI-VIG-1032022005-21D0020;"Dresdner Str. 10, Klipphausen (Dresden) +Flur 210/6";490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Speyer;SPE-VIG-1022022008-20D0014;Stockholmer Str. 17, 67346 Speyer;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Ludwigsfelde (Großbeeren);LUD-VIG-1022022012-80353;Birkengrund 10, 14974 Ludwigsfelde;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Leipzig;LEI-VIG-1022021007-20D0015;"Söllichauer Str. , 04356 Leipzig +Gemarkung Seehausen, Flurstück 563";490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Dorfmark;DOR-VIG-1012022009-225004;"Klaus-Seckel-Str., 29683 Bad Fallingbostel +Gemarkung Dorfmark +";490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Leverkusen;LEV-VIG-1012022011-225002;Carl-Duisberg-Str.1, 51373 Leverkusen;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Dummerstorf;DUM-VIG-1012022010-225001;Gewerbepark Ostsee 1, 18196 Dummerstorf;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Euskirchen;EUS-VIG-1022022013-80349;Heinrich-Barth-Str. (30), 53881 Euskirchen;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Singen/Steißlingen;STE-VIG-1022022014-80688;Industriestr. 8, 78256 Steißlingen;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Landsberg/Queis;QUE-VIG-1012022015-225003;"Igepa-Ring 7,06188 Landsberg (Queis) +Flurstück 30/56 +Standort von PFLAUM ";490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Braunschweig/Schwülper;BRA-VIG-1012022016-225005;"Waller See 19a, 38179 Gross Schwülper +Ortsteil (Walle) +";490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Bitterfeld-Wolfen ;BIT-VIG-1022022017;"Sandersdorferstraße 19b, Bitterfeld-Wolfen +OT Thalheim +Gemarkung Thalheim Flur 3, Flurstück 404";490 +ViGo Bioenergy GmbH;asset management;"diverse Standorte +Dokumentationsstruktur und -ablage";Serviceleistungen;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Drei Gleichen;DGL-VIG-1022022018;Das Steinfeld 5, 99869 Drei Gleichen ;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Heiligengrabe;;"Liebentahler Bahnhof,16909 Heiligengrabe +Brandenburg ";490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Gau-Bickelheim;GBI-VIG-1022022020;Rein Hessen Blick 01, 55599 Gau-Bickelheim;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Busdorf;BUS-VIG-1022022021;"Am Königshügel 2, Busdorf +Busdorf, Flur 5, Flurstück 54/9";490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Quirla;QUI-VIG-1022023021;Hauptstraße 39 in 07646 Quirla;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Herne;HRN-VIG-1012023017-225006?;Friedrich der Große 12, 44628 Herne;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Linthe;LIN-VIG-1022023022;Westfahlenstr. 2, 14822 Linthe;490 +ViGo Bioenergy GmbH;LNG Anlage Standort: Bochum;BOC-VIG-1012024001;Flur 6 / Flurstück 288, 44894 Bochum;490 +ViGo Bioenergy GmbH;mobile LNG Anlage: Linthe;LIN-VIG-3032023023;Westfahlen Str. 2, 14822 Linthe;490 +ViGo Bioenergy GmbH;mobile LNG Anlage: Bochum;BOC-VIG-3032023012-76320;Arnoldschacht 17, 44894 Bochum;490 +ViGo Bioenergy GmbH;mobile LNG Anlage: Braunschweig/Schwülper;BRA-VIG-3032021022-74782;Waller See 104, 38179 Groß Schwülper;490 +ViGo Bioenergy GmbH;mobile LNG Anlage: Brück;BRÜ-VIG-303202020-76709;Paul-Ruoff-Str. 1, 14822 Brück;490 +ViGo Bioenergy GmbH;mobile LNG Anlage: Gau-Bickelheim;GBI-VIG-3032022011-76093;Rheinhessenblick 8, 55599 Gau-Bickelheim;490 +ViGo Bioenergy GmbH;mobile LNG Anlage: Leipzig;LEI-VIG-3032021017-76320;Söllichauer Str.4, 04356 Leipzig-Nord;490 +ViGo Bioenergy GmbH;mobile LNG Anlage: Mittenwalde;MIT-VIG-3032021014;Zeppelinring 1, 15749 Mittenwalde;490 +ViGo Bioenergy GmbH;mobile LNG Anlage: Queis (Landsberg);QUE-VIG-3032020009-74789;Igepa-Ring 7, 06188 Landsberg / Queis;490 +ViGo Bioenergy GmbH;mobile LNG Anlage: Speyer;SPE-VIG-3032021015-76093;Stcokholmer Str. 17, 67346 Speyer;490 +ViGo Bioenergy GmbH;mobile LNG Anlage: Singen;SIN-VIG-3032022021-21D0021;Gottlieb-Daimler-Str.12, 78824 Singen;490 diff --git a/imports/noa/index.js b/imports/noa/index.js index 0f06472..ae8cfe7 100644 --- a/imports/noa/index.js +++ b/imports/noa/index.js @@ -6,90 +6,39 @@ const {createClient} = require("@supabase/supabase-js") const supabase = createClient("https://uwppvcxflrcsibuzsbil.supabase.co","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InV3cHB2Y3hmbHJjc2lidXpzYmlsIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTcwMDkzODE5NCwiZXhwIjoyMDE2NTE0MTk0fQ.6hOkD1J8XBkVJUm-swv0ngLQ74xrEYr28EEbo0rUrts") const tenant = 6 let rows = [] -let vendors = [] -let contacts = [] -fs.createReadStream(path.join(__dirname, "./Lieferanten.csv"), "utf-8") +let projects = [] +fs.createReadStream(path.join(__dirname, "./Projekte.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 => { + console.log(rows[10].customer) + + projects = rows.map(i => { let item = { - vendorNumber : Number(i['Lieferanten-Nr.']), + customer : Number(i.customer), tenant: tenant, - name: i.Firmenname, - infoData: { - zip: i["PLZ"], - city: i["Ort"], - street: i["Namenszusatz"], - tel: i["Telefon 1"], - } - } - - if(i["Land"] === "D") { - item.infoData.country = "Deutschland" - } else if(i["Land"] === "IRL") { - item.infoData.country = "Irland" - } else if(i["Land"] === "B") { - item.infoData.country = "Belgien" - } else if(i["Land"] === "F") { - item.infoData.country = "Frankreich" - } else if(i["Land"] === "E") { - item.infoData.country = "Spanien" - } else if(i["Land"] === "USA") { - item.infoData.country = "USA" - } else if(i["Land"] === "NL") { - item.infoData.country = "Niederlande" - } else if(i["Land"] === "S") { - item.infoData.country = "Schweden" + name: i.Projektname, + notes: i.Anmerkungen + "\n" + i['Angaben zum Projekt'] } return item }) - console.log(vendors) - - rows.forEach(i => { - if(i["Haupt-AP"]) { - let item = { - firstName: i["Haupt-AP"].split(" ")[1], - lastName: i["Haupt-AP"].split(" ")[2], - fullName: i["Haupt-AP"].split(" ")[1] + i["Haupt-AP"].split(" ")[2], - salutation: i["Haupt-AP"].split(" ")[0], - tenant: tenant, - vendorNumber: i['Lieferanten-Nr.'] - } - - contacts.push(item) - } + console.log(projects) - }) - console.log(contacts) - const {data:vendorsData,error: vendorsError} = await supabase.from("vendors").insert(vendors).select() + const {data:vendorsData,error: vendorsError} = await supabase.from("projects").insert(projects).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) diff --git a/imports/specht/Zeiterfassung.csv b/imports/specht/Zeiterfassung.csv new file mode 100644 index 0000000..48bf874 --- /dev/null +++ b/imports/specht/Zeiterfassung.csv @@ -0,0 +1,138 @@ +Mitarbeiter;Datum;Start_1;Ende_1;Start_2;Ende_2;Start_3;Ende_3;Start_4;Ende_4;Notiz +56;02.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;03.01.24;08:00;10:00;10:15;13:00;13:30;17:00;;; +56;04.01.24;08:00;10:00;10:15;13:00;13:30;17:00;;; +56;05.01.24;08:00;10:00;10:15;13:00;13:30;17:00;;; +56;08.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;09.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;10.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;11.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;12.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;15.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;16.01.24;08:00;10:00;10:15;14:00;;;;; +56;17.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;18.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;19.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;22.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;23.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;24.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;25.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;26.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;29.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;30.01.24;08:10;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;31.01.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;01.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;02.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;05.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;06.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;07.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;08.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;09.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;12.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;13.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;14.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;15.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;16.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:30; +56;19.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:30; +56;20.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;21.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:45; +56;22.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;23.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;26.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;27.02.24;08:00;10:00;10:15;11:00;;;;; +56;28.02.24;;;;;;;;;Krankheit +56;29.02.24;;;;;;;;;Krankheit +55;02.01.24;;;;;;;;;Urlaub +55;03.01.24;;;;;;;;;Urlaub +55;04.01.24;;;;;;;;;Urlaub +55;05.01.24;;;;;;;;;Urlaub +55;08.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;09.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;10.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;11.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;12.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;15.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;16.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;17.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;18.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;19.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;22.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;23.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;24.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;25.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;26.01.24;08:00;10:00;10:15;12:00;;;;; +55;29.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;30.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;31.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;01.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;02.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;05.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;18:00; +55;06.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;18:00; +55;07.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;08.02.24;;;;;;;;;Krankheit +55;09.02.24;;;;;;;;;Krankheit +55;12.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;13.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:15; +55;14.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;15.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;16.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;19.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;20.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:15; +55;21.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;22.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;23.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;26.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;27.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;28.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +55;29.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:15; +32;02.01.24;;;;;;;;;Urlaub +32;03.01.24;;;;;;;;;Urlaub +32;04.01.24;;;;;;;;;Urlaub +32;05.01.24;;;;;;;;;Urlaub +32;06.01.24;;;;;;;;;Urlaub +32;08.01.24;;;;;;;;;Berufsschule +32;09.01.24;;;;;;;;; +32;10.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;11.01.24;08:00;10:00;10:15;13:00;;;;; +32;12.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;13.01.24;09:00;13:00;;;;;;; +32;15.01.24;;;;;;;;;Berufsschule +32;16.01.24;;;;;;;;; +32;17.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;18.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;19.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;20.01.24;;;;;;;;; +32;22.01.24;;;;;;;;;Berufsschule +32;23.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;24.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;25.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;26.01.24;;;;;;;;; +32;27.01.24;09:00;13:00;;;;;;; +32;29.01.24;;;;;;;;;Berufsschule +32;30.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;31.01.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;01.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;02.02.24;08:00;13:00;;;;;;; +32;03.02.24;;;;;;;;; +32;05.02.24;;;;;;;;;Berufsschule +32;06.02.24;;;;;;;;; +32;07.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;08.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;09.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;10.02.24;09:00;13:00;;;;;;; +32;12.02.24;;;;;;;;;Berufsschule +32;13.02.24;;;;;;;;; +32;14.02.24;;;;;;;;;Krankheit +32;15.02.24;;;;;;;;;Krankheit +32;16.02.24;;;;;;;;;Krankheit +32;17.02.24;;;;;;;;;Krankheit +32;19.02.24;;;;;;;;;Berufsschule +32;20.02.24;;;;;;;;; +32;21.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;22.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;23.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; +32;24.02.24;09:00;13:00;;;;;;; +32;26.02.24;;;;;;;;;Berufsschule +32;27.02.24;;;;;;;;; +32;28.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:15; +32;29.02.24;08:00;10:00;10:15;13:00;13:30;15:30;15:45;17:00; \ No newline at end of file diff --git a/imports/specht/zeiten.csv b/imports/specht/zeiten.csv new file mode 100644 index 0000000..4c801e9 --- /dev/null +++ b/imports/specht/zeiten.csv @@ -0,0 +1,22 @@ +Mitarbeiter;Datum;Start_1;Ende_1;Start_2;Ende_2;Start_3;Ende_3;Start_4;Ende_4;Notiz +56;01.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;02.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;05.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;06.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;07.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;08.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;09.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;12.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;13.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;14.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;15.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;16.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;19.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:30; +56;20.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;18:00; +56;21.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:45; +56;22.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;23.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;26.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00; +56;27.02.24;08:00;10:00;10:15;11:00;;;;; +56;28.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00;Krankheit +56;29.02.24;08:00;10:00;10:15;13:00;13:30;15:00;15:15;17:00;Krankheit \ No newline at end of file diff --git a/spaces/pages/profiles/show/[id].vue b/spaces/pages/profiles/show/[id].vue index 0154921..78b09f5 100644 --- a/spaces/pages/profiles/show/[id].vue +++ b/spaces/pages/profiles/show/[id].vue @@ -61,7 +61,7 @@ const workingTimeInfo = computed(() => { - let weekFactor = 4.35 + let weekFactor = 4.33 let monthlyWorkingHours = itemInfo.value.weeklyWorkingHours * weekFactor diff --git a/tools/comServer/index.mjs b/tools/comServer/index.mjs index 7e2d672..25bcf08 100644 --- a/tools/comServer/index.mjs +++ b/tools/comServer/index.mjs @@ -4,10 +4,16 @@ import {createClient} from "@supabase/supabase-js"; import vCardsJS from "vcards-js" import cors from 'cors' import axios from "axios" +import basicAuth from "express-basic-auth" const supabase = createClient(process.env.SUPABASE_URL,process.env.SUPABASE_SERVICE_ROLE_KEY) const app = express(); app.use(cors()) +app.use(basicAuth({ + users: { + frontend: "Xt9Zn9RDSpdbr" + } +})) /* * TODO: Implement Auth for the Endpoints @@ -35,7 +41,7 @@ const getGoCardlessToken = async () => { } -app.get("/contacts/:tenantId", async (req,res) => { +/*app.get("/contacts/:tenantId", async (req,res) => { const tenantId = req.params.tenantId let contacts = (await supabase.from("contacts").select().eq("tenant", tenantId)).data let customers = (await supabase.from("customers").select().eq("tenant", tenantId)).data @@ -66,7 +72,7 @@ app.get("/contacts/:tenantId", async (req,res) => { //send the response res.send(cardsString); -}) +})*/ app.get('/calendar/:userId', async (req, res) => { @@ -105,7 +111,7 @@ app.get('/calendar/:userId', async (req, res) => { } }); -app.get("/banking/token", async (req,res) => { +/*app.get("/banking/token", async (req,res) => { if(goCardlessAccessToken) { res.json({ token: goCardlessAccessToken @@ -116,7 +122,7 @@ app.get("/banking/token", async (req,res) => { token: goCardlessAccessToken }) } -}) +})*/ app.get('/banking/institutions/:bic?', async (req,res) => { diff --git a/tools/comServer/package-lock.json b/tools/comServer/package-lock.json index 556c970..44abedb 100644 --- a/tools/comServer/package-lock.json +++ b/tools/comServer/package-lock.json @@ -4,14 +4,15 @@ "requires": true, "packages": { "": { + "name": "comServer", "dependencies": { "@supabase/supabase-js": "^2.39.3", "axios": "^1.6.7", "cors": "^2.8.5", "dayjs": "^1.11.10", "express": "^4.18.2", + "express-basic-auth": "^1.2.1", "ical-generator": "^6.0.1", - "imapflow": "^1.0.150", "moment": "^2.30.1", "node-imap": "^0.9.6", "nodemon": "^3.0.3", @@ -111,17 +112,6 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -156,14 +146,6 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/axios": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", @@ -179,24 +161,21 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-auth/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/binary-extensions": { "version": "2.2.0", @@ -249,29 +228,6 @@ "node": ">=8" } }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -443,14 +399,6 @@ "node": ">= 0.8" } }, - "node_modules/encoding-japanese": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encoding-japanese/-/encoding-japanese-2.0.0.tgz", - "integrity": "sha512-++P0RhebUC8MJAwJOsT93dT+5oc5oPImp1HubZpAuCZ5kTLnhuuBhKHj2jJeO/Gj93idPBWmIuQ9QWMe5rX3pQ==", - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/es-errors": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", @@ -472,22 +420,6 @@ "node": ">= 0.6" } }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -529,12 +461,12 @@ "node": ">= 0.10.0" } }, - "node_modules/fast-redact": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", - "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==", - "engines": { - "node": ">=6" + "node_modules/express-basic-auth": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/express-basic-auth/-/express-basic-auth-1.2.1.tgz", + "integrity": "sha512-L6YQ1wQ/mNjVLAmK3AG1RK6VkokA1BIY6wmiH304Xtt/cLTps40EusZsU1Uop+v9lTDPxdtzbFmdXfFO3KEnwA==", + "dependencies": { + "basic-auth": "^2.0.1" } }, "node_modules/fill-range": { @@ -566,9 +498,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -802,67 +734,16 @@ "node": ">=0.10.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/ignore-by-default": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==" }, - "node_modules/imapflow": { - "version": "1.0.150", - "resolved": "https://registry.npmjs.org/imapflow/-/imapflow-1.0.150.tgz", - "integrity": "sha512-pzdlx4EPF4qmr3r9gG+q4LBIJIQVuXTeDn5OKmQ8XJwEtwcGXzuYuzUmJ1JyDGUkTeqdi8/7XkPUokwp+OvA5g==", - "dependencies": { - "encoding-japanese": "2.0.0", - "iconv-lite": "0.6.3", - "libbase64": "1.2.1", - "libmime": "5.2.1", - "libqp": "2.0.1", - "mailsplit": "5.4.0", - "nodemailer": "6.9.9", - "pino": "8.17.2", - "socks": "2.7.1" - } - }, - "node_modules/imapflow/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -909,38 +790,6 @@ "node": ">=0.12.0" } }, - "node_modules/libbase64": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-1.2.1.tgz", - "integrity": "sha512-l+nePcPbIG1fNlqMzrh68MLkX/gTxk/+vdvAb388Ssi7UuUN31MI44w4Yf33mM3Cm4xDfw48mdf3rkdHszLNew==" - }, - "node_modules/libmime": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/libmime/-/libmime-5.2.1.tgz", - "integrity": "sha512-A0z9O4+5q+ZTj7QwNe/Juy1KARNb4WaviO4mYeFC4b8dBT2EEqK2pkM+GC8MVnkOjqhl5nYQxRgnPYRRTNmuSQ==", - "dependencies": { - "encoding-japanese": "2.0.0", - "iconv-lite": "0.6.3", - "libbase64": "1.2.1", - "libqp": "2.0.1" - } - }, - "node_modules/libmime/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/libqp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/libqp/-/libqp-2.0.1.tgz", - "integrity": "sha512-Ka0eC5LkF3IPNQHJmYBWljJsw0UvM6j+QdKRbWyCdTmYwvIDE6a7bCm0UkTAL/K+3KXK5qXT/ClcInU01OpdLg==" - }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -952,38 +801,6 @@ "node": ">=10" } }, - "node_modules/mailsplit": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/mailsplit/-/mailsplit-5.4.0.tgz", - "integrity": "sha512-wnYxX5D5qymGIPYLwnp6h8n1+6P6vz/MJn5AzGjZ8pwICWssL+CCQjWBIToOVHASmATot4ktvlLo6CyLfOXWYA==", - "dependencies": { - "libbase64": "1.2.1", - "libmime": "5.2.0", - "libqp": "2.0.1" - } - }, - "node_modules/mailsplit/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mailsplit/node_modules/libmime": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/libmime/-/libmime-5.2.0.tgz", - "integrity": "sha512-X2U5Wx0YmK0rXFbk67ASMeqYIkZ6E5vY7pNWRKtnNzqjvdYYG8xtPDpCnuUEnPU9vlgNev+JoSrcaKSUaNvfsw==", - "dependencies": { - "encoding-japanese": "2.0.0", - "iconv-lite": "0.6.3", - "libbase64": "1.2.1", - "libqp": "2.0.1" - } - }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -1079,14 +896,6 @@ "node": ">=0.8.0" } }, - "node_modules/nodemailer": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.9.tgz", - "integrity": "sha512-dexTll8zqQoVJEZPwQAKzxxtFn0qTnjdQTchoU6Re9BUUGBJiOy3YMn/0ShTW6J5M0dfQ1NeDeRTTl4oIWgQMA==", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/nodemon": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.3.tgz", @@ -1173,14 +982,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/on-exit-leak-free": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", - "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -1216,69 +1017,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pino": { - "version": "8.17.2", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.17.2.tgz", - "integrity": "sha512-LA6qKgeDMLr2ux2y/YiUt47EfgQ+S9LznBWOJdN3q1dx2sv0ziDLUBeVpyVv17TEcGCBuWf0zNtg3M5m1NhhWQ==", - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.1.1", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "v1.1.0", - "pino-std-serializers": "^6.0.0", - "process-warning": "^3.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^3.7.0", - "thread-stream": "^2.0.0" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/pino-abstract-transport": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz", - "integrity": "sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==", - "dependencies": { - "readable-stream": "^4.0.0", - "split2": "^4.0.0" - } - }, - "node_modules/pino-abstract-transport/node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/pino-std-serializers": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", - "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", - "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" - }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -1315,11 +1053,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -1366,14 +1099,6 @@ "node": ">=8.10.0" } }, - "node_modules/real-require": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", - "engines": { - "node": ">= 12.13.0" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -1393,14 +1118,6 @@ } ] }, - "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", - "engines": { - "node": ">=10" - } - }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -1506,44 +1223,6 @@ "node": ">=10" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/sonic-boom": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz", - "integrity": "sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==", - "dependencies": { - "atomic-sleep": "^1.0.0" - } - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "engines": { - "node": ">= 10.x" - } - }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -1571,14 +1250,6 @@ "node": ">=4" } }, - "node_modules/thread-stream": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz", - "integrity": "sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==", - "dependencies": { - "real-require": "^0.2.0" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", diff --git a/tools/comServer/package.json b/tools/comServer/package.json index 51a1914..3ab7058 100644 --- a/tools/comServer/package.json +++ b/tools/comServer/package.json @@ -8,6 +8,7 @@ "cors": "^2.8.5", "dayjs": "^1.11.10", "express": "^4.18.2", + "express-basic-auth": "^1.2.1", "ical-generator": "^6.0.1", "moment": "^2.30.1", "node-imap": "^0.9.6", diff --git a/tools/comServer/test.mjs b/tools/comServer/test.mjs new file mode 100644 index 0000000..526576d --- /dev/null +++ b/tools/comServer/test.mjs @@ -0,0 +1,25 @@ + +import axios from "axios"; + +const request = async () => { + const {data,error} = await axios({ + url:"https://ob.gocardless.com/api/v2/requisitions/", + method: "POST", + headers: { + Authorization: `Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzEwMjY2NTM2LCJqdGkiOiIyZjUyOWE3YzYzMWY0ZmEwOTQwOWY3OTgyNDA2NzJmNSIsInV1aWQiOiJmMzVlMjhlMi0yMmQyLTRhOWEtYjBhOS01NTM0OGNmZGE0NDciLCJhbGxvd2VkX2NpZHJzIjpbIjAuMC4wLjAvMCIsIjo6LzAiXX0.4ErAso0_BSdW8I8n_DHxywDApY8745eW-o2XC35eJLc`, + accept: "application/json" + }, + data: { + redirect: "http://localhost:3002/banking/link/refresh", + institution_id: "N26_NTSBDEB1", + reference: "1234567", + user_language: "de" + } + }) + + console.log(data) + console.log(error) +} + +request() +