Files
social-media/docs/TASKS/approval-workflow/004-enforce-basic-approval-modes.md
2026-05-01 14:23:37 -04:00

1.5 KiB

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

  • Approval mode None does not create approval requests.
  • Approval mode Optional allows manual approval/scheduling without approval decisions.
  • Approval mode Required blocks manual approval/scheduling until a completed approval decision exists.
  • Approved decisions move content to Scheduled when auto-scheduling is enabled and the content item has a planned publish date.
  • Backend tests pass.

Validation Commands

dotnet build backend/Socialize.slnx
dotnet test backend/Socialize.slnx