openapi_github/models/
diff_entry.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct DiffEntry {
17 #[serde(rename = "sha")]
18 pub sha: String,
19 #[serde(rename = "filename")]
20 pub filename: String,
21 #[serde(rename = "status")]
22 pub status: Status,
23 #[serde(rename = "additions")]
24 pub additions: i32,
25 #[serde(rename = "deletions")]
26 pub deletions: i32,
27 #[serde(rename = "changes")]
28 pub changes: i32,
29 #[serde(rename = "blob_url")]
30 pub blob_url: String,
31 #[serde(rename = "raw_url")]
32 pub raw_url: String,
33 #[serde(rename = "contents_url")]
34 pub contents_url: String,
35 #[serde(rename = "patch", skip_serializing_if = "Option::is_none")]
36 pub patch: Option<String>,
37 #[serde(rename = "previous_filename", skip_serializing_if = "Option::is_none")]
38 pub previous_filename: Option<String>,
39}
40
41impl DiffEntry {
42 pub fn new(sha: String, filename: String, status: Status, additions: i32, deletions: i32, changes: i32, blob_url: String, raw_url: String, contents_url: String) -> DiffEntry {
44 DiffEntry {
45 sha,
46 filename,
47 status,
48 additions,
49 deletions,
50 changes,
51 blob_url,
52 raw_url,
53 contents_url,
54 patch: None,
55 previous_filename: None,
56 }
57 }
58}
59#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
61pub enum Status {
62 #[serde(rename = "added")]
63 Added,
64 #[serde(rename = "removed")]
65 Removed,
66 #[serde(rename = "modified")]
67 Modified,
68 #[serde(rename = "renamed")]
69 Renamed,
70 #[serde(rename = "copied")]
71 Copied,
72 #[serde(rename = "changed")]
73 Changed,
74 #[serde(rename = "unchanged")]
75 Unchanged,
76}
77
78impl Default for Status {
79 fn default() -> Status {
80 Self::Added
81 }
82}
83