diff --git a/Dockerfile b/Dockerfile index 661bc92..dfbbf45 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,5 +23,8 @@ RUN pip3 install --no-cache-dir -r requirements.txt --break-system-packages # Öffne den Port des Web-Servers EXPOSE 3000 +# Setze die Umgebungsvariablen +ENV ONLY_SHOW_AVAILABLE true + # Starte den Web-Server CMD ["node", "server.js"] \ No newline at end of file diff --git a/README.md b/README.md index a49c3b7..053d49b 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ services: ports: - 3000:3000 environment: + - 'ONLY_SHOW_AVAILABLE=true' # Optional, default: true (only show available reports in the UI) - 'CALDAV_URL=https://example.com/calendars/' # URL to the caldav server - 'CALDAV_USER=USERNAME' # Username for the caldav server - 'CALDAV_PASSWORD=PASSWORD' # Password for the caldav server diff --git a/src/server.js b/src/server.js index ffa1396..0ec4734 100644 --- a/src/server.js +++ b/src/server.js @@ -141,6 +141,25 @@ app.get('/newweekavailable', (req, res) => { } }); +app.get('/show', (req, res) => { + let showCalendar = true; + let showUntis = true; + + if (process.env.ONLY_SHOW_AVAILABLE == "true") { + if (process.env.CALDAV_URL == undefined || process.env.CALDAV_USER == undefined || process.env.CALDAV_PASSWORD == undefined || process.env.CALDAV_CALENDAR == undefined) { + showCalendar = false; + } + if (process.env.UNTIS_SCHOOLS == undefined || process.env.UNTIS_USERNAMES == undefined || process.env.UNTIS_PASSWORDS == undefined || process.env.UNTIS_SERVERS == undefined) { + showUntis = false; + } + } + + res.send({ + calendar: showCalendar, + untis: showUntis + }); +}); + // Definiere eine Route für die Ausgabe der Daten app.get('/getreport', async (req, res) => { const weekDate = last50Weeks[req.query.week]; diff --git a/src/static/index.html b/src/static/index.html index 29388fb..60dc74f 100644 --- a/src/static/index.html +++ b/src/static/index.html @@ -14,17 +14,21 @@ -