# 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
```
