slack_rust/block/
block_file.rs1use serde::{Deserialize, Serialize};
4use serde_with::skip_serializing_none;
5
6#[skip_serializing_none]
9#[derive(Deserialize, Serialize, Debug, Default, PartialEq)]
10pub struct FileBlock {
11 pub external_id: String,
12 pub source: String,
13 pub block_id: Option<String>,
14}
15
16impl FileBlock {
17 pub fn builder(external_id: String, source: String) -> FileBlockBuilder {
18 FileBlockBuilder::new(external_id, source)
19 }
20}
21
22#[derive(Debug, Default)]
23pub struct FileBlockBuilder {
24 pub external_id: String,
25 pub source: String,
26 pub block_id: Option<String>,
27}
28
29impl FileBlockBuilder {
30 pub fn new(external_id: String, source: String) -> FileBlockBuilder {
31 FileBlockBuilder {
32 external_id,
33 source,
34 ..Default::default()
35 }
36 }
37 pub fn block_id(mut self, block_id: String) -> FileBlockBuilder {
38 self.block_id = Some(block_id);
39 self
40 }
41 pub fn build(self) -> FileBlockBuilder {
42 FileBlockBuilder {
43 external_id: self.external_id,
44 source: self.source,
45 block_id: self.block_id,
46 }
47 }
48}