From 38050472fb27cfedf0210b565e655b28d51e1ab4 Mon Sep 17 00:00:00 2001 From: Lino Schmidt Date: Tue, 12 Sep 2023 10:08:00 +0200 Subject: [PATCH] =?UTF-8?q?Zeige=20F=C3=A4cher=20ohne=20Beschreibung=20an?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server.js | 59 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 17 deletions(-) diff --git a/src/server.js b/src/server.js index 403a16b..231c686 100644 --- a/src/server.js +++ b/src/server.js @@ -100,29 +100,54 @@ async function getUntis(weekDate) { }); try { - const lessonid = timetable[0].kl[0].id; - - startDateStr = startDate.toISOString().split("T")[0]; - - await fetch(`https://${untisServers[index]}/WebUntis/api/rest/view/v1/calendar-entry/detail?elementId=${lessonid}&elementType=1&endDateTime=${startDateStr}T23%3A59%3A59&startDateTime=${startDateStr}T00%3A00%3A00`, { - "headers": { - "authorization": authorization, - "cookie": cookie, - }, - "method": "GET" - }).then(res => res.json()).then(json => { - for (entry of json.calendarEntries) { - if (!teachingContent.includes(entry.teachingContent)) { - if (teachingContent != "") teachingContent += '\n'; - teachingContent += "- "+entry.teachingContent; + if (timetable[0] != undefined) { + const lessonid = timetable[0].kl[0].id; + + startDateStr = startDate.toISOString().split("T")[0]; + + const subjectsWithoutTeachingContent = []; + + await fetch(`https://${untisServers[index]}/WebUntis/api/rest/view/v1/calendar-entry/detail?elementId=${lessonid}&elementType=1&endDateTime=${startDateStr}T23%3A59%3A59&startDateTime=${startDateStr}T00%3A00%3A00`, { + "headers": { + "authorization": authorization, + "cookie": cookie, + }, + "method": "GET" + }).then(res => res.json()).then(json => { + for (entry of json.calendarEntries) { + if (entry.teachingContent == null) { + subjectsWithoutTeachingContent.push(entry.subject.displayName); + } else { + if (!teachingContent.includes(entry.teachingContent)) { + if (teachingContent != "") teachingContent += '\n'; + teachingContent += "- " + entry.teachingContent; + } + + if (subjectsWithoutTeachingContent.includes(entry.subject.displayName)) { + subjectsWithoutTeachingContent.splice(subjectsWithoutTeachingContent.indexOf(entry.subject.displayName), 1); + } + } + + if (!teachingContent.includes(entry.teachingContent) && entry.teachingContent != null) { + if (teachingContent != "") teachingContent += '\n'; + teachingContent += "- " + entry.teachingContent; + } + } + }); + + if (subjectsWithoutTeachingContent.length > 0) { + if (teachingContent != "") teachingContent += '\n'; + teachingContent += "Keine Unterrichtsinhalte für folgende Fächer gefunden:\n"; + for (subject of subjectsWithoutTeachingContent) { + teachingContent += "- " + subject + "\n"; } } - }); + } } catch (error) { console.error(error); } - startDate.setDate(startDate.getDate() + i); + startDate.setDate(startDate.getDate() + 1); } // Abmelden