39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
# Task: Backend calendar source foundation
|
|
|
|
## Goal
|
|
|
|
Add backend storage and APIs for organization, workspace, and user calendar sources.
|
|
|
|
## Feature Spec
|
|
|
|
- `docs/FEATURES/calendar-integrations.md`
|
|
|
|
## Scope
|
|
|
|
- Add a calendar integrations module under `backend/src/Socialize.Api/Modules/CalendarIntegrations`.
|
|
- Model calendar sources for organization, workspace, and user scopes.
|
|
- Support organization inheritance modes: required and optional.
|
|
- Track source URL, catalog reference, display title, color, category, enabled state, and sync metadata.
|
|
- Add endpoints to list visible sources for a workspace/user context.
|
|
- Add endpoints to create/update/delete sources according to scope permissions.
|
|
- Show inherited organization sources in workspace responses as read-only.
|
|
- Add validation for source URLs, colors, scope, and inheritance mode.
|
|
- Add focused backend tests for permissions and inherited source visibility.
|
|
|
|
## Relevant Files
|
|
|
|
- `backend/src/Socialize.Api/Modules/CalendarIntegrations/`
|
|
- `backend/src/Socialize.Api/Data/AppDbContext.cs`
|
|
- `backend/src/Socialize.Api/Program.cs`
|
|
- `backend/tests/Socialize.Tests/`
|
|
- `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
|
|
```
|