use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AuthorAssociation {
#[serde(rename = "COLLABORATOR")]
Collaborator,
#[serde(rename = "CONTRIBUTOR")]
Contributor,
#[serde(rename = "FIRST_TIMER")]
FirstTimer,
#[serde(rename = "FIRST_TIME_CONTRIBUTOR")]
FirstTimeContributor,
#[serde(rename = "MANNEQUIN")]
Mannequin,
#[serde(rename = "MEMBER")]
Member,
#[serde(rename = "NONE")]
None,
#[serde(rename = "OWNER")]
Owner,
}
impl std::fmt::Display for AuthorAssociation {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Collaborator => write!(f, "COLLABORATOR"),
Self::Contributor => write!(f, "CONTRIBUTOR"),
Self::FirstTimer => write!(f, "FIRST_TIMER"),
Self::FirstTimeContributor => write!(f, "FIRST_TIME_CONTRIBUTOR"),
Self::Mannequin => write!(f, "MANNEQUIN"),
Self::Member => write!(f, "MEMBER"),
Self::None => write!(f, "NONE"),
Self::Owner => write!(f, "OWNER"),
}
}
}
impl Default for AuthorAssociation {
fn default() -> AuthorAssociation {
Self::Collaborator
}
}