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.schema.lensAttestation

//! Generated from `dev.panproto.schema.lensAttestation`.

#![allow(
    missing_docs,
    clippy::doc_markdown,
    clippy::struct_excessive_bools,
    clippy::derive_partial_eq_without_eq
)]
use serde::{Deserialize, Serialize};

/// A declaration of stance toward a lens by some party (identified by DID). Provides the minimal governance substrate: services can filter lenses by attestation, and users can see who has reviewed or deployed a given lens.
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PanprotoLensAttestation {
    pub created_at: String,
    /// AT-URI of the lens being attested.
    pub lens: String,
    /// Free-text explanation of the attestation.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub note: Option<String>,
    /// Optional scope qualifier, e.g. a service name or domain this attestation applies to.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub scope: Option<String>,
    /// The attester's declared relationship to this lens.
    pub stance: String,
    /// AT-URI of a previous attestation this one replaces.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub supersedes: Option<String>,
}

impl crate::Record for PanprotoLensAttestation {
    const NSID: &'static str = "dev.panproto.schema.lensAttestation";
}