Skip to content

Instantly share code, notes, and snippets.

@zupzup
Created October 29, 2020 13:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zupzup/9fb74144a88dca96e8d552b3fa7c53dd to your computer and use it in GitHub Desktop.
Save zupzup/9fb74144a88dca96e8d552b3fa7c53dd to your computer and use it in GitHub Desktop.
Timeular Public API spaces1
#[derive(Deserialize, Debug)]
struct SpacesResponse {
data: Vec<Space>,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct Space {
id: String,
name: String,
default: bool,
members: Vec<Member>,
retired_members: Vec<RetiredMember>,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct Member {
id: String,
name: String,
email: String,
role: String,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
struct RetiredMember {
id: String,
name: String,
}
async fn fetch_spaces(token: &str) -> Result<Vec<Space>, Error> {
let resp = CLIENT
.get(&url("/space"))
.header("Authorization", auth(token))
.send()
.await?
.json::<SpacesResponse>()
.await?;
Ok(resp.data)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment