Skip to content

Events table missing columns for API fields #12

@dmwyatt

Description

@dmwyatt

Problem

The events table schema only stores a subset of the fields available from the Granola API. During sync, several fields from CalendarEvent are persisted, but others are silently dropped:

Stored: id, summary, start_time, end_time, calendar_id, attendees_json, conference_data_json, description, extra_json

Not stored: creator, organizer, recurring_event_id, ical_uid, status, html_link

When list_events() reconstructs CalendarEvent from the database, these fields are hardcoded to None (src/db/calendars.rs:87-93).

Investigation needed

  • Are any of these fields useful for queries or display?
    • status (confirmed/tentative/cancelled) could be useful for filtering
    • html_link could be displayed in meeting detail views
    • recurring_event_id could help group recurring meetings
    • organizer/creator could enrich people-related queries
  • Should these be added via a migration, or are they low-value enough to leave in extra_json?
  • The extra_json column with #[serde(flatten)] may already capture some of these if the API sends them as part of the response — worth verifying

Context

Noticed during #231 (type consolidation) — the consolidated CalendarEvent type has all these fields, but the DB layer can't round-trip them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio: p3Low priority, backlogsize: mMedium, a few hours to a daystatus: needs infoRequires more information to proceedtype: choreMaintenance, refactoring, dependencies

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions