pub async fn cancel(
pool: &PgPool,
actor: &Actor,
change_id: Uuid,
) -> AppResult<Change>Expand description
Cancels a draft or rejected change.
ยงInvariants
- Permission: CAD editor who is the author (or an administrator, or a manager of every affected group while the author is deactivated); the change is a draft or rejected (409).
- Locks: the change row (
FOR UPDATE). - Audit:
change.cancel. - Notifications: author, reviewers and watchers of the change, except the actor.
- Webhooks: none.
- Atomic: one transaction.