1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct PullRequest {
17 #[serde(rename = "additions", skip_serializing_if = "Option::is_none")]
18 pub additions: Option<i64>,
19 #[serde(rename = "allow_maintainer_edit", skip_serializing_if = "Option::is_none")]
20 pub allow_maintainer_edit: Option<bool>,
21 #[serde(rename = "assignee", skip_serializing_if = "Option::is_none")]
22 pub assignee: Option<Box<models::User>>,
23 #[serde(rename = "assignees", skip_serializing_if = "Option::is_none")]
24 pub assignees: Option<Vec<models::User>>,
25 #[serde(rename = "base", skip_serializing_if = "Option::is_none")]
26 pub base: Option<Box<models::PrBranchInfo>>,
27 #[serde(rename = "body", skip_serializing_if = "Option::is_none")]
28 pub body: Option<String>,
29 #[serde(rename = "changed_files", skip_serializing_if = "Option::is_none")]
30 pub changed_files: Option<i64>,
31 #[serde(rename = "closed_at", skip_serializing_if = "Option::is_none")]
32 pub closed_at: Option<String>,
33 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
34 pub comments: Option<i64>,
35 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
36 pub created_at: Option<String>,
37 #[serde(rename = "deletions", skip_serializing_if = "Option::is_none")]
38 pub deletions: Option<i64>,
39 #[serde(rename = "diff_url", skip_serializing_if = "Option::is_none")]
40 pub diff_url: Option<String>,
41 #[serde(rename = "draft", skip_serializing_if = "Option::is_none")]
42 pub draft: Option<bool>,
43 #[serde(rename = "due_date", skip_serializing_if = "Option::is_none")]
44 pub due_date: Option<String>,
45 #[serde(rename = "head", skip_serializing_if = "Option::is_none")]
46 pub head: Option<Box<models::PrBranchInfo>>,
47 #[serde(rename = "html_url", skip_serializing_if = "Option::is_none")]
48 pub html_url: Option<String>,
49 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
50 pub id: Option<i64>,
51 #[serde(rename = "is_locked", skip_serializing_if = "Option::is_none")]
52 pub is_locked: Option<bool>,
53 #[serde(rename = "labels", skip_serializing_if = "Option::is_none")]
54 pub labels: Option<Vec<models::Label>>,
55 #[serde(rename = "merge_base", skip_serializing_if = "Option::is_none")]
56 pub merge_base: Option<String>,
57 #[serde(rename = "merge_commit_sha", skip_serializing_if = "Option::is_none")]
58 pub merge_commit_sha: Option<String>,
59 #[serde(rename = "mergeable", skip_serializing_if = "Option::is_none")]
60 pub mergeable: Option<bool>,
61 #[serde(rename = "merged", skip_serializing_if = "Option::is_none")]
62 pub merged: Option<bool>,
63 #[serde(rename = "merged_at", skip_serializing_if = "Option::is_none")]
64 pub merged_at: Option<String>,
65 #[serde(rename = "merged_by", skip_serializing_if = "Option::is_none")]
66 pub merged_by: Option<Box<models::User>>,
67 #[serde(rename = "milestone", skip_serializing_if = "Option::is_none")]
68 pub milestone: Option<Box<models::Milestone>>,
69 #[serde(rename = "number", skip_serializing_if = "Option::is_none")]
70 pub number: Option<i64>,
71 #[serde(rename = "patch_url", skip_serializing_if = "Option::is_none")]
72 pub patch_url: Option<String>,
73 #[serde(rename = "pin_order", skip_serializing_if = "Option::is_none")]
74 pub pin_order: Option<i64>,
75 #[serde(rename = "requested_reviewers", skip_serializing_if = "Option::is_none")]
76 pub requested_reviewers: Option<Vec<models::User>>,
77 #[serde(rename = "review_comments", skip_serializing_if = "Option::is_none")]
79 pub review_comments: Option<i64>,
80 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
82 pub state: Option<String>,
83 #[serde(rename = "title", skip_serializing_if = "Option::is_none")]
84 pub title: Option<String>,
85 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
86 pub updated_at: Option<String>,
87 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
88 pub url: Option<String>,
89 #[serde(rename = "user", skip_serializing_if = "Option::is_none")]
90 pub user: Option<Box<models::User>>,
91}
92
93impl PullRequest {
94 pub fn new() -> PullRequest {
96 PullRequest {
97 additions: None,
98 allow_maintainer_edit: None,
99 assignee: None,
100 assignees: None,
101 base: None,
102 body: None,
103 changed_files: None,
104 closed_at: None,
105 comments: None,
106 created_at: None,
107 deletions: None,
108 diff_url: None,
109 draft: None,
110 due_date: None,
111 head: None,
112 html_url: None,
113 id: None,
114 is_locked: None,
115 labels: None,
116 merge_base: None,
117 merge_commit_sha: None,
118 mergeable: None,
119 merged: None,
120 merged_at: None,
121 merged_by: None,
122 milestone: None,
123 number: None,
124 patch_url: None,
125 pin_order: None,
126 requested_reviewers: None,
127 review_comments: None,
128 state: None,
129 title: None,
130 updated_at: None,
131 url: None,
132 user: None,
133 }
134 }
135}
136