idiolect-records 0.2.0

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

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

#![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 PanprotoCommit {
    pub author: String,
    pub created_at: String,
    pub message: String,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub migration_hash: Option<String>,
    pub object_hash: String,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub parent_hashes: Option<Vec<String>>,
    pub protocol: String,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub renames: Option<Vec<SiteRename>>,
    pub repo: String,
    pub schema_hash: String,
}

impl crate::Record for PanprotoCommit {
    const NSID: &'static str = "dev.panproto.vcs.commit";
}

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SiteRename {
    pub new_name: String,
    pub old_name: String,
}