#![allow(
missing_docs,
clippy::doc_markdown,
clippy::struct_excessive_bools,
clippy::derive_partial_eq_without_eq
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PanprotoRefUpdate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub breaking_changes: Option<Vec<BreakingChange>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub commit_count: Option<i64>,
pub committer_did: idiolect_records::Did,
pub created_at: idiolect_records::Datetime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lens_hash: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lens_quality: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migration_hash: Option<String>,
pub new_target: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub old_target: Option<String>,
pub protocol: String,
pub r#ref: String,
pub repo: idiolect_records::AtUri,
}
impl crate::Record for PanprotoRefUpdate {
const NSID: &'static str = "dev.panproto.vcs.refUpdate";
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BreakingChange {
pub description: String,
pub element: String,
pub kind: String,
}