Files
social-media/docs/TASKS/calendar-integrations/002-curated-catalog-and-ics-import-sync.md

1.2 KiB

Task: Curated catalog and ICS import sync

Goal

Add searchable curated calendar catalog metadata and background .ics import sync.

Feature Spec

  • docs/FEATURES/calendar-integrations.md

Scope

  • Add curated calendar catalog storage or seed data for trusted external calendar sources.
  • Add catalog search/filter APIs by country, region, language, category, culture/religion, and provider.
  • Add .ics fetch, parse, recurrence expansion, and normalized event storage.
  • Support manual refresh for manageable sources.
  • Track last attempted sync, last successful sync, and last sync error.
  • Preserve all-day events without timezone date shifting.
  • Respect timezone-bearing timed events and floating timed events according to the feature spec.
  • Add backend tests for parsing, recurrence expansion, timezone behavior, and sync error handling.

Relevant Files

  • backend/src/Socialize.Api/Modules/CalendarIntegrations/
  • backend/src/Socialize.Api/Data/AppDbContext.cs
  • backend/tests/Socialize.Tests/
  • docs/FEATURES/calendar-integrations.md
  • shared/openapi/openapi.json
  • frontend/src/api/schema.d.ts

Validation

dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx
./scripts/update-openapi.sh