chore: add missing multi-level editor for approval workflow, rename projects to campaings.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# Task: Enforce basic approval modes
|
||||
|
||||
## Feature
|
||||
|
||||
`docs/FEATURES/approval-workflow.md`
|
||||
|
||||
## Goal
|
||||
|
||||
Apply workspace approval mode configuration to the existing single-step approval request flow.
|
||||
|
||||
## Scope
|
||||
|
||||
- Prevent approval requests when workspace approval mode is `None`.
|
||||
- Keep the current approval request endpoints as the one-step compatibility flow for `Optional` and `Required`.
|
||||
- Block manual moves to `Approved` or `Scheduled` for `Required` workspaces until an approval request has an approved decision.
|
||||
- Leave `Optional` approval non-blocking.
|
||||
- Apply the saved "schedule posts automatically on approval" option when a final approval decision is recorded.
|
||||
|
||||
## Constraints
|
||||
|
||||
- Do not implement workflow recalculation in this task.
|
||||
- Do not implement multi-level step configuration in this task.
|
||||
- Do not implement locking behavior, reminder jobs, comments, mentions, reopening, or magic links in this task.
|
||||
- Do not replace the existing approval request data model in this task.
|
||||
|
||||
## Done When
|
||||
|
||||
- [x] Approval mode `None` does not create approval requests.
|
||||
- [x] Approval mode `Optional` allows manual approval/scheduling without approval decisions.
|
||||
- [x] Approval mode `Required` blocks manual approval/scheduling until a completed approval decision exists.
|
||||
- [x] Approved decisions move content to `Scheduled` when auto-scheduling is enabled and the content item has a planned publish date.
|
||||
- [x] Backend tests pass.
|
||||
|
||||
## Validation Commands
|
||||
|
||||
```bash
|
||||
dotnet build backend/Socialize.slnx
|
||||
dotnet test backend/Socialize.slnx
|
||||
```
|
||||
Reference in New Issue
Block a user