sfr_slack_api/builder/
files_get_upload_url_external.rs1use sfr_types as st;
4
5use crate::api::files_get_upload_url_external::FilesGetUploadUrlExternal;
6
7#[derive(Debug, Default)]
9pub struct FilesGetUploadUrlExternalBuilder {
10 filename: Option<String>,
12
13 length: Option<usize>,
15
16 alt_txt: Option<String>,
18
19 snippet_type: Option<String>,
21}
22
23impl FilesGetUploadUrlExternalBuilder {
24 pub fn new() -> Self {
26 Self::default()
27 }
28
29 pub fn build(self) -> Result<FilesGetUploadUrlExternal, st::Error> {
31 let filename = self
32 .filename
33 .ok_or_else(|| st::Error::required_value_is_missing(&["filename"]))?;
34
35 let length = self
36 .length
37 .ok_or_else(|| st::Error::required_value_is_missing(&["length"]))?;
38
39 let result = st::FilesGetUploadUrlExternalRequest {
40 filename,
41 length,
42 alt_txt: self.alt_txt,
43 snippet_type: self.snippet_type,
44 };
45
46 Ok(result.into())
47 }
48
49 pub fn filename(mut self, filename: Option<String>) -> Self {
51 self.filename = filename;
52 self
53 }
54
55 pub fn length(mut self, length: Option<usize>) -> Self {
57 self.length = length;
58 self
59 }
60
61 pub fn alt_txt(mut self, alt_txt: Option<String>) -> Self {
63 self.alt_txt = alt_txt;
64 self
65 }
66
67 pub fn snippet_type(mut self, snippet_type: Option<String>) -> Self {
69 self.snippet_type = snippet_type;
70 self
71 }
72}