agentmail/client/
inbox_events.rs1use crate::client::NoBody;
2use crate::client::scope::{InboxScope, Scoped};
3use crate::{Error, Page, types::*};
4
5impl Scoped<'_, InboxScope<'_>> {
6 pub async fn list_events(&self, page: Page) -> Result<InboxEventList, Error> {
8 self.client
9 .request(
10 reqwest::Method::GET,
11 &format!("{}/events", self.base()),
12 &page.query(),
13 None::<&NoBody>,
14 )
15 .await
16 }
17
18 pub async fn list_all_events(&self) -> Result<Vec<InboxEvent>, Error> {
20 let mut out = Vec::new();
21 let mut token = None;
22 loop {
23 let resp = self
24 .list_events(Page {
25 limit: None,
26 page_token: token,
27 })
28 .await?;
29 let next = resp.next_page_token;
30 out.extend(resp.events);
31 match next {
32 Some(t) => token = Some(t),
33 None => return Ok(out),
34 }
35 }
36 }
37}