gitea-webhook-builds-sr-ht/src/model/sourcehut.rs

37 lines
937 B
Rust

use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use serde_value::Value;
#[derive(Debug, Deserialize, Serialize)]
pub struct BuildManifest {
#[serde(default)]
pub sources: Option<Vec<String>>,
#[serde(flatten)]
pub other: HashMap<String, Value>,
}
#[derive(Debug, Serialize)]
pub struct SubmitBuildPayload {
pub manifest: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub note: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub execute: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub secrets: Option<bool>,
}
#[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,
}