본문으로 건너뛰기

캘린더

Libre WebUI에는 개인 캘린더가 포함되어 있습니다. 로그인한 각 사용자는 일회성 및 반복 이벤트가 있는 월간·주간 보기를 사용하며, 예약된 자동화의 예정 실행과 실행 기록도 같은 그리드에 표시됩니다.

이벤트

이벤트에는 제목, 선택적 메모, 시작 시각, 선택적 종료 시각, 종일 플래그, 선택적 반복 규칙이 있습니다. 제목과 메모는 채팅 및 노트와 같은 봉투를 사용해 저장 시 암호화됩니다.

반복은 공유 트리거 모델을 사용합니다.

종류필드의미
onceat한 번만 발생
hourlyminute, startHour?, endHour?지정 시간 범위에서 매시간
dailyhour, minute매일 현지 시각에 실행
weeklydayOfWeek, hour, minute선택한 요일마다 실행
monthlydayOfMonth, hour, minute선택한 날짜에 매월 실행
yearlymonth, dayOfMonth, hour, minute선택한 날짜에 매년 실행

반복 이벤트는 한 번만 저장됩니다. 범위 쿼리가 서버 측에서 반복 항목을 확장하며, 각 예상 항목에는 원본 이벤트를 가리키는 baseEventId가 있습니다. 따라서 원본을 편집하면 이후 모든 항목이 업데이트됩니다. dayOfMonth가 해당 월의 마지막 날을 넘으면 마지막 날로 조정됩니다. 모든 반복 계산은 서버의 현지 시간대를 사용합니다.

이름 있는 캘린더와 공유

기본 개인 범위 외에 사용자는 최대 20개의 이름 있는 캘린더를 만들고 선택적으로 표시 색상을 지정할 수 있습니다. 이벤트에는 선택적 calendarId가 있습니다. 값이 없는 이벤트는 비공개로 유지되는 기본 범위에 속합니다.

이름 있는 캘린더는 공통 권한 부여 모델로 공유됩니다. read 권한을 받은 사람은 자신의 캘린더와 함께 해당 캘린더와 이벤트를 볼 수 있고, write 권한은 이벤트 생성 및 편집도 허용합니다. 공동 작업자가 만든 이벤트는 캘린더 소유자의 계정 아래 저장되므로 할당량, 삭제, 이동 가능한 아카이브가 소유자 범위로 유지됩니다. 요청마다 권한을 다시 확인하며, 권한을 취소하면 다음 읽기부터 캘린더가 숨겨집니다. 캘린더를 삭제하면 이벤트는 소유자의 기본 범위로 분리되고 권한은 제거됩니다.

미리 알림

이벤트에는 최대 14일까지의 미리 알림 오프셋(reminderMinutes)을 지정할 수 있습니다. 자동화 스케줄러의 임대된 틱이 기한에 도달한 알림을 훑고 이벤트 소유자의 받은 편지함에 calendar-reminder 알림을 게시합니다. 항목별 compare-and-set으로 반복 이벤트를 포함해 각 항목이 다시 발생하지 않도록 보장합니다.

ICS 가져오기 및 내보내기

GET /api/calendar/export?calendarId=는 캘린더(또는 기본 범위)를 RFC 5545 .ics 파일로 다운로드합니다. UTC 타임스탬프, 이스케이프된 텍스트, 기본 반복 종류에서 매핑한 단순 RRULE, 미리 알림용 VALARM 블록이 포함됩니다. POST /api/calendar/import는 ICS 페이로드(최대 2 MB/이벤트 1,000개)를 쓰기 가능한 캘린더 범위로 가져옵니다. 가져오기는 UTC와 부동 시간, 종일 DATE 값, 단순 FREQ 규칙을 처리합니다. 정확히 표현할 수 없는 규칙(INTERVAL, COUNT, UNTIL, EXDATE)은 반복 없이 이벤트를 가져오고, 조용히 어긋나지 않도록 응답에서 제외된 규칙으로 계산합니다.

모델 접근

세 가지 내장 채팅 도구가 호출 사용자의 신원으로 모델에 캘린더 접근을 제공합니다. 읽기 전용 list_calendar_events, 부작용이 있어 표준 도구 승인 흐름 뒤에 있는 create_calendar_eventdelete_calendar_event입니다.

API

모든 엔드포인트에는 인증이 필요합니다. 이벤트 읽기는 호출자 소유 이벤트와 공유된 캘린더를 포함합니다. 쓰기에는 대상 캘린더의 소유권 또는 쓰기 권한이 필요합니다.

메서드경로용도
GET/api/calendar/events?from=&to=범위 내 이벤트, 반복 확장
POST/api/calendar/events이벤트 생성
PUT/api/calendar/events/:eventId이벤트 업데이트
DELETE/api/calendar/events/:eventId이벤트 삭제
GET/api/calendar/calendars소유 및 공유된 이름 있는 캘린더
POST/api/calendar/calendars이름 있는 캘린더 생성
PUT/api/calendar/calendars/:id캘린더 이름 또는 색상 변경
DELETE/api/calendar/calendars/:id캘린더 삭제(이벤트는 분리)
GET/api/calendar/exportICS 내보내기
POST/api/calendar/importICS 가져오기

범위 쿼리는 epoch-millisecond from/to 범위를 사용하며 요청당 최대 13개월입니다. 사용자 한 명은 이벤트를 최대 2000개 저장할 수 있습니다. 제목은 200자, 메모는 10,000자로 제한됩니다.