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