#![allow(unused_imports)]
use crate::objects::*;
use crate::{
CursorPaginated, NextCursor, ResponseMetadata, SlackApiMethod, SlackClient, SlackError,
};
use serde::{Deserialize, Serialize};
#[doc(alias = "emoji.list")]
#[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[non_exhaustive]
pub struct EmojiListRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub include_categories: Option<bool>,
}
impl EmojiListRequest {
pub fn new() -> Self {
Self {
include_categories: None,
}
}
pub fn include_categories(mut self, include_categories: bool) -> Self {
self.include_categories = Some(include_categories);
self
}
}
impl SlackApiMethod for EmojiListRequest {
const METHOD: &'static str = "emoji.list";
type Response = EmojiListResponse;
}
#[doc(alias = "emoji.list")]
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct EmojiListResponse {
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub emoji: Option<std::collections::HashMap<String, String>>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub cache_ts: Option<String>,
#[serde(
default,
deserialize_with = "crate::de::opt_object",
skip_serializing_if = "Option::is_none"
)]
pub response_metadata: Option<ResponseMetadata>,
#[serde(
default,
deserialize_with = "crate::de::opt_string",
skip_serializing_if = "Option::is_none"
)]
pub warning: Option<String>,
}
impl SlackClient {
#[doc(alias = "emoji.list")]
pub async fn emoji_list(
&self,
request: &EmojiListRequest,
) -> Result<EmojiListResponse, SlackError> {
self.call(request).await
}
}