mirror of
https://github.com/kennethnym/aris.git
synced 2026-03-20 09:01:19 +00:00
feat: add generic CalDAV calendar data source
Add @aris/source-caldav package that fetches calendar events from any CalDAV server via tsdav + ical.js. - Supports Basic auth and OAuth via explicit authMethod discriminant - serverUrl provided at construction time, not hardcoded - Optional timeZone for correct local day boundaries - Credentials cleared from memory after client login - Failed calendar fetches logged, not silently dropped - Login promise cached with retry on failure Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
11
packages/aris-source-caldav/fixtures/all-day-event.ics
Normal file
11
packages/aris-source-caldav/fixtures/all-day-event.ics
Normal file
@@ -0,0 +1,11 @@
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Test//Test//EN
|
||||
BEGIN:VEVENT
|
||||
UID:all-day-001@test
|
||||
DTSTART;VALUE=DATE:20260115
|
||||
DTEND;VALUE=DATE:20260116
|
||||
SUMMARY:Company Holiday
|
||||
STATUS:CONFIRMED
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
11
packages/aris-source-caldav/fixtures/cancelled-event.ics
Normal file
11
packages/aris-source-caldav/fixtures/cancelled-event.ics
Normal file
@@ -0,0 +1,11 @@
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Test//Test//EN
|
||||
BEGIN:VEVENT
|
||||
UID:cancelled-001@test
|
||||
DTSTART:20260115T120000Z
|
||||
DTEND:20260115T130000Z
|
||||
SUMMARY:Cancelled Meeting
|
||||
STATUS:CANCELLED
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
10
packages/aris-source-caldav/fixtures/minimal-event.ics
Normal file
10
packages/aris-source-caldav/fixtures/minimal-event.ics
Normal file
@@ -0,0 +1,10 @@
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Test//Test//EN
|
||||
BEGIN:VEVENT
|
||||
UID:minimal-001@test
|
||||
DTSTART:20260115T180000Z
|
||||
DTEND:20260115T190000Z
|
||||
SUMMARY:Quick Chat
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
20
packages/aris-source-caldav/fixtures/recurring-event.ics
Normal file
20
packages/aris-source-caldav/fixtures/recurring-event.ics
Normal file
@@ -0,0 +1,20 @@
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Test//Test//EN
|
||||
BEGIN:VEVENT
|
||||
UID:recurring-001@test
|
||||
DTSTART:20260115T090000Z
|
||||
DTEND:20260115T093000Z
|
||||
SUMMARY:Weekly Sync
|
||||
RRULE:FREQ=WEEKLY;COUNT=4
|
||||
STATUS:CONFIRMED
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:recurring-001@test
|
||||
RECURRENCE-ID:20260122T090000Z
|
||||
DTSTART:20260122T100000Z
|
||||
DTEND:20260122T103000Z
|
||||
SUMMARY:Weekly Sync (moved)
|
||||
STATUS:CONFIRMED
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
26
packages/aris-source-caldav/fixtures/single-event.ics
Normal file
26
packages/aris-source-caldav/fixtures/single-event.ics
Normal file
@@ -0,0 +1,26 @@
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Test//Test//EN
|
||||
BEGIN:VEVENT
|
||||
UID:single-event-001@test
|
||||
DTSTART:20260115T140000Z
|
||||
DTEND:20260115T150000Z
|
||||
SUMMARY:Team Standup
|
||||
LOCATION:Conference Room A
|
||||
DESCRIPTION:Daily standup meeting
|
||||
STATUS:CONFIRMED
|
||||
URL:https://example.com/meeting/123
|
||||
ORGANIZER;CN=Alice Smith:mailto:alice@example.com
|
||||
ATTENDEE;CN=Bob Jones;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED:mailto:bob@example.com
|
||||
ATTENDEE;CN=Carol White;ROLE=OPT-PARTICIPANT;PARTSTAT=TENTATIVE:mailto:carol@example.com
|
||||
BEGIN:VALARM
|
||||
TRIGGER:-PT15M
|
||||
ACTION:DISPLAY
|
||||
DESCRIPTION:Reminder
|
||||
END:VALARM
|
||||
BEGIN:VALARM
|
||||
TRIGGER:-PT5M
|
||||
ACTION:AUDIO
|
||||
END:VALARM
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
Reference in New Issue
Block a user