Hop til hovedindhold

Kalender

Libre WebUI har en personlig kalender. Hver bruger får egne måneds- og ugevisninger med engangs- og tilbagevendende begivenheder. Planlagte automatiseringer viser kommende kørsler og kørselshistorik i samme gitter.

Begivenheder

En begivenhed har en titel, valgfrie noter, starttid, valgfri sluttid, heldagsmarkering og valgfri gentagelsesregel. Titler og noter krypteres ved lagring med samme envelope som chats og noter.

Gentagelse bruger den fælles udløsermodel:

TypeFelterBetydning
onceatÉn forekomst
hourlyminute, startHour?, endHour?Hver time i et interval
dailyhour, minuteHver dag på et klokkeslæt
weeklydayOfWeek, hour, minuteHver uge på valgt dag
monthlydayOfMonth, hour, minuteHver måned på valgt dag
yearlymonth, dayOfMonth, hour, minuteHvert år på valgt dato

Tilbagevendende begivenheder gemmes én gang. Intervalforespørgsler udvider dem på serversiden. Hver beregnet forekomst har et baseEventId, der peger på kilden, så en ændring opdaterer alle fremtidige forekomster. Et dayOfMonth efter månedens slutning begrænses til sidste dag. Alle beregninger bruger serverens lokale tidszone.

Ud over det personlige standardomfang kan en bruger oprette op til 20 navngivne kalendere, hver med valgfri visningsfarve. Begivenheder har valgfrit calendarId; uden ID findes de i det private standardomfang.

Navngivne kalendere deles gennem den fælles tilladelsesmodel: read lader modtageren se kalender og begivenheder ved siden af egne, mens write også tillader oprettelse og redigering. Begivenheder oprettet af en samarbejdspartner gemmes under kalenderejerens konto, så kvoter, sletning og portabelt arkiv forbliver ejerafgrænset. Adgang godkendes igen ved hver anmodning; en tilbagekaldt tilladelse skjuler kalenderen ved næste læsning. Sletning flytter begivenheder til ejerens standardomfang og fjerner tilladelser.

Påmindelser

En begivenhed kan have en påmindelsesforskydning (reminderMinutes, højst 14 dage). Automatiseringsplanlæggerens leasede tick finder forfaldne påmindelser og publicerer calendar-reminder i ejerens indbakke. Compare-and-set pr. forekomst sikrer, at den aldrig udløses igen, heller ikke ved gentagelser.

ICS-import og -eksport

GET /api/calendar/export?calendarId= henter en kalender eller standardomfanget som en RFC 5545 .ics-fil med UTC-tidsstempler, escaped tekst, grundlæggende RRULE fra de indbyggede gentagelsestyper og VALARM til påmindelser. POST /api/calendar/import modtager en ICS-payload på højst 2 MB/1.000 begivenheder i et skrivbart kalenderomfang. Importen håndterer UTC, flydende tider, heldags-DATE og enkle FREQ-regler. Regler, der ikke kan gengives troværdigt (INTERVAL, COUNT, UNTIL, EXDATE), importeres uden gentagelse og tælles som bortfaldne i svaret.

Modeladgang

Tre indbyggede chatværktøjer giver modeller kalenderadgang under den kaldende brugers identitet: list_calendar_events er skrivebeskyttet, mens create_calendar_event og delete_calendar_event har sideeffekter og går gennem det normale godkendelsesflow.

API

Alle endpoints kræver godkendelse. Læsning omfatter egne begivenheder og kalendere, der deles med brugeren; skrivning kræver ejerskab eller skrivetilladelse på målkalenderen.

MetodeStiFormål
GET/api/calendar/events?from=&to=Begivenheder i interval, gentagelse udvidet
POST/api/calendar/eventsOpret en begivenhed
PUT/api/calendar/events/:eventIdOpdatér en begivenhed
DELETE/api/calendar/events/:eventIdSlet en begivenhed
GET/api/calendar/calendarsEgne og delte navngivne kalendere
POST/api/calendar/calendarsOpret en navngiven kalender
PUT/api/calendar/calendars/:idOmdøb eller skift farve på en kalender
DELETE/api/calendar/calendars/:idSlet en kalender (begivenheder frigøres)
GET/api/calendar/exportICS-eksport
POST/api/calendar/importICS-import

Intervalforespørgsler bruger from/to i epoch-millisekunder og dækker højst 13 måneder pr. anmodning. En bruger kan gemme op til 2000 begivenheder; titler begrænses til 200 tegn og noter til 10.000.