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.

Feature: Calendar Sync

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

Dependents (1)

Components that depend on this component

Related Data Entities (1)

Data entities managed by this component