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:
| Typ | Fält | Betydelse |
|---|---|---|
once | at | En enda förekomst |
hourly | minute, startHour?, endHour? | Varje timme inom ett intervall |
daily | hour, minute | Varje dag vid en klocktid |
weekly | dayOfWeek, hour, minute | Varje vecka på vald dag |
monthly | dayOfMonth, hour, minute | Varje månad på vald dag |
yearly | month, dayOfMonth, hour, minute | Varje å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.
| Metod | Sökväg | Syfte |
|---|---|---|
GET | /api/calendar/events?from=&to= | Händelser i ett intervall, upprepning expanderad |
POST | /api/calendar/events | Skapa en händelse |
PUT | /api/calendar/events/:eventId | Uppdatera en händelse |
DELETE | /api/calendar/events/:eventId | Ta bort en händelse |
GET | /api/calendar/calendars | Egna och delade namngivna kalendrar |
POST | /api/calendar/calendars | Skapa en namngiven kalender |
PUT | /api/calendar/calendars/:id | Byt namn eller färg på en kalender |
DELETE | /api/calendar/calendars/:id | Ta bort en kalender (händelser frigörs) |
GET | /api/calendar/export | ICS-export |
POST | /api/calendar/import | ICS-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.