idiolect-records 0.1.0

Rust record types mirroring the dev.idiolect.* Lexicon family.
Documentation
// @generated by idiolect-codegen. do not edit.
// source: dev.panproto.vcs.refUpdate

//! Generated from `dev.panproto.vcs.refUpdate`.

#![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: String,
    pub created_at: String,
    #[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: String,
}

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,
}