Fixing bug that prevented the middleware from working with Thunderbird on Microschrott Windoof
All checks were successful
Jenkins Production Deployment

- FUCK FILE ENCODINGS
- FUCK BILL GATES
This commit is contained in:
Patrick Müller 2021-10-13 13:10:35 +02:00
parent 7622416a2f
commit 2c2e8610c3

View File

@ -48,7 +48,7 @@ export const parseIcal = function (icalContents: string): iCalFile {
header = headerMatch[0]; header = headerMatch[0];
} }
header = header.substr(0, header.lastIndexOf('\n')); header = header.substr(0, header.lastIndexOf('\n') + 1);
let events: iCalEvent[] = []; let events: iCalEvent[] = [];
let match: any; let match: any;
@ -67,7 +67,7 @@ export const parseIcal = function (icalContents: string): iCalFile {
}; };
}; };
export const getDuration = function(event: string): number { export const getDuration = function (event: string): number {
let startRegex: RegExp = /DTSTART.*?(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z?\r/gm; // Fix this, doesnt match \n but matching Z doesnt work all the time let startRegex: RegExp = /DTSTART.*?(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z?\r/gm; // Fix this, doesnt match \n but matching Z doesnt work all the time
let endRegex: RegExp = /DTEND.*?(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z?\r/gm; // s.o. let endRegex: RegExp = /DTEND.*?(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z?\r/gm; // s.o.
@ -80,7 +80,7 @@ export const getDuration = function(event: string): number {
let startDtDay = 0; let startDtDay = 0;
let startDtHour = 0; let startDtHour = 0;
let startDtMinute = 0; let startDtMinute = 0;
if(startMatch) { if (startMatch) {
startDtYear = parseInt(startMatch[1]); startDtYear = parseInt(startMatch[1]);
startDtMonth = parseInt(startMatch[2]); startDtMonth = parseInt(startMatch[2]);
startDtDay = parseInt(startMatch[3]); startDtDay = parseInt(startMatch[3]);
@ -94,7 +94,7 @@ export const getDuration = function(event: string): number {
let endDtDay = 0; let endDtDay = 0;
let endDtHour = 0; let endDtHour = 0;
let endDtMinute = 0; let endDtMinute = 0;
if(endMatch) { if (endMatch) {
endDtYear = parseInt(endMatch[1]); endDtYear = parseInt(endMatch[1]);
endDtMonth = parseInt(endMatch[2]); endDtMonth = parseInt(endMatch[2]);
endDtDay = parseInt(endMatch[3]); endDtDay = parseInt(endMatch[3]);
@ -106,14 +106,14 @@ export const getDuration = function(event: string): number {
let endDt = new Date(endDtYear, endDtMonth - 1, endDtDay, endDtHour, endDtMinute); let endDt = new Date(endDtYear, endDtMonth - 1, endDtDay, endDtHour, endDtMinute);
return endDt.getHours() - startDt.getHours(); return endDt.getHours() - startDt.getHours();
} };
export const serializeIcal = function (ical: iCalFile): string { export const serializeIcal = function (ical: iCalFile): string {
let resString = ical.head; let resString = ical.head;
ical.body.forEach((event) => { ical.body.forEach((event) => {
resString += event.content + '\n'; resString += event.content + '\n';
}); });
resString += 'END:VCALENDAR'; resString += 'END:VCALENDAR\n';
return resString; return resString;
}; };