use super::super::*;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct CodeFrequency(pub i64, pub i64, pub i64);
impl CodeFrequency {
pub fn week(&self) -> i64 {
self.0
}
pub fn additions(&self) -> i64 {
self.1
}
pub fn deletions(&self) -> i64 {
self.2
}
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CommitActivity {
pub days: Vec<i64>,
pub total: i64,
pub week: i64,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct ContributorActivity {
#[serde(default)]
pub author: Option<Author>,
pub total: i64,
pub weeks: Vec<ContributorWeeklyActivity>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct ContributorWeeklyActivity {
#[serde(rename = "w")]
pub week: i64,
#[serde(rename = "a")]
pub additions: i64,
#[serde(rename = "d")]
pub deletions: i64,
#[serde(rename = "c")]
pub commits: i64,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub struct ParticipationStats {
pub all: Vec<i64>,
pub owner: Vec<i64>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct PunchCard(pub u8, pub u8, pub u64);
impl PunchCard {
pub fn day(&self) -> u8 {
self.0
}
pub fn hour(&self) -> u8 {
self.1
}
pub fn commits(&self) -> u64 {
self.2
}
}