use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RepositoryAdvisoryCredit {
#[serde(rename = "user")]
pub user: Box<models::SimpleUser>,
#[serde(rename = "type")]
pub r#type: models::SecurityAdvisoryCreditTypes,
#[serde(rename = "state")]
pub state: State,
}
impl RepositoryAdvisoryCredit {
pub fn new(user: models::SimpleUser, r#type: models::SecurityAdvisoryCreditTypes, state: State) -> RepositoryAdvisoryCredit {
RepositoryAdvisoryCredit {
user: Box::new(user),
r#type,
state,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum State {
#[serde(rename = "accepted")]
Accepted,
#[serde(rename = "declined")]
Declined,
#[serde(rename = "pending")]
Pending,
}
impl Default for State {
fn default() -> State {
Self::Accepted
}
}