shrike 0.1.5

AT Protocol library for Rust
Documentation
// Code generated by lexgen. DO NOT EDIT.

#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ConvoLeaveConvoInput {
    pub convo_id: String,
    /// Extra fields not defined in the schema.
    #[serde(flatten)]
    pub extra: std::collections::HashMap<String, serde_json::Value>,
}

#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ConvoLeaveConvoOutput {
    pub convo_id: String,
    pub rev: String,
    /// Extra fields not defined in the schema.
    #[serde(flatten)]
    pub extra: std::collections::HashMap<String, serde_json::Value>,
}

/// ConvoLeaveConvo — Leaves a conversation (direct or group). For group, this effectively removes membership. For direct, membership is never removed, only changed to remove from enumerations by the user who left.
pub async fn convo_leave_convo(
    client: &crate::xrpc::Client,
    input: &ConvoLeaveConvoInput,
) -> Result<ConvoLeaveConvoOutput, crate::xrpc::Error> {
    client.procedure("chat.bsky.convo.leaveConvo", input).await
}