44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# Task: Align content lifecycle statuses
|
|
|
|
## Feature
|
|
|
|
`docs/FEATURES/approval-workflow.md`
|
|
|
|
## Goal
|
|
|
|
Align `ContentItem.Status` with the fixed lifecycle states defined by the approval workflow spec.
|
|
|
|
## Scope
|
|
|
|
- Replace older review/rework/publishing statuses with the fixed lifecycle set:
|
|
- `Draft`
|
|
- `In production`
|
|
- `In approval`
|
|
- `Approved`
|
|
- `Scheduled`
|
|
- `Published`
|
|
- Update backend status validation and approval side effects.
|
|
- Update development seed content statuses.
|
|
- Update frontend status filters, labels, and manual status actions that referenced retired statuses.
|
|
|
|
## Constraints
|
|
|
|
- Do not redesign the approval data model in this task.
|
|
- Do not implement workspace approval configuration, multi-level approval, comments, reminders, or magic links in this task.
|
|
- Keep the current approval request endpoints working as a compatibility layer until the workflow data model task replaces them.
|
|
|
|
## Done When
|
|
|
|
- [x] Backend accepts only the fixed lifecycle statuses for manual content status updates.
|
|
- [x] Creating an approval request moves content to `In approval`.
|
|
- [x] Recording an approved decision moves content to `Approved`.
|
|
- [x] Frontend no longer offers or filters against retired content statuses.
|
|
- [x] Development seed data uses fixed lifecycle statuses.
|
|
|
|
## Validation Commands
|
|
|
|
```bash
|
|
dotnet build backend/Socialize.slnx
|
|
cd frontend && npm run build
|
|
```
|