Calendar Integration Service
Component Detail
Service Layer
high complexity
mobile
3
Dependencies
1
Dependents
1
Entities
0
Integrations
Description
Handles all interaction with the device calendar via the Flutter device_calendar plugin, abstracting iOS EventKit and Android CalendarProvider. Manages OAuth consent for Google Calendar and system permission prompts on iOS. Creates, updates, and deletes calendar entries tagged with a Meander source identifier so that user-created events are never affected.
calendar-integration-service
Responsibilities
- Request and manage calendar read/write permissions on iOS and Android
- Create calendar entries from Meander activities and events with a Meander source tag
- Update or delete Meander-tagged calendar entries when activities change or are removed
- Import calendar appointments and extract privacy-safe metadata (title, date, duration) for activity pre-fill
- Ensure no raw calendar data is transmitted to the backend - only derived activity metadata is sent
Interfaces
requestCalendarPermission(): Future<PermissionStatus>
getAvailableCalendars(): Future<List<DeviceCalendar>>
createEntry(activity): Future<String>
updateEntry(calendarEventId, activity): Future<void>
deleteEntry(calendarEventId): Future<void>
importCalendarEvents(calendarId, range): Future<List<CalendarImportPreview>>
Relationships
Dependencies (3)
Components this component depends on