use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetEntitlements200Response {
#[serde(rename = "tier")]
pub tier: Tier,
#[serde(rename = "edition")]
pub edition: Edition,
#[serde(rename = "expires_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub expires_at: Option<Option<String>>,
#[serde(rename = "limits", skip_serializing_if = "Option::is_none")]
pub limits: Option<serde_json::Value>,
}
impl GetEntitlements200Response {
pub fn new(tier: Tier, edition: Edition) -> GetEntitlements200Response {
GetEntitlements200Response {
tier,
edition,
expires_at: None,
limits: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Tier {
#[serde(rename = "trial")]
Trial,
#[serde(rename = "teams")]
Teams,
#[serde(rename = "enterprise")]
Enterprise,
}
impl Default for Tier {
fn default() -> Tier {
Self::Trial
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Edition {
#[serde(rename = "ote")]
Ote,
#[serde(rename = "oee")]
Oee,
}
impl Default for Edition {
fn default() -> Edition {
Self::Ote
}
}