idiolect-records 0.6.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,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub complement_hashes: Option<Vec<String>>,
    pub created_at: idiolect_records::Datetime,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub cst_complement_hashes: Option<Vec<String>>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub data_hashes: Option<Vec<String>>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub edit_log_hashes: Option<Vec<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 protocol_hash: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub renames: Option<Vec<SiteRename>>,
    pub repo: idiolect_records::AtUri,
    pub schema_hash: String,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub theory_ids: Option<Vec<NamedHash>>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub timestamp: Option<i64>,
}

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 NamedHash {
    pub name: String,
    pub object_hash: String,
}

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