proto-blue-api 0.2.5

AT Protocol high-level API: agent, rich text, moderation, generated types
Documentation
// Generated by atproto-codegen. Do not edit.
//! Lexicon: chat.bsky.convo.defs

use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ConvoView {
    pub id: String,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub last_message: Option<serde_json::Value>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub last_reaction: Option<serde_json::Value>,
    pub members: Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
    pub muted: bool,
    pub rev: String,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
    pub unread_count: i64,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DeletedMessageView {
    pub id: String,
    pub rev: String,
    pub sender: MessageViewSender,
    pub sent_at: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogAcceptConvo {
    pub convo_id: String,
    pub rev: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogAddReaction {
    pub convo_id: String,
    pub message: serde_json::Value,
    pub reaction: ReactionView,
    pub rev: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogBeginConvo {
    pub convo_id: String,
    pub rev: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogCreateMessage {
    pub convo_id: String,
    pub message: serde_json::Value,
    pub rev: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogDeleteMessage {
    pub convo_id: String,
    pub message: serde_json::Value,
    pub rev: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogLeaveConvo {
    pub convo_id: String,
    pub rev: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogMuteConvo {
    pub convo_id: String,
    pub rev: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogReadMessage {
    pub convo_id: String,
    pub message: serde_json::Value,
    pub rev: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogRemoveReaction {
    pub convo_id: String,
    pub message: serde_json::Value,
    pub reaction: ReactionView,
    pub rev: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LogUnmuteConvo {
    pub convo_id: String,
    pub rev: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MessageAndReactionView {
    pub message: MessageView,
    pub reaction: ReactionView,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MessageInput {
    #[serde(skip_serializing_if = "Option::is_none")]
    pub embed: Option<serde_json::Value>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub facets: Option<Vec<crate::app::bsky::richtext::facet::Main>>,
    pub text: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MessageRef {
    pub convo_id: String,
    pub did: String,
    pub message_id: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MessageView {
    #[serde(skip_serializing_if = "Option::is_none")]
    pub embed: Option<serde_json::Value>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub facets: Option<Vec<crate::app::bsky::richtext::facet::Main>>,
    pub id: String,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub reactions: Option<Vec<ReactionView>>,
    pub rev: String,
    pub sender: MessageViewSender,
    pub sent_at: String,
    pub text: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MessageViewSender {
    pub did: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ReactionView {
    pub created_at: String,
    pub sender: ReactionViewSender,
    pub value: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ReactionViewSender {
    pub did: String,
}