diff --git a/lexica/src/app_bsky/actor.rs b/lexica/src/app_bsky/actor.rs index 0fffa6c5..e00c0cc8 100644 --- a/lexica/src/app_bsky/actor.rs +++ b/lexica/src/app_bsky/actor.rs @@ -1,6 +1,7 @@ use crate::app_bsky::embed::External; -use crate::app_bsky::graph::ListViewBasic; +use crate::app_bsky::graph::{ListViewBasic, StarterPackViewBasic}; use crate::com_atproto::label::Label; +use crate::StrongRef; use chrono::prelude::*; use serde::{Deserialize, Serialize}; use std::fmt::Display; @@ -21,10 +22,15 @@ pub struct ProfileViewerState { pub following: Option, #[serde(skip_serializing_if = "Option::is_none")] pub followed_by: Option, - // #[serde(skip_serializing_if = "Option::is_none")] - // pub known_followers: Option<()>, - // #[serde(skip_serializing_if = "Option::is_none")] - // pub activity_subscriptions: Option<()>, + #[serde(skip_serializing_if = "Option::is_none")] + pub known_followers: Option, +} + +#[derive(Clone, Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct KnownFollowers { + pub count: i64, + pub followers: Vec, } #[derive(Clone, Default, Debug, Serialize, Deserialize)] @@ -216,13 +222,13 @@ pub struct ProfileViewDetailed { pub posts_count: i64, #[serde(skip_serializing_if = "Option::is_none")] pub associated: Option, - // #[serde(skip_serializing_if = "Option::is_none")] - // pub joined_via_starter_pack: Option<()>, + #[serde(skip_serializing_if = "Option::is_none")] + pub joined_via_starter_pack: Option, #[serde(skip_serializing_if = "Option::is_none")] pub viewer: Option, pub labels: Vec