use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LabelerPolicies {
#[serde(skip_serializing_if = "Option::is_none")]
pub label_value_definitions:
Option<Vec<crate::com::atproto::label::defs::LabelValueDefinition>>,
pub label_values: Vec<crate::com::atproto::label::defs::LabelValue>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LabelerView {
pub cid: String,
pub creator: crate::app::bsky::actor::defs::ProfileView,
pub indexed_at: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub labels: Option<Vec<crate::com::atproto::label::defs::Label>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub like_count: Option<i64>,
pub uri: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub viewer: Option<LabelerViewerState>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LabelerViewDetailed {
pub cid: String,
pub creator: crate::app::bsky::actor::defs::ProfileView,
pub indexed_at: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub labels: Option<Vec<crate::com::atproto::label::defs::Label>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub like_count: Option<i64>,
pub policies: LabelerPolicies,
#[serde(skip_serializing_if = "Option::is_none")]
pub reason_types: Option<Vec<crate::com::atproto::moderation::defs::ReasonType>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subject_collections: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subject_types: Option<Vec<crate::com::atproto::moderation::defs::SubjectType>>,
pub uri: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub viewer: Option<LabelerViewerState>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LabelerViewerState {
#[serde(skip_serializing_if = "Option::is_none")]
pub like: Option<String>,
}