openapi_github/models/
commit_comparison.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// CommitComparison : Commit Comparison
15#[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    /// Commit Comparison
47    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/// 
66#[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