pub async fn release_held_because(
pool: &PgPool,
actor: &Actor,
holder: Uuid,
project: Option<Uuid>,
reason: Option<&str>,
) -> AppResult<Vec<CheckInOutcome>>Expand description
release_held with a reason for every release: a manager then also
releases the check-outs of an active member of their groups (issue #173,
the season handover); the reason is audited and told to the holder.
ยงInvariants
- Permission / visibility / bounds / atomic: as
release_held; per revisioncancel_checkoutdecides with the reason. - Data: a reason has
revisions::RELEASE_REASON_MINtoRELEASE_REASON_MAXcharacters (400 before anything is released). - Audit / notifications: those of
cancel_checkout, per revision, with the reason.