use std::collections::HashMap; use serde::{Deserialize, Serialize}; use serde_value::Value; #[derive(Debug, Deserialize, Serialize)] pub struct BuildManifest { #[serde(default)] pub sources: Option>, #[serde(flatten)] pub other: HashMap, } #[derive(Debug, Serialize)] pub struct SubmitBuildPayload { pub manifest: String, #[serde(skip_serializing_if = "Option::is_none")] pub note: Option, #[serde(skip_serializing_if = "Option::is_none")] pub tags: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub execute: Option, #[serde(skip_serializing_if = "Option::is_none")] pub secrets: Option, } #[derive(Debug, Deserialize)] pub struct SubmitBuildResponse { pub id: u32, pub owner: BuildOwner, } #[derive(Debug, Deserialize)] pub struct BuildOwner { pub canonical_name: String, pub name: String, }