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

41 lines
1.3 KiB
Markdown

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