# Task: Workspace approval configuration

## Feature

`docs/FEATURES/approval-workflow.md`

## Goal

Persist workspace-level approval workflow configuration and expose it to workspace settings.

## Scope

- Add workspace approval mode:
  - `None`
  - `Optional`
  - `Required`
  - `Multi-level`
- Add approval options:
  - schedule posts automatically on approval
  - lock content after approval
  - send automatic reminders for pending approvals
- Return approval configuration from workspace APIs.
- Allow workspace managers/admins to update approval configuration.
- Replace static workflow settings UI with saved configuration controls.

## Constraints

- Do not implement workflow recalculation in this task.
- Do not implement multi-level step configuration in this task.
- Do not implement automatic scheduling, locking behavior, or reminders in this task; only persist the options.
- If backend contracts change, update OpenAPI when the backend is running.

## Done When

- [x] Workspace approval config is persisted with defaults.
- [x] Workspace API responses include approval config.
- [x] Workspace update accepts approval config and validates allowed modes.
- [x] Workspace settings UI can edit and save approval config.
- [x] Backend and frontend builds pass.

## Validation Commands

```bash
dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx
cd frontend && npm run build
```
