async fn check_publishable(
conn: &mut PgConnection,
changeset: &AgentChangeset,
course: &Course,
options: PublishOptions,
) -> ModelResult<Result<Publishable, Refusal>>Expand description
Locks what the changeset writes and checks that it may be published: no conflicts, no risk the publisher hasn’t reviewed, no exercise services the publisher may not add. The risk reasons it classifies again are stored, not put in the returned rows.