proto-blue-api 0.3.3

AT Protocol high-level API: agent, rich text, moderation, generated types
Documentation
// Generated by atproto-codegen. Do not edit.
//! Lexicon: app.bsky.bookmark.defs
#![allow(clippy::pedantic, clippy::nursery, clippy::all)]

use serde::{Deserialize, Serialize};

/// Object used to store bookmark data in stash.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Bookmark {
    pub subject: crate::com::atproto::repo::strong_ref::Main,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "$type")]
pub enum BookmarkViewItemRefs {
    #[serde(rename = "app.bsky.feed.defs#blockedPost")]
    BskyFeedDefsBlockedPost(Box<crate::app::bsky::feed::defs::BlockedPost>),
    #[serde(rename = "app.bsky.feed.defs#notFoundPost")]
    BskyFeedDefsNotFoundPost(Box<crate::app::bsky::feed::defs::NotFoundPost>),
    #[serde(rename = "app.bsky.feed.defs#postView")]
    BskyFeedDefsPostView(Box<crate::app::bsky::feed::defs::PostView>),
    #[serde(other)]
    Other,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BookmarkView {
    #[serde(skip_serializing_if = "Option::is_none")]
    pub created_at: Option<proto_blue_syntax::Datetime>,
    pub item: BookmarkViewItemRefs,
    pub subject: crate::com::atproto::repo::strong_ref::Main,
}