Skip to main content

atrium_api/chat/bsky/actor/
defs.rs

1// @generated - This file is generated by atrium-codegen. DO NOT EDIT.
2//!Definitions for the `chat.bsky.actor.defs` namespace.
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct DirectConvoMemberData {}
6pub type DirectConvoMember = crate::types::Object<DirectConvoMemberData>;
7///A current group convo member.
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct GroupConvoMemberData {
11    ///Who added this member. Only present if the member was added (instead of joining via link).
12    #[serde(skip_serializing_if = "core::option::Option::is_none")]
13    pub added_by: core::option::Option<ProfileViewBasic>,
14    ///The member's role within this conversation. Only present in group conversation member lists.
15    pub role: MemberRole,
16}
17pub type GroupConvoMember = crate::types::Object<GroupConvoMemberData>;
18pub type MemberRole = String;
19///A past group convo member.
20#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
21#[serde(rename_all = "camelCase")]
22pub struct PastGroupConvoMemberData {}
23pub type PastGroupConvoMember = crate::types::Object<PastGroupConvoMemberData>;
24#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
25#[serde(rename_all = "camelCase")]
26pub struct ProfileViewBasicData {
27    #[serde(skip_serializing_if = "core::option::Option::is_none")]
28    pub associated: core::option::Option<
29        crate::app::bsky::actor::defs::ProfileAssociated,
30    >,
31    #[serde(skip_serializing_if = "core::option::Option::is_none")]
32    pub avatar: core::option::Option<String>,
33    ///Set to true when the actor cannot actively participate in conversations
34    #[serde(skip_serializing_if = "core::option::Option::is_none")]
35    pub chat_disabled: core::option::Option<bool>,
36    #[serde(skip_serializing_if = "core::option::Option::is_none")]
37    pub created_at: core::option::Option<crate::types::string::Datetime>,
38    pub did: crate::types::string::Did,
39    #[serde(skip_serializing_if = "core::option::Option::is_none")]
40    pub display_name: core::option::Option<String>,
41    pub handle: crate::types::string::Handle,
42    ///Union field that has data specific to different kinds of convos.
43    #[serde(skip_serializing_if = "core::option::Option::is_none")]
44    pub kind: core::option::Option<crate::types::Union<ProfileViewBasicKindRefs>>,
45    #[serde(skip_serializing_if = "core::option::Option::is_none")]
46    pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
47    #[serde(skip_serializing_if = "core::option::Option::is_none")]
48    pub verification: core::option::Option<
49        crate::app::bsky::actor::defs::VerificationState,
50    >,
51    #[serde(skip_serializing_if = "core::option::Option::is_none")]
52    pub viewer: core::option::Option<crate::app::bsky::actor::defs::ViewerState>,
53}
54pub type ProfileViewBasic = crate::types::Object<ProfileViewBasicData>;
55#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
56#[serde(tag = "$type")]
57pub enum ProfileViewBasicKindRefs {
58    #[serde(rename = "chat.bsky.actor.defs#directConvoMember")]
59    DirectConvoMember(Box<DirectConvoMember>),
60    #[serde(rename = "chat.bsky.actor.defs#groupConvoMember")]
61    GroupConvoMember(Box<GroupConvoMember>),
62    #[serde(rename = "chat.bsky.actor.defs#pastGroupConvoMember")]
63    PastGroupConvoMember(Box<PastGroupConvoMember>),
64}