pub type ConvoKind = String;
pub type ConvoLockStatus = String;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ConvoRefData {
pub convo_id: String,
pub did: crate::types::string::Did,
}
pub type ConvoRef = crate::types::Object<ConvoRefData>;
pub type ConvoStatus = String;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ConvoViewData {
pub id: String,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub kind: core::option::Option<crate::types::Union<ConvoViewKindRefs>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub last_message: core::option::Option<
crate::types::Union<ConvoViewLastMessageRefs>,
>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub last_reaction: core::option::Option<
crate::types::Union<ConvoViewLastReactionRefs>,
>,
pub members: Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
pub muted: bool,
pub rev: String,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub status: core::option::Option<ConvoStatus>,
pub unread_count: i64,
}
pub type ConvoView = crate::types::Object<ConvoViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct DeletedMessageViewData {
pub id: String,
pub rev: String,
pub sender: MessageViewSender,
pub sent_at: crate::types::string::Datetime,
}
pub type DeletedMessageView = crate::types::Object<DeletedMessageViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct DirectConvoData {}
pub type DirectConvo = crate::types::Object<DirectConvoData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct GroupConvoData {
pub created_at: crate::types::string::Datetime,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub join_link: core::option::Option<crate::chat::bsky::group::defs::JoinLinkView>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub join_request_count: core::option::Option<i64>,
pub lock_status: ConvoLockStatus,
pub lock_status_moderation_override: bool,
pub member_count: i64,
pub member_limit: i64,
pub name: String,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub unread_join_request_count: core::option::Option<i64>,
}
pub type GroupConvo = crate::types::Object<GroupConvoData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogAcceptConvoData {
pub convo_id: String,
pub rev: String,
}
pub type LogAcceptConvo = crate::types::Object<LogAcceptConvoData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogAddMemberData {
pub convo_id: String,
pub message: SystemMessageView,
pub related_profiles: Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
pub rev: String,
}
pub type LogAddMember = crate::types::Object<LogAddMemberData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogAddReactionData {
pub convo_id: String,
pub message: crate::types::Union<LogAddReactionMessageRefs>,
pub reaction: ReactionView,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub related_profiles: core::option::Option<
Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
>,
pub rev: String,
}
pub type LogAddReaction = crate::types::Object<LogAddReactionData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogApproveJoinRequestData {
pub convo_id: String,
pub member: crate::chat::bsky::actor::defs::ProfileViewBasic,
pub rev: String,
}
pub type LogApproveJoinRequest = crate::types::Object<LogApproveJoinRequestData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogBeginConvoData {
pub convo_id: String,
pub rev: String,
}
pub type LogBeginConvo = crate::types::Object<LogBeginConvoData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogCreateJoinLinkData {
pub convo_id: String,
pub message: SystemMessageView,
pub rev: String,
}
pub type LogCreateJoinLink = crate::types::Object<LogCreateJoinLinkData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogCreateMessageData {
pub convo_id: String,
pub message: crate::types::Union<LogCreateMessageMessageRefs>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub related_profiles: core::option::Option<
Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
>,
pub rev: String,
}
pub type LogCreateMessage = crate::types::Object<LogCreateMessageData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogDeleteMessageData {
pub convo_id: String,
pub message: crate::types::Union<LogDeleteMessageMessageRefs>,
pub rev: String,
}
pub type LogDeleteMessage = crate::types::Object<LogDeleteMessageData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogDisableJoinLinkData {
pub convo_id: String,
pub message: SystemMessageView,
pub rev: String,
}
pub type LogDisableJoinLink = crate::types::Object<LogDisableJoinLinkData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogEditGroupData {
pub convo_id: String,
pub message: SystemMessageView,
pub rev: String,
}
pub type LogEditGroup = crate::types::Object<LogEditGroupData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogEditJoinLinkData {
pub convo_id: String,
pub message: SystemMessageView,
pub rev: String,
}
pub type LogEditJoinLink = crate::types::Object<LogEditJoinLinkData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogEnableJoinLinkData {
pub convo_id: String,
pub message: SystemMessageView,
pub rev: String,
}
pub type LogEnableJoinLink = crate::types::Object<LogEnableJoinLinkData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogIncomingJoinRequestData {
pub convo_id: String,
pub member: crate::chat::bsky::actor::defs::ProfileViewBasic,
pub rev: String,
}
pub type LogIncomingJoinRequest = crate::types::Object<LogIncomingJoinRequestData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogLeaveConvoData {
pub convo_id: String,
pub rev: String,
}
pub type LogLeaveConvo = crate::types::Object<LogLeaveConvoData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogLockConvoData {
pub convo_id: String,
pub message: SystemMessageView,
pub related_profiles: Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
pub rev: String,
}
pub type LogLockConvo = crate::types::Object<LogLockConvoData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogLockConvoPermanentlyData {
pub convo_id: String,
pub message: SystemMessageView,
pub related_profiles: Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
pub rev: String,
}
pub type LogLockConvoPermanently = crate::types::Object<LogLockConvoPermanentlyData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogMemberJoinData {
pub convo_id: String,
pub message: SystemMessageView,
pub related_profiles: Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
pub rev: String,
}
pub type LogMemberJoin = crate::types::Object<LogMemberJoinData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogMemberLeaveData {
pub convo_id: String,
pub message: SystemMessageView,
pub related_profiles: Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
pub rev: String,
}
pub type LogMemberLeave = crate::types::Object<LogMemberLeaveData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogMuteConvoData {
pub convo_id: String,
pub rev: String,
}
pub type LogMuteConvo = crate::types::Object<LogMuteConvoData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogOutgoingJoinRequestData {
pub convo_id: String,
pub rev: String,
}
pub type LogOutgoingJoinRequest = crate::types::Object<LogOutgoingJoinRequestData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogReadConvoData {
pub convo_id: String,
pub message: crate::types::Union<LogReadConvoMessageRefs>,
pub rev: String,
}
pub type LogReadConvo = crate::types::Object<LogReadConvoData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogReadJoinRequestsData {
pub convo_id: String,
pub rev: String,
}
pub type LogReadJoinRequests = crate::types::Object<LogReadJoinRequestsData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogReadMessageData {
pub convo_id: String,
pub message: crate::types::Union<LogReadMessageMessageRefs>,
pub rev: String,
}
pub type LogReadMessage = crate::types::Object<LogReadMessageData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogRejectJoinRequestData {
pub convo_id: String,
pub member: crate::chat::bsky::actor::defs::ProfileViewBasic,
pub rev: String,
}
pub type LogRejectJoinRequest = crate::types::Object<LogRejectJoinRequestData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogRemoveMemberData {
pub convo_id: String,
pub message: SystemMessageView,
pub related_profiles: Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
pub rev: String,
}
pub type LogRemoveMember = crate::types::Object<LogRemoveMemberData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogRemoveReactionData {
pub convo_id: String,
pub message: crate::types::Union<LogRemoveReactionMessageRefs>,
pub reaction: ReactionView,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub related_profiles: core::option::Option<
Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
>,
pub rev: String,
}
pub type LogRemoveReaction = crate::types::Object<LogRemoveReactionData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogUnlockConvoData {
pub convo_id: String,
pub message: SystemMessageView,
pub related_profiles: Vec<crate::chat::bsky::actor::defs::ProfileViewBasic>,
pub rev: String,
}
pub type LogUnlockConvo = crate::types::Object<LogUnlockConvoData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogUnmuteConvoData {
pub convo_id: String,
pub rev: String,
}
pub type LogUnmuteConvo = crate::types::Object<LogUnmuteConvoData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogWithdrawIncomingJoinRequestData {
pub convo_id: String,
pub member: crate::chat::bsky::actor::defs::ProfileViewBasic,
pub rev: String,
}
pub type LogWithdrawIncomingJoinRequest = crate::types::Object<
LogWithdrawIncomingJoinRequestData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LogWithdrawOutgoingJoinRequestData {
pub convo_id: String,
pub rev: String,
}
pub type LogWithdrawOutgoingJoinRequest = crate::types::Object<
LogWithdrawOutgoingJoinRequestData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct MessageAndReactionViewData {
pub message: MessageView,
pub reaction: ReactionView,
}
pub type MessageAndReactionView = crate::types::Object<MessageAndReactionViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct MessageBeforeUserJoinedGroupViewData {}
pub type MessageBeforeUserJoinedGroupView = crate::types::Object<
MessageBeforeUserJoinedGroupViewData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct MessageInputData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub embed: core::option::Option<crate::types::Union<MessageInputEmbedRefs>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub facets: core::option::Option<Vec<crate::app::bsky::richtext::facet::Main>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub reply_to: core::option::Option<ReplyRef>,
pub text: String,
}
pub type MessageInput = crate::types::Object<MessageInputData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct MessageRefData {
pub convo_id: String,
pub did: crate::types::string::Did,
pub message_id: String,
}
pub type MessageRef = crate::types::Object<MessageRefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct MessageViewData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub embed: core::option::Option<crate::types::Union<MessageViewEmbedRefs>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub facets: core::option::Option<Vec<crate::app::bsky::richtext::facet::Main>>,
pub id: String,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub reactions: core::option::Option<Vec<ReactionView>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub reply_to: core::option::Option<crate::types::Union<MessageViewReplyToRefs>>,
pub rev: String,
pub sender: MessageViewSender,
pub sent_at: crate::types::string::Datetime,
pub text: String,
}
pub type MessageView = crate::types::Object<MessageViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct MessageViewSenderData {
pub did: crate::types::string::Did,
}
pub type MessageViewSender = crate::types::Object<MessageViewSenderData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ReactionViewData {
pub created_at: crate::types::string::Datetime,
pub sender: ReactionViewSender,
pub value: String,
}
pub type ReactionView = crate::types::Object<ReactionViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ReactionViewSenderData {
pub did: crate::types::string::Did,
}
pub type ReactionViewSender = crate::types::Object<ReactionViewSenderData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ReplyRefData {
pub message_id: String,
}
pub type ReplyRef = crate::types::Object<ReplyRefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataAddMemberData {
pub added_by: SystemMessageReferredUser,
pub member: SystemMessageReferredUser,
pub role: crate::chat::bsky::actor::defs::MemberRole,
}
pub type SystemMessageDataAddMember = crate::types::Object<
SystemMessageDataAddMemberData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataCreateJoinLinkData {}
pub type SystemMessageDataCreateJoinLink = crate::types::Object<
SystemMessageDataCreateJoinLinkData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataDisableJoinLinkData {}
pub type SystemMessageDataDisableJoinLink = crate::types::Object<
SystemMessageDataDisableJoinLinkData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataEditGroupData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub new_name: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub old_name: core::option::Option<String>,
}
pub type SystemMessageDataEditGroup = crate::types::Object<
SystemMessageDataEditGroupData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataEditJoinLinkData {}
pub type SystemMessageDataEditJoinLink = crate::types::Object<
SystemMessageDataEditJoinLinkData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataEnableJoinLinkData {}
pub type SystemMessageDataEnableJoinLink = crate::types::Object<
SystemMessageDataEnableJoinLinkData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataLockConvoData {
pub locked_by: SystemMessageReferredUser,
}
pub type SystemMessageDataLockConvo = crate::types::Object<
SystemMessageDataLockConvoData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataLockConvoPermanentlyData {
pub locked_by: SystemMessageReferredUser,
}
pub type SystemMessageDataLockConvoPermanently = crate::types::Object<
SystemMessageDataLockConvoPermanentlyData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataMemberJoinData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub approved_by: core::option::Option<SystemMessageReferredUser>,
pub member: SystemMessageReferredUser,
pub role: crate::chat::bsky::actor::defs::MemberRole,
}
pub type SystemMessageDataMemberJoin = crate::types::Object<
SystemMessageDataMemberJoinData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataMemberLeaveData {
pub member: SystemMessageReferredUser,
}
pub type SystemMessageDataMemberLeave = crate::types::Object<
SystemMessageDataMemberLeaveData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataRemoveMemberData {
pub member: SystemMessageReferredUser,
pub removed_by: SystemMessageReferredUser,
}
pub type SystemMessageDataRemoveMember = crate::types::Object<
SystemMessageDataRemoveMemberData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageDataUnlockConvoData {
pub unlocked_by: SystemMessageReferredUser,
}
pub type SystemMessageDataUnlockConvo = crate::types::Object<
SystemMessageDataUnlockConvoData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageReferredUserData {
pub did: crate::types::string::Did,
}
pub type SystemMessageReferredUser = crate::types::Object<SystemMessageReferredUserData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SystemMessageViewData {
pub data: crate::types::Union<SystemMessageViewDataRefs>,
pub id: String,
pub rev: String,
pub sent_at: crate::types::string::Datetime,
}
pub type SystemMessageView = crate::types::Object<SystemMessageViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum ConvoViewKindRefs {
#[serde(rename = "chat.bsky.convo.defs#directConvo")]
DirectConvo(Box<DirectConvo>),
#[serde(rename = "chat.bsky.convo.defs#groupConvo")]
GroupConvo(Box<GroupConvo>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum ConvoViewLastMessageRefs {
#[serde(rename = "chat.bsky.convo.defs#messageView")]
MessageView(Box<MessageView>),
#[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
DeletedMessageView(Box<DeletedMessageView>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageView")]
SystemMessageView(Box<SystemMessageView>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum ConvoViewLastReactionRefs {
#[serde(rename = "chat.bsky.convo.defs#messageAndReactionView")]
MessageAndReactionView(Box<MessageAndReactionView>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum LogAddReactionMessageRefs {
#[serde(rename = "chat.bsky.convo.defs#messageView")]
MessageView(Box<MessageView>),
#[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
DeletedMessageView(Box<DeletedMessageView>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum LogCreateMessageMessageRefs {
#[serde(rename = "chat.bsky.convo.defs#messageView")]
MessageView(Box<MessageView>),
#[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
DeletedMessageView(Box<DeletedMessageView>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum LogDeleteMessageMessageRefs {
#[serde(rename = "chat.bsky.convo.defs#messageView")]
MessageView(Box<MessageView>),
#[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
DeletedMessageView(Box<DeletedMessageView>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum LogReadConvoMessageRefs {
#[serde(rename = "chat.bsky.convo.defs#messageView")]
MessageView(Box<MessageView>),
#[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
DeletedMessageView(Box<DeletedMessageView>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageView")]
SystemMessageView(Box<SystemMessageView>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum LogReadMessageMessageRefs {
#[serde(rename = "chat.bsky.convo.defs#messageView")]
MessageView(Box<MessageView>),
#[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
DeletedMessageView(Box<DeletedMessageView>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageView")]
SystemMessageView(Box<SystemMessageView>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum LogRemoveReactionMessageRefs {
#[serde(rename = "chat.bsky.convo.defs#messageView")]
MessageView(Box<MessageView>),
#[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
DeletedMessageView(Box<DeletedMessageView>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum MessageInputEmbedRefs {
#[serde(rename = "app.bsky.embed.record")]
AppBskyEmbedRecordMain(Box<crate::app::bsky::embed::record::Main>),
#[serde(rename = "chat.bsky.embed.joinLink")]
ChatBskyEmbedJoinLinkMain(Box<crate::chat::bsky::embed::join_link::Main>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum MessageViewEmbedRefs {
#[serde(rename = "app.bsky.embed.record#view")]
AppBskyEmbedRecordView(Box<crate::app::bsky::embed::record::View>),
#[serde(rename = "chat.bsky.embed.joinLink#view")]
ChatBskyEmbedJoinLinkView(Box<crate::chat::bsky::embed::join_link::View>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum MessageViewReplyToRefs {
#[serde(rename = "chat.bsky.convo.defs#messageView")]
MessageView(Box<MessageView>),
#[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
DeletedMessageView(Box<DeletedMessageView>),
#[serde(rename = "chat.bsky.convo.defs#messageBeforeUserJoinedGroupView")]
MessageBeforeUserJoinedGroupView(Box<MessageBeforeUserJoinedGroupView>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum SystemMessageViewDataRefs {
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataAddMember")]
SystemMessageDataAddMember(Box<SystemMessageDataAddMember>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataRemoveMember")]
SystemMessageDataRemoveMember(Box<SystemMessageDataRemoveMember>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataMemberJoin")]
SystemMessageDataMemberJoin(Box<SystemMessageDataMemberJoin>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataMemberLeave")]
SystemMessageDataMemberLeave(Box<SystemMessageDataMemberLeave>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataLockConvo")]
SystemMessageDataLockConvo(Box<SystemMessageDataLockConvo>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataUnlockConvo")]
SystemMessageDataUnlockConvo(Box<SystemMessageDataUnlockConvo>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataLockConvoPermanently")]
SystemMessageDataLockConvoPermanently(Box<SystemMessageDataLockConvoPermanently>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataEditGroup")]
SystemMessageDataEditGroup(Box<SystemMessageDataEditGroup>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataCreateJoinLink")]
SystemMessageDataCreateJoinLink(Box<SystemMessageDataCreateJoinLink>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataEditJoinLink")]
SystemMessageDataEditJoinLink(Box<SystemMessageDataEditJoinLink>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataEnableJoinLink")]
SystemMessageDataEnableJoinLink(Box<SystemMessageDataEnableJoinLink>),
#[serde(rename = "chat.bsky.convo.defs#systemMessageDataDisableJoinLink")]
SystemMessageDataDisableJoinLink(Box<SystemMessageDataDisableJoinLink>),
}