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
//! Request object builders.

mod chat_post_message;
mod files_complete_upload_external;
mod files_get_upload_url_external;
mod files_remote_add;
mod files_upload;

pub use chat_post_message::ChatPostMessageBuilder;
pub use files_complete_upload_external::FilesCompleteUploadExternalBuilder;
pub use files_get_upload_url_external::FilesGetUploadUrlExternalBuilder;
pub use files_remote_add::FilesRemoteAddBuilder;
pub use files_upload::FilesUploadBuilder;

/// The builder for a request of Slack API.
pub struct RequestBuilder;

impl RequestBuilder {
    /// Returns [`ChatPostMessageBuilder`].
    pub fn chat_post_message() -> ChatPostMessageBuilder {
        ChatPostMessageBuilder::new()
    }

    /// Returns [`FilesCompleteUploadExternalBuilder`].
    pub fn files_complete_upload_external() -> FilesCompleteUploadExternalBuilder {
        FilesCompleteUploadExternalBuilder::new()
    }

    /// Returns [`FilesGetUploadUrlExternalBuilder`].
    pub fn files_get_upload_url_external() -> FilesGetUploadUrlExternalBuilder {
        FilesGetUploadUrlExternalBuilder::new()
    }

    /// Returns [`FilesRemoteAddBuilder`].
    pub fn files_remote_add() -> FilesRemoteAddBuilder {
        FilesRemoteAddBuilder::new()
    }

    /// Returns [`FilesUploadBuilder`].
    pub fn files_upload() -> FilesUploadBuilder {
        FilesUploadBuilder::new()
    }
}