torii_lib/cloud/
whoami.rs1use serde::Deserialize;
4
5use super::{check_status, CloudClient};
6use crate::error::{Result, ToriiError};
7
8#[derive(Debug, Clone, Deserialize)]
9pub struct WhoAmI {
10 pub org_id: String,
11 pub org_name: String,
12 pub org_slug: String,
13 pub plan: String,
14 pub seats: i64,
15 pub suspended: bool,
16}
17
18pub fn whoami(client: &CloudClient) -> Result<WhoAmI> {
19 let resp = client
20 .get("/api/v1/whoami")
21 .send()
22 .map_err(|e| ToriiError::Network { provider: "gitorii.com".into(), message: format!("whoami request: {}", e) })?;
23 let resp = check_status(resp)?;
24 resp.json::<WhoAmI>()
25 .map_err(|e| ToriiError::MalformedResponse { provider: "gitorii.com".into(), message: format!("whoami parse: {}", e) })
26}