Hoppa till huvudinnehåll

Kalender

Libre WebUI har en personlig kalender. Varje inloggad användare får egna månads- och veckovyer med engångshändelser och återkommande händelser. Schemalagda automatiseringar visar kommande körningar och körhistorik i samma rutnät.

Händelser

En händelse har en rubrik, valfria anteckningar, starttid, valfri sluttid, heldagsflagga och valfri upprepningsregel. Rubriker och anteckningar krypteras vid lagring med samma omslag som chattar och anteckningar.

Upprepning använder den gemensamma utlösarmodellen:

TypFältBetydelse
onceatEn enda förekomst
hourlyminute, startHour?, endHour?Varje timme inom ett intervall
dailyhour, minuteVarje dag vid en klocktid
weeklydayOfWeek, hour, minuteVarje vecka på vald dag
monthlydayOfMonth, hour, minuteVarje månad på vald dag
yearlymonth, dayOfMonth, hour, minuteVarje år på valt datum

Återkommande händelser lagras en gång. Intervallfrågor expanderar dem på serversidan. Varje beräknad förekomst har ett baseEventId som pekar på källhändelsen, så en ändring uppdaterar alla framtida förekomster. Ett dayOfMonth efter månadens slut begränsas till sista dagen. Alla beräkningar använder serverns lokala tidszon.

Namngivna kalendrar och delning

Utöver det personliga standardomfånget kan en användare skapa upp till 20 namngivna kalendrar, var och en med valfri visningsfärg. Händelser har valfritt calendarId; händelser utan ID finns i det privata standardomfånget.

Namngivna kalendrar delas genom den gemensamma behörighetsmodellen: read låter mottagaren se kalendern och dess händelser bredvid sina egna, medan write även låter dem skapa och redigera händelser. Händelser som en medarbetare skapar lagras under kalenderägarens konto, så kvoter, borttagning och portabla arkiv förblir ägaravgränsade. Åtkomst auktoriseras om vid varje begäran; en återkallad behörighet döljer kalendern vid nästa läsning. Om en kalender tas bort flyttas händelserna till ägarens standardomfång och behörigheterna tas bort.

Påminnelser

En händelse kan ha en påminnelseförskjutning (reminderMinutes, högst 14 dagar). Automatiseringsschemaläggarens leasade tick söker efter förfallna påminnelser och publicerar calendar-reminder i ägarens inkorg. Compare-and-set per förekomst garanterar att den aldrig utlöses igen, även för återkommande händelser.

ICS-import och -export

GET /api/calendar/export?calendarId= hämtar en kalender eller standardomfånget som en RFC 5545 .ics-fil med UTC-tidsstämplar, escaped text, grundläggande RRULE mappade från de inbyggda upprepningstyperna och VALARM för påminnelser. POST /api/calendar/import tar emot en ICS-payload på högst 2 MB/1 000 händelser i ett skrivbart kalenderomfång. Importören hanterar UTC, flytande tider, heldagsvärden av typen DATE och enkla FREQ-regler. Regler som inte kan återges troget (INTERVAL, COUNT, UNTIL, EXDATE) importeras utan upprepning och räknas som borttagna i svaret i stället för att driva tyst.

Modellåtkomst

Tre inbyggda chattverktyg ger modeller kalenderåtkomst under den anropande användarens identitet: list_calendar_events är skrivskyddat, medan create_calendar_event och delete_calendar_event har sidoeffekter och går genom det vanliga godkännandeflödet.

API

Alla endpoints kräver autentisering. Läsning omfattar anroparens egna händelser och kalendrar som delas med dem; skrivning kräver ägarskap eller skrivbehörighet på målkalendern.

MetodSökvägSyfte
GET/api/calendar/events?from=&to=Händelser i ett intervall, upprepning expanderad
POST/api/calendar/eventsSkapa en händelse
PUT/api/calendar/events/:eventIdUppdatera en händelse
DELETE/api/calendar/events/:eventIdTa bort en händelse
GET/api/calendar/calendarsEgna och delade namngivna kalendrar
POST/api/calendar/calendarsSkapa en namngiven kalender
PUT/api/calendar/calendars/:idByt namn eller färg på en kalender
DELETE/api/calendar/calendars/:idTa bort en kalender (händelser frigörs)
GET/api/calendar/exportICS-export
POST/api/calendar/importICS-import

Intervallfrågor använder from/to i epoch-millisekunder och omfattar högst 13 månader per begäran. En användare kan lagra upp till 2000 händelser; rubriker begränsas till 200 tecken och anteckningar till 10 000.