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

38 lines
1.2 KiB
Markdown

# 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
```bash
dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx
./scripts/update-openapi.sh
```