openapi_github/models/
commit_comparison.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CommitComparison {
17 #[serde(rename = "url")]
18 pub url: String,
19 #[serde(rename = "html_url")]
20 pub html_url: String,
21 #[serde(rename = "permalink_url")]
22 pub permalink_url: String,
23 #[serde(rename = "diff_url")]
24 pub diff_url: String,
25 #[serde(rename = "patch_url")]
26 pub patch_url: String,
27 #[serde(rename = "base_commit")]
28 pub base_commit: Box<models::Commit>,
29 #[serde(rename = "merge_base_commit")]
30 pub merge_base_commit: Box<models::Commit>,
31 #[serde(rename = "status")]
32 pub status: Status,
33 #[serde(rename = "ahead_by")]
34 pub ahead_by: i32,
35 #[serde(rename = "behind_by")]
36 pub behind_by: i32,
37 #[serde(rename = "total_commits")]
38 pub total_commits: i32,
39 #[serde(rename = "commits")]
40 pub commits: Vec<models::Commit>,
41 #[serde(rename = "files", skip_serializing_if = "Option::is_none")]
42 pub files: Option<Vec<models::DiffEntry>>,
43}
44
45impl CommitComparison {
46 pub fn new(url: String, html_url: String, permalink_url: String, diff_url: String, patch_url: String, base_commit: models::Commit, merge_base_commit: models::Commit, status: Status, ahead_by: i32, behind_by: i32, total_commits: i32, commits: Vec<models::Commit>) -> CommitComparison {
48 CommitComparison {
49 url,
50 html_url,
51 permalink_url,
52 diff_url,
53 patch_url,
54 base_commit: Box::new(base_commit),
55 merge_base_commit: Box::new(merge_base_commit),
56 status,
57 ahead_by,
58 behind_by,
59 total_commits,
60 commits,
61 files: None,
62 }
63 }
64}
65#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
67pub enum Status {
68 #[serde(rename = "diverged")]
69 Diverged,
70 #[serde(rename = "ahead")]
71 Ahead,
72 #[serde(rename = "behind")]
73 Behind,
74 #[serde(rename = "identical")]
75 Identical,
76}
77
78impl Default for Status {
79 fn default() -> Status {
80 Self::Diverged
81 }
82}
83