docs: add calendar integration spec
This commit is contained in:
40
docs/TASKS/calendar-integrations/005-user-ics-export-feed.md
Normal file
40
docs/TASKS/calendar-integrations/005-user-ics-export-feed.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user