sendgrid_api/
subuser_monitor_settings.rs

1use crate::Client;
2use crate::ClientResult;
3
4pub struct SubuserMonitorSettings {
5    pub client: Client,
6}
7
8impl SubuserMonitorSettings {
9    #[doc(hidden)]
10    pub fn new(client: Client) -> Self {
11        SubuserMonitorSettings { client }
12    }
13
14    /**
15     * Retrieve monitor settings for a subuser.
16     *
17     * This function performs a `GET` to the `/subusers/{subuser_name}/monitor` endpoint.
18     */
19    pub async fn get_subusers_subuser_name_monitor(
20        &self,
21        subuser_name: &str,
22    ) -> ClientResult<crate::Response<crate::types::Monitor>> {
23        let url = self.client.url(
24            &format!(
25                "/subusers/{}/monitor",
26                crate::progenitor_support::encode_path(subuser_name),
27            ),
28            None,
29        );
30        self.client
31            .get(
32                &url,
33                crate::Message {
34                    body: None,
35                    content_type: None,
36                },
37            )
38            .await
39    }
40    /**
41     * Update Monitor Settings for a subuser.
42     *
43     * This function performs a `PUT` to the `/subusers/{subuser_name}/monitor` endpoint.
44     */
45    pub async fn put_subusers_subuser_name_monitor(
46        &self,
47        subuser_name: &str,
48        body: &crate::types::Monitor,
49    ) -> ClientResult<crate::Response<crate::types::Monitor>> {
50        let url = self.client.url(
51            &format!(
52                "/subusers/{}/monitor",
53                crate::progenitor_support::encode_path(subuser_name),
54            ),
55            None,
56        );
57        self.client
58            .put(
59                &url,
60                crate::Message {
61                    body: Some(reqwest::Body::from(serde_json::to_vec(body)?)),
62                    content_type: None,
63                },
64            )
65            .await
66    }
67    /**
68     * Create monitor settings.
69     *
70     * This function performs a `POST` to the `/subusers/{subuser_name}/monitor` endpoint.
71     */
72    pub async fn post_subusers_subuser_name_monitor(
73        &self,
74        subuser_name: &str,
75        body: &crate::types::Monitor,
76    ) -> ClientResult<crate::Response<crate::types::Monitor>> {
77        let url = self.client.url(
78            &format!(
79                "/subusers/{}/monitor",
80                crate::progenitor_support::encode_path(subuser_name),
81            ),
82            None,
83        );
84        self.client
85            .post(
86                &url,
87                crate::Message {
88                    body: Some(reqwest::Body::from(serde_json::to_vec(body)?)),
89                    content_type: None,
90                },
91            )
92            .await
93    }
94    /**
95     * Delete monitor settings.
96     *
97     * This function performs a `DELETE` to the `/subusers/{subuser_name}/monitor` endpoint.
98     */
99    pub async fn delete_subusers_subuser_name_monitor(
100        &self,
101        subuser_name: &str,
102    ) -> ClientResult<crate::Response<crate::types::Help>> {
103        let url = self.client.url(
104            &format!(
105                "/subusers/{}/monitor",
106                crate::progenitor_support::encode_path(subuser_name),
107            ),
108            None,
109        );
110        self.client
111            .delete(
112                &url,
113                crate::Message {
114                    body: None,
115                    content_type: None,
116                },
117            )
118            .await
119    }
120}