hey_sdk/generated/services/
boxes.rs1#![allow(missing_docs, unreachable_pub, clippy::all, clippy::pedantic)]
4
5use crate::client::Client;
6use crate::error::Error;
7use crate::generated::routes;
8use crate::generated::types::*;
9use crate::pagination::Page;
10
11#[derive(Debug, Clone, Default, PartialEq)]
13pub struct GetBoxParams {
14 pub page: Option<String>,
15}
16
17#[derive(Debug, Clone, Default, PartialEq)]
19pub struct GetAsideboxParams {
20 pub page: Option<String>,
21}
22
23#[derive(Debug, Clone, Default, PartialEq)]
25pub struct GetBubbleboxParams {
26 pub page: Option<String>,
27}
28
29#[derive(Debug, Clone, Default, PartialEq)]
31pub struct GetFeedboxParams {
32 pub page: Option<String>,
33}
34
35#[derive(Debug, Clone, Default, PartialEq)]
37pub struct GetBoxGroupParams {
38 pub page: Option<String>,
39}
40
41#[derive(Debug, Clone, Default, PartialEq)]
43pub struct GetImboxParams {
44 pub page: Option<String>,
45}
46
47#[derive(Debug, Clone, Default, PartialEq)]
49pub struct GetImboxSeenParams {
50 pub page: Option<String>,
51}
52
53#[derive(Debug, Clone, Default, PartialEq)]
55pub struct GetLaterboxParams {
56 pub page: Option<String>,
57}
58
59#[derive(Debug, Clone, Default, PartialEq)]
61pub struct GetTrailboxParams {
62 pub page: Option<String>,
63}
64
65pub struct Boxes<'a> {
66 client: &'a Client,
67}
68
69impl<'a> Boxes<'a> {
70 pub(crate) fn new(client: &'a Client) -> Self {
71 Self { client }
72 }
73
74 pub fn client(&self) -> &'a Client {
76 self.client
77 }
78
79 pub async fn create_group(
83 &self,
84 box_id: i64,
85 body: &CreateBoxGroupRequestContent,
86 ) -> Result<CreateBoxGroupResponseContent, Error> {
87 let mut operation = self.client.operation(&routes::CREATE_BOX_GROUP, &[&box_id]);
88 operation.resource_id(box_id);
89 operation.json(body)?;
90 self.client.send(operation).await
91 }
92
93 pub async fn delete_group(&self, box_id: i64, group_id: i64) -> Result<(), Error> {
95 let mut operation = self
96 .client
97 .operation(&routes::DELETE_BOX_GROUP, &[&box_id, &group_id]);
98 operation.resource_id(group_id);
99 self.client.send_unit(operation).await
100 }
101
102 pub async fn get(
104 &self,
105 box_id: i64,
106 params: &GetBoxParams,
107 ) -> Result<Page<GetBoxResponseContent>, Error> {
108 let mut operation = self.client.operation(&routes::GET_BOX, &[&box_id]);
109 operation.resource_id(box_id);
110 operation.query_optional("page", params.page.as_ref());
111 self.client.send_page(operation).await
112 }
113
114 pub async fn get_asidebox(
116 &self,
117 params: &GetAsideboxParams,
118 ) -> Result<GetAsideboxResponseContent, Error> {
119 let mut operation = self.client.operation(&routes::GET_ASIDEBOX, &[]);
120 operation.query_optional("page", params.page.as_ref());
121 self.client.send(operation).await
122 }
123
124 pub async fn get_bubblebox(
126 &self,
127 params: &GetBubbleboxParams,
128 ) -> Result<GetBubbleboxResponseContent, Error> {
129 let mut operation = self.client.operation(&routes::GET_BUBBLEBOX, &[]);
130 operation.query_optional("page", params.page.as_ref());
131 self.client.send(operation).await
132 }
133
134 pub async fn get_feedbox(
136 &self,
137 params: &GetFeedboxParams,
138 ) -> Result<GetFeedboxResponseContent, Error> {
139 let mut operation = self.client.operation(&routes::GET_FEEDBOX, &[]);
140 operation.query_optional("page", params.page.as_ref());
141 self.client.send(operation).await
142 }
143
144 pub async fn get_group(
149 &self,
150 box_id: i64,
151 group_id: i64,
152 params: &GetBoxGroupParams,
153 ) -> Result<Page<GetBoxGroupResponseContent>, Error> {
154 let mut operation = self
155 .client
156 .operation(&routes::GET_BOX_GROUP, &[&box_id, &group_id]);
157 operation.resource_id(group_id);
158 operation.query_optional("page", params.page.as_ref());
159 self.client.send_page(operation).await
160 }
161
162 pub async fn get_imbox(
164 &self,
165 params: &GetImboxParams,
166 ) -> Result<GetImboxResponseContent, Error> {
167 let mut operation = self.client.operation(&routes::GET_IMBOX, &[]);
168 operation.query_optional("page", params.page.as_ref());
169 self.client.send(operation).await
170 }
171
172 pub async fn get_imbox_seen(
174 &self,
175 params: &GetImboxSeenParams,
176 ) -> Result<GetImboxSeenResponseContent, Error> {
177 let mut operation = self.client.operation(&routes::GET_IMBOX_SEEN, &[]);
178 operation.query_optional("page", params.page.as_ref());
179 self.client.send(operation).await
180 }
181
182 pub async fn get_laterbox(
184 &self,
185 params: &GetLaterboxParams,
186 ) -> Result<GetLaterboxResponseContent, Error> {
187 let mut operation = self.client.operation(&routes::GET_LATERBOX, &[]);
188 operation.query_optional("page", params.page.as_ref());
189 self.client.send(operation).await
190 }
191
192 pub async fn get_trailbox(
194 &self,
195 params: &GetTrailboxParams,
196 ) -> Result<GetTrailboxResponseContent, Error> {
197 let mut operation = self.client.operation(&routes::GET_TRAILBOX, &[]);
198 operation.query_optional("page", params.page.as_ref());
199 self.client.send(operation).await
200 }
201
202 pub async fn list(&self) -> Result<Page<ListBoxesResponseContent>, Error> {
204 let operation = self.client.operation(&routes::LIST_BOXES, &[]);
205 self.client.send_page(operation).await
206 }
207
208 pub async fn list_groups(&self, box_id: i64) -> Result<ListBoxGroupsResponseContent, Error> {
210 let mut operation = self.client.operation(&routes::LIST_BOX_GROUPS, &[&box_id]);
211 operation.resource_id(box_id);
212 self.client.send(operation).await
213 }
214
215 pub async fn mark_seen(&self, box_id: i64) -> Result<(), Error> {
217 let mut operation = self.client.operation(&routes::MARK_BOX_SEEN, &[&box_id]);
218 operation.resource_id(box_id);
219 self.client.send_unit(operation).await
220 }
221}