use serde::{Deserialize, Serialize};
use super::ids::*;
#[allow(dead_code)]
#[derive(Debug, Clone, Deserialize)]
pub struct User {
pub id: UserId,
pub name: String,
#[serde(default)]
pub email: Option<String>,
#[serde(default, rename = "displayName")]
pub display_name: Option<String>,
}
#[allow(dead_code)]
#[derive(Debug, Clone, Deserialize)]
pub struct Team {
pub id: TeamId,
pub name: String,
pub key: String,
#[serde(default)]
pub color: Option<String>,
#[serde(default = "default_true", rename = "cyclesEnabled")]
pub cycles_enabled: bool,
}
fn default_true() -> bool {
true
}
#[allow(dead_code)]
#[derive(Debug, Clone, Deserialize)]
pub struct Viewer {
pub id: UserId,
pub name: String,
#[serde(default, rename = "displayName")]
pub display_name: Option<String>,
#[serde(default)]
pub organization: Option<Organization>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Organization {
pub id: OrganizationId,
pub name: String,
#[serde(rename = "urlKey")]
pub url_key: String,
}
#[derive(Debug, Clone, PartialEq)]
pub struct Workspace {
pub organization: Organization,
pub current: bool,
}