Sprint 13: WebCal-Abo / Kalender-Integration

- GET /api/webcal/token: erzeugt personl. Kalender-Token (einmalig)
- GET /api/webcal/{token}.ics: iCal-Feed mit Health-Erinnerungen,
  eigenen Events, Gassi-Treffen (erstellt + beigetreten), angenommenen Sittings
- RRULE für wiederkehrende Health-Einträge (intervall_tage)
- Migration: users.calendar_token (TEXT UNIQUE)
- Settings: "Kalender abonnieren" öffnet webcal://-Link + Kopier-Button
- api.js: API.webcal.getToken() / resetToken()
- SW-Cache: by-v104, APP_VER: 80
This commit is contained in:
rene 2026-04-16 22:39:50 +02:00
parent b58789373c
commit a4f74b6c64
8 changed files with 362 additions and 8 deletions

View file

@ -400,6 +400,14 @@ const API = (() => {
});
}
// ----------------------------------------------------------
// WEBCAL
// ----------------------------------------------------------
const webcal = {
getToken: () => get('/webcal/token'),
resetToken: () => del('/webcal/token'),
};
// ----------------------------------------------------------
// ERROR-KLASSE
// ----------------------------------------------------------
@ -417,7 +425,7 @@ const API = (() => {
get, post, put, patch, del, upload,
auth, dogs, diary, health, tieraerzte, poison,
places, routes, walks, events, sitting, forum, lost, knigge, weather, push,
friends, chat,
friends, chat, webcal,
subscribeToPush, getLocation,
APIError,
};