pub async fn process_exercise_service_upload(
conn: &mut PgConnection,
exercise_service_slug: &str,
payload: Multipart,
file_store: &dyn FileStore,
uploaded_paths: &mut Vec<ExerciseServiceUploadCleanup>,
uploader: Option<Uuid>,
app_conf: &ApplicationConfiguration,
) -> Result<Vec<ExerciseServiceUpload>, ControllerError>Expand description
Processes a spec-file upload from an exercise service or the playground. This function assumes that any permission checks have already been made.
exercise_service_slug namespaces the stored objects and is recorded with the upload; it
carries no authorization meaning. The playground passes its reserved playground slug, which
names no exercise service.