use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GitCredentialStatus {
#[serde(rename = "provider")]
pub provider: Provider,
#[serde(rename = "token_id", skip_serializing_if = "Option::is_none")]
pub token_id: Option<i64>,
#[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
pub expires_at: Option<String>,
#[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
pub scopes: Option<Vec<String>>,
#[serde(rename = "rotatable")]
pub rotatable: bool,
#[serde(rename = "checked_at")]
pub checked_at: i64,
#[serde(rename = "error", skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
}
impl GitCredentialStatus {
pub fn new(provider: Provider, rotatable: bool, checked_at: i64) -> GitCredentialStatus {
GitCredentialStatus {
provider,
token_id: None,
expires_at: None,
scopes: None,
rotatable,
checked_at,
error: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Provider {
#[serde(rename = "gitlab")]
Gitlab,
}
impl Default for Provider {
fn default() -> Provider {
Self::Gitlab
}
}