use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum LicenseSummaryStatusEnum {
    #[serde(rename = "unlicensed")]
    Unlicensed,
    #[serde(rename = "valid")]
    Valid,
    #[serde(rename = "expired")]
    Expired,
    #[serde(rename = "expiry_soon")]
    ExpirySoon,
    #[serde(rename = "limit_exceeded_admin")]
    LimitExceededAdmin,
    #[serde(rename = "limit_exceeded_user")]
    LimitExceededUser,
    #[serde(rename = "read_only")]
    ReadOnly,
}
impl std::fmt::Display for LicenseSummaryStatusEnum {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Unlicensed => write!(f, "unlicensed"),
            Self::Valid => write!(f, "valid"),
            Self::Expired => write!(f, "expired"),
            Self::ExpirySoon => write!(f, "expiry_soon"),
            Self::LimitExceededAdmin => write!(f, "limit_exceeded_admin"),
            Self::LimitExceededUser => write!(f, "limit_exceeded_user"),
            Self::ReadOnly => write!(f, "read_only"),
        }
    }
}
impl Default for LicenseSummaryStatusEnum {
    fn default() -> LicenseSummaryStatusEnum {
        Self::Unlicensed
    }
}