shrike 0.1.6

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

#[derive(Debug, Clone, Default, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct QueueListQueuesParams {
    /// Filter queues by collection name (e.g. 'app.bsky.feed.post').
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub collection: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub cursor: Option<String>,
    /// Filter by enabled status. If not specified, returns all queues.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub enabled: Option<bool>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub limit: Option<i64>,
    /// Filter queues that handle any of these report reason types.
    #[serde(default, skip_serializing_if = "Vec::is_empty")]
    pub report_types: Vec<String>,
    /// Filter queues that handle this subject type ('account' or 'record').
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub subject_type: Option<String>,
}

#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct QueueListQueuesOutput {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub cursor: Option<String>,
    #[serde(default, skip_serializing_if = "Vec::is_empty")]
    pub queues: Vec<crate::api::tools::ozone::QueueDefsQueueView>,
    /// Extra fields not defined in the schema.
    #[serde(flatten)]
    pub extra: std::collections::HashMap<String, serde_json::Value>,
}

/// QueueListQueues — List all configured moderation queues with statistics.
pub async fn queue_list_queues(
    client: &crate::xrpc::Client,
    params: &QueueListQueuesParams,
) -> Result<QueueListQueuesOutput, crate::xrpc::Error> {
    client.query("tools.ozone.queue.listQueues", params).await
}