use serde::Deserialize; #[derive(Deserialize, Debug)] pub(crate) struct Info { pub(crate) thread: Thread, } #[derive(Deserialize, Debug)] #[serde(tag = "$type")] pub(crate) enum Thread { #[serde(rename = "app.bsky.feed.defs#threadViewPost")] Post { post: Post }, #[serde(rename = "app.bsky.feed.defs#notFoundPost")] NotFound, #[serde(rename = "app.bsky.feed.defs#blockedPost")] Blocked, } #[derive(Deserialize, Debug)] pub(crate) struct Post { pub(crate) author: Author, pub(crate) record: PostRecord, pub(crate) embed: Option, #[serde(default)] pub(crate) labels: Vec