pub const NSID: &str = "chat.bsky.moderation.subscribeModEvents";
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ParametersData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub cursor: core::option::Option<String>,
}
pub type Parameters = crate::types::Object<ParametersData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "error", content = "message")]
pub enum Error {
FutureCursor(Option<String>),
ConsumerTooSlow(Option<String>),
}
impl std::fmt::Display for Error {
fn fmt(&self, _f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Error::FutureCursor(msg) => {
write!(_f, "FutureCursor")?;
if let Some(msg) = msg {
write!(_f, ": {msg}")?;
}
}
Error::ConsumerTooSlow(msg) => {
write!(_f, "ConsumerTooSlow")?;
if let Some(msg) = msg {
write!(_f, ": {msg}")?;
}
}
}
Ok(())
}
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventChatAcceptedData {
pub actor_did: crate::types::string::Did,
pub convo_created_at: crate::types::string::Datetime,
pub convo_id: String,
pub created_at: crate::types::string::Datetime,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub group_member_count: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub group_name: core::option::Option<String>,
pub method: String,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub owner_did: core::option::Option<crate::types::string::Did>,
pub rev: String,
}
pub type EventChatAccepted = crate::types::Object<EventChatAcceptedData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventConvoFirstMessageData {
pub convo_id: String,
pub created_at: crate::types::string::Datetime,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub message_id: core::option::Option<String>,
pub recipients: Vec<crate::types::string::Did>,
pub rev: String,
pub user: crate::types::string::Did,
}
pub type EventConvoFirstMessage = crate::types::Object<EventConvoFirstMessageData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventGroupChatCreatedData {
pub actor_did: crate::types::string::Did,
pub convo_created_at: crate::types::string::Datetime,
pub convo_id: String,
pub created_at: crate::types::string::Datetime,
pub group_member_count: i64,
pub group_name: String,
pub initial_member_dids: Vec<crate::types::string::Did>,
pub owner_did: crate::types::string::Did,
pub rev: String,
}
pub type EventGroupChatCreated = crate::types::Object<EventGroupChatCreatedData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventGroupChatJoinRequestData {
pub actor_did: crate::types::string::Did,
pub convo_created_at: crate::types::string::Datetime,
pub convo_id: String,
pub created_at: crate::types::string::Datetime,
pub group_member_count: i64,
pub group_name: String,
pub join_link_code: String,
pub owner_did: crate::types::string::Did,
pub rev: String,
pub subject_follows_owner: bool,
}
pub type EventGroupChatJoinRequest = crate::types::Object<EventGroupChatJoinRequestData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventGroupChatJoinRequestApprovedData {
pub actor_did: crate::types::string::Did,
pub convo_created_at: crate::types::string::Datetime,
pub convo_id: String,
pub created_at: crate::types::string::Datetime,
pub group_member_count: i64,
pub group_name: String,
pub owner_did: crate::types::string::Did,
pub rev: String,
pub subject_did: crate::types::string::Did,
}
pub type EventGroupChatJoinRequestApproved = crate::types::Object<
EventGroupChatJoinRequestApprovedData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventGroupChatJoinRequestRejectedData {
pub actor_did: crate::types::string::Did,
pub convo_created_at: crate::types::string::Datetime,
pub convo_id: String,
pub created_at: crate::types::string::Datetime,
pub group_member_count: i64,
pub group_name: String,
pub owner_did: crate::types::string::Did,
pub rev: String,
pub subject_did: crate::types::string::Did,
}
pub type EventGroupChatJoinRequestRejected = crate::types::Object<
EventGroupChatJoinRequestRejectedData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventGroupChatMemberAddedData {
pub actor_did: crate::types::string::Did,
pub convo_created_at: crate::types::string::Datetime,
pub convo_id: String,
pub created_at: crate::types::string::Datetime,
pub group_member_count: i64,
pub group_name: String,
pub owner_did: crate::types::string::Did,
pub request_members_count: i64,
pub rev: String,
pub subject_did: crate::types::string::Did,
pub subject_follows_owner: bool,
}
pub type EventGroupChatMemberAdded = crate::types::Object<EventGroupChatMemberAddedData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventGroupChatMemberJoinedData {
pub actor_did: crate::types::string::Did,
pub convo_created_at: crate::types::string::Datetime,
pub convo_id: String,
pub created_at: crate::types::string::Datetime,
pub group_member_count: i64,
pub group_name: String,
pub join_link_code: String,
pub owner_did: crate::types::string::Did,
pub rev: String,
pub subject_follows_owner: bool,
}
pub type EventGroupChatMemberJoined = crate::types::Object<
EventGroupChatMemberJoinedData,
>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventGroupChatMemberLeftData {
pub actor_did: crate::types::string::Did,
pub convo_created_at: crate::types::string::Datetime,
pub convo_id: String,
pub created_at: crate::types::string::Datetime,
pub group_member_count: i64,
pub group_name: String,
pub leave_method: String,
pub owner_did: crate::types::string::Did,
pub rev: String,
pub subject_did: crate::types::string::Did,
}
pub type EventGroupChatMemberLeft = crate::types::Object<EventGroupChatMemberLeftData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventGroupChatUpdatedData {
pub actor_did: crate::types::string::Did,
pub convo_created_at: crate::types::string::Datetime,
pub convo_id: String,
pub created_at: crate::types::string::Datetime,
pub group_member_count: i64,
pub group_name: String,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub join_link_code: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub join_link_followers_only: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub join_link_requires_approval: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub lock_reason: core::option::Option<String>,
#[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 owner_did: crate::types::string::Did,
pub rev: String,
pub update_type: String,
}
pub type EventGroupChatUpdated = crate::types::Object<EventGroupChatUpdatedData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct EventRateLimitExceededData {
pub actor_did: crate::types::string::Did,
pub created_at: crate::types::string::Datetime,
pub endpoint: String,
pub rev: String,
}
pub type EventRateLimitExceeded = crate::types::Object<EventRateLimitExceededData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum Message {
#[serde(rename = "chat.bsky.moderation.subscribeModEvents#eventConvoFirstMessage")]
EventConvoFirstMessage(Box<EventConvoFirstMessage>),
#[serde(rename = "chat.bsky.moderation.subscribeModEvents#eventGroupChatCreated")]
EventGroupChatCreated(Box<EventGroupChatCreated>),
#[serde(
rename = "chat.bsky.moderation.subscribeModEvents#eventGroupChatMemberAdded"
)]
EventGroupChatMemberAdded(Box<EventGroupChatMemberAdded>),
#[serde(
rename = "chat.bsky.moderation.subscribeModEvents#eventGroupChatMemberJoined"
)]
EventGroupChatMemberJoined(Box<EventGroupChatMemberJoined>),
#[serde(
rename = "chat.bsky.moderation.subscribeModEvents#eventGroupChatJoinRequest"
)]
EventGroupChatJoinRequest(Box<EventGroupChatJoinRequest>),
#[serde(
rename = "chat.bsky.moderation.subscribeModEvents#eventGroupChatJoinRequestApproved"
)]
EventGroupChatJoinRequestApproved(Box<EventGroupChatJoinRequestApproved>),
#[serde(
rename = "chat.bsky.moderation.subscribeModEvents#eventGroupChatJoinRequestRejected"
)]
EventGroupChatJoinRequestRejected(Box<EventGroupChatJoinRequestRejected>),
#[serde(rename = "chat.bsky.moderation.subscribeModEvents#eventChatAccepted")]
EventChatAccepted(Box<EventChatAccepted>),
#[serde(rename = "chat.bsky.moderation.subscribeModEvents#eventGroupChatMemberLeft")]
EventGroupChatMemberLeft(Box<EventGroupChatMemberLeft>),
#[serde(rename = "chat.bsky.moderation.subscribeModEvents#eventGroupChatUpdated")]
EventGroupChatUpdated(Box<EventGroupChatUpdated>),
#[serde(rename = "chat.bsky.moderation.subscribeModEvents#eventRateLimitExceeded")]
EventRateLimitExceeded(Box<EventRateLimitExceeded>),
}