Struct slack_messaging::blocks::elements::Filter
source · pub struct Filter { /* private fields */ }Expand description
Filter object representation.
Example
use slack_messaging::blocks::elements::{Filter, Conversation};
use serde_json::json;
let filter = Filter::new()
.include(Conversation::Public)
.include(Conversation::Mpim)
.exclude_bot_users();
let expected = json!({
"include": [
"public",
"mpim"
],
"exclude_bot_users": true
});
let filter_json = serde_json::to_value(filter).unwrap();
assert_eq!(filter_json, expected);Implementations§
source§impl Filter
impl Filter
sourcepub fn new() -> Self
pub fn new() -> Self
Constructs a Filter object.
use slack_messaging::blocks::elements::Filter;
use serde_json::json;
let filter = Filter::new();
let expected = json!({});
let filter_json = serde_json::to_value(filter).unwrap();
assert_eq!(filter_json, expected);sourcepub fn set_include(self, include: Vec<Conversation>) -> Self
pub fn set_include(self, include: Vec<Conversation>) -> Self
Sets include field directly.
use slack_messaging::blocks::elements::{Filter, Conversation};
use serde_json::json;
let filter = Filter::new()
.set_include(
vec![
Conversation::Im,
Conversation::Private,
]
);
let expected = json!({
"include": [
"im",
"private"
]
});
let filter_json = serde_json::to_value(filter).unwrap();
assert_eq!(filter_json, expected);sourcepub fn push_include(self, conversation: Conversation) -> Self
pub fn push_include(self, conversation: Conversation) -> Self
Adds conversation to include field.
use slack_messaging::blocks::elements::{Filter, Conversation};
use serde_json::json;
let filter = Filter::new()
.push_include(Conversation::Mpim);
let expected = json!({
"include": [
"mpim"
]
});
let filter_json = serde_json::to_value(filter).unwrap();
assert_eq!(filter_json, expected);sourcepub fn include(self, conversation: Conversation) -> Self
pub fn include(self, conversation: Conversation) -> Self
Alias for push_include method
Sets exclude_external_shared_channels field.
use slack_messaging::blocks::elements::{Filter, Conversation};
use serde_json::json;
let filter = Filter::new()
.set_exclude_external_shared_channels(true);
let expected = json!({
"exclude_external_shared_channels": true
});
let filter_json = serde_json::to_value(filter).unwrap();
assert_eq!(filter_json, expected);Sets true to exclude_external_shared_channels field.
use slack_messaging::blocks::elements::{Filter, Conversation};
use serde_json::json;
let filter = Filter::new()
.exclude_external_shared_channels();
let expected = json!({
"exclude_external_shared_channels": true
});
let filter_json = serde_json::to_value(filter).unwrap();
assert_eq!(filter_json, expected);sourcepub fn set_exclude_bot_users(self, value: bool) -> Self
pub fn set_exclude_bot_users(self, value: bool) -> Self
Sets exclude_bot_users field.
use slack_messaging::blocks::elements::{Filter, Conversation};
use serde_json::json;
let filter = Filter::new()
.set_exclude_bot_users(true);
let expected = json!({
"exclude_bot_users": true
});
let filter_json = serde_json::to_value(filter).unwrap();
assert_eq!(filter_json, expected);sourcepub fn exclude_bot_users(self) -> Self
pub fn exclude_bot_users(self) -> Self
Sets true to exclude_bot_users field.
use slack_messaging::blocks::elements::{Filter, Conversation};
use serde_json::json;
let filter = Filter::new()
.exclude_bot_users();
let expected = json!({
"exclude_bot_users": true
});
let filter_json = serde_json::to_value(filter).unwrap();
assert_eq!(filter_json, expected);