Files
social-media/docs/TASKS/calendar-integrations/005-user-ics-export-feed.md

1.3 KiB

Task: User ICS export feed

Goal

Let each user subscribe to a private .ics feed containing their Socialize my work dates.

Feature Spec

  • docs/FEATURES/calendar-integrations.md

Scope

  • Add backend support for user export feed tokens.
  • Generate private unguessable feed URLs that do not require login.
  • Let users enable, revoke, and regenerate their export URL.
  • Emit valid .ics containing only the user's my work dates.
  • Include assigned content, approval work, owned/created content where available, approval due dates, planned publish dates, and accessible campaign dates.
  • Exclude imported holiday and observance events by default.
  • Avoid sensitive comments or approval discussion details in exported entries.
  • Add a user settings UI for copying, revoking, and regenerating the feed URL.
  • Add backend tests for feed authorization boundary, token regeneration, and event contents.

Relevant Files

  • backend/src/Socialize.Api/Modules/CalendarIntegrations/
  • backend/src/Socialize.Api/Modules/ContentItems/
  • backend/src/Socialize.Api/Modules/Approvals/
  • frontend/src/features/user-profile-settings/
  • frontend/src/config.js
  • backend/tests/Socialize.Tests/

Validation

dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx
cd frontend
npm run build
./scripts/update-openapi.sh