Takvim
Libre WebUI kişisel takvim içerir. Her kullanıcı tek seferlik ve yinelenen etkinliklerle ay ve hafta görünümü alır; zamanlanmış otomasyonların gelecek çalışmaları ve geçmişi aynı ızgarada görünür.
Etkinlikler
Etkinlik; başlık, isteğe bağlı notlar, başlangıç, isteğe bağlı bitiş, tüm gün bayrağı ve yineleme kuralı içerir. Başlık ve notlar sohbetler ve Notlarla aynı şekilde şifrelenir.
| Tür | Alanlar | Anlam |
|---|---|---|
once | at | Tek oluşum |
hourly | minute, startHour?, endHour? | Bir zaman penceresinde saatlik |
daily | hour, minute | Her gün duvar saatiyle |
weekly | dayOfWeek, hour, minute | Seçilen günde haftalık |
monthly | dayOfMonth, hour, minute | Seçilen günde aylık |
yearly | month, dayOfMonth, hour, minute | Seçilen tarihte yıllık |
Yinelenen etkinlik bir kez saklanır. Aralık sorguları sunucuda oluşumları genişletir; her biri kaynağa dönen baseEventId taşır. dayOfMonth ay sonunu aşarsa son güne sıkıştırılır. Hesaplamalar sunucunun yerel saat dilimini kullanır.
Adlandırılmış takvimler ve paylaşım
Kullanıcı isteğe bağlı renkle 20 takvim oluşturabilir. Etkinlikte isteğe bağlı calendarId bulunur; olmayanlar özel varsayılan kapsamdadır.
Ortak izin modeli kullanılır: read takvimi ve etkinlikleri gösterir, write ayrıca oluşturma ve düzenleme sağlar. İşbirlikçinin oluşturduğu etkinlikler takvim sahibinin hesabında tutulur; kota, silme ve arşiv sahibine aittir. Her istek yeniden yetkilendirilir; izin iptali sonraki okumada gizler. Takvim silinince etkinlikler sahibin varsayılan alanına ayrılır ve izinler kaldırılır.
Hatırlatıcılar
Etkinlik reminderMinutes (14 güne kadar) taşıyabilir. Otomasyon zamanlayıcısının kiralı adımı zamanı gelenleri tarar ve sahibin kutusuna calendar-reminder yollar; oluşum başına karşılaştırıp ayarlama işlemi tam bir kez çalışmasını sağlar.
ICS içe ve dışa aktarma
GET /api/calendar/export?calendarId= takvimi RFC 5545 .ics olarak indirir: UTC zamanları, kaçışlı metin, temel RRULE ve VALARM. POST /api/calendar/import, yazılabilir takvime 2 MB / 1,000 etkinliğe kadar ICS alır. UTC ve kayan saat, tüm gün DATE, basit FREQ işlenir; tam temsil edilemeyen INTERVAL, COUNT, UNTIL, EXDATE kuralları yinelemesiz içe aktarılır ve sessiz kayma yerine düşürülen kurallar olarak sayılır.
Model erişimi
Üç araç çağıran kullanıcının kimliğiyle çalışır: yalnızca okuyan list_calendar_events, onay gerektiren create_calendar_event ve delete_calendar_event.
API
Tüm uçlar kimlik doğrulama ister. Okuma kendi ve paylaşılan etkinlikleri kapsar; yazma sahiplik veya write izni ister.
| Yöntem | Yol | Amaç |
|---|---|---|
GET | /api/calendar/events?from=&to= | Aralıktaki genişletilmiş etkinlikler |
POST | /api/calendar/events | Etkinlik oluştur |
PUT | /api/calendar/events/:eventId | Etkinliği güncelle |
DELETE | /api/calendar/events/:eventId | Etkinliği sil |
GET | /api/calendar/calendars | Kendi ve paylaşılan takvimler |
POST | /api/calendar/calendars | Adlandırılmış takvim oluştur |
PUT | /api/calendar/calendars/:id | Adı veya rengi değiştir |
DELETE | /api/calendar/calendars/:id | Takvimi sil, etkinlikleri ayır |
GET | /api/calendar/export | ICS dışa aktar |
POST | /api/calendar/import | ICS içe aktar |
from/to dönem-milisaniye sınırları bir istekte en çok 13 ayı kapsar. Kullanıcı 2000 etkinlik saklayabilir; başlık 200, notlar 10,000 karakterle sınırlıdır.