1#[derive(Clone, Debug, Deserialize, Serialize)]
2#[serde(deny_unknown_fields)]
3pub struct AlertInstance {
4 pub analysis_key: String,
8 #[serde(default, skip_serializing_if = "Vec::is_empty")]
9 pub classifications: Vec<String>,
10 #[serde(default, skip_serializing_if = "Option::is_none")]
11 pub commit_sha: Option<String>,
12 pub environment: String,
16 #[serde(default, skip_serializing_if = "Option::is_none")]
17 pub location: Option<AlertInstanceLocation>,
18 #[serde(default, skip_serializing_if = "Option::is_none")]
19 pub message: Option<AlertInstanceMessage>,
20 #[serde(rename = "ref")]
22 pub ref_: String,
23 pub state: AlertInstanceState,
25}
26impl From<&AlertInstance> for AlertInstance {
27 fn from(value: &AlertInstance) -> Self {
28 value.clone()
29 }
30}
31#[derive(Clone, Debug, Deserialize, Serialize)]
32#[serde(deny_unknown_fields)]
33pub struct AlertInstanceLocation {
34 #[serde(default, skip_serializing_if = "Option::is_none")]
35 pub end_column: Option<i64>,
36 #[serde(default, skip_serializing_if = "Option::is_none")]
37 pub end_line: Option<i64>,
38 #[serde(default, skip_serializing_if = "Option::is_none")]
39 pub path: Option<String>,
40 #[serde(default, skip_serializing_if = "Option::is_none")]
41 pub start_column: Option<i64>,
42 #[serde(default, skip_serializing_if = "Option::is_none")]
43 pub start_line: Option<i64>,
44}
45impl From<&AlertInstanceLocation> for AlertInstanceLocation {
46 fn from(value: &AlertInstanceLocation) -> Self {
47 value.clone()
48 }
49}
50#[derive(Clone, Debug, Deserialize, Serialize)]
51#[serde(deny_unknown_fields)]
52pub struct AlertInstanceMessage {
53 #[serde(default, skip_serializing_if = "Option::is_none")]
54 pub text: Option<String>,
55}
56impl From<&AlertInstanceMessage> for AlertInstanceMessage {
57 fn from(value: &AlertInstanceMessage) -> Self {
58 value.clone()
59 }
60}
61#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
63pub enum AlertInstanceState {
64 #[serde(rename = "open")]
65 Open,
66 #[serde(rename = "dismissed")]
67 Dismissed,
68 #[serde(rename = "fixed")]
69 Fixed,
70}
71impl From<&AlertInstanceState> for AlertInstanceState {
72 fn from(value: &AlertInstanceState) -> Self {
73 value.clone()
74 }
75}
76impl ToString for AlertInstanceState {
77 fn to_string(&self) -> String {
78 match *self {
79 Self::Open => "open".to_string(),
80 Self::Dismissed => "dismissed".to_string(),
81 Self::Fixed => "fixed".to_string(),
82 }
83 }
84}
85impl std::str::FromStr for AlertInstanceState {
86 type Err = &'static str;
87
88 fn from_str(value: &str) -> Result<Self, &'static str> {
89 match value {
90 "open" => Ok(Self::Open),
91 "dismissed" => Ok(Self::Dismissed),
92 "fixed" => Ok(Self::Fixed),
93 _ => Err("invalid value"),
94 }
95 }
96}
97impl std::convert::TryFrom<&str> for AlertInstanceState {
98 type Error = &'static str;
99
100 fn try_from(value: &str) -> Result<Self, &'static str> {
101 value.parse()
102 }
103}
104impl std::convert::TryFrom<&String> for AlertInstanceState {
105 type Error = &'static str;
106
107 fn try_from(value: &String) -> Result<Self, &'static str> {
108 value.parse()
109 }
110}
111impl std::convert::TryFrom<String> for AlertInstanceState {
112 type Error = &'static str;
113
114 fn try_from(value: String) -> Result<Self, &'static str> {
115 value.parse()
116 }
117}
118#[derive(Clone, Debug, Deserialize, Serialize)]
123#[serde(deny_unknown_fields)]
124pub struct App {
125 pub created_at: chrono::DateTime<chrono::offset::Utc>,
126 pub description: Option<String>,
127 #[serde(default, skip_serializing_if = "Vec::is_empty")]
129 pub events: Vec<AppEventsItem>,
130 pub external_url: String,
131 pub html_url: String,
132 pub id: i64,
134 pub name: String,
136 pub node_id: String,
137 pub owner: User,
138 #[serde(default, skip_serializing_if = "Option::is_none")]
139 pub permissions: Option<AppPermissions>,
140 #[serde(default, skip_serializing_if = "Option::is_none")]
142 pub slug: Option<String>,
143 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
144}
145impl From<&App> for App {
146 fn from(value: &App) -> Self {
147 value.clone()
148 }
149}
150#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
151pub enum AppEventsItem {
152 #[serde(rename = "branch_protection_rule")]
153 BranchProtectionRule,
154 #[serde(rename = "check_run")]
155 CheckRun,
156 #[serde(rename = "check_suite")]
157 CheckSuite,
158 #[serde(rename = "code_scanning_alert")]
159 CodeScanningAlert,
160 #[serde(rename = "commit_comment")]
161 CommitComment,
162 #[serde(rename = "content_reference")]
163 ContentReference,
164 #[serde(rename = "create")]
165 Create,
166 #[serde(rename = "delete")]
167 Delete,
168 #[serde(rename = "deployment")]
169 Deployment,
170 #[serde(rename = "deployment_review")]
171 DeploymentReview,
172 #[serde(rename = "deployment_status")]
173 DeploymentStatus,
174 #[serde(rename = "deploy_key")]
175 DeployKey,
176 #[serde(rename = "discussion")]
177 Discussion,
178 #[serde(rename = "discussion_comment")]
179 DiscussionComment,
180 #[serde(rename = "fork")]
181 Fork,
182 #[serde(rename = "gollum")]
183 Gollum,
184 #[serde(rename = "issues")]
185 Issues,
186 #[serde(rename = "issue_comment")]
187 IssueComment,
188 #[serde(rename = "label")]
189 Label,
190 #[serde(rename = "member")]
191 Member,
192 #[serde(rename = "membership")]
193 Membership,
194 #[serde(rename = "merge_group")]
195 MergeGroup,
196 #[serde(rename = "merge_queue_entry")]
197 MergeQueueEntry,
198 #[serde(rename = "milestone")]
199 Milestone,
200 #[serde(rename = "organization")]
201 Organization,
202 #[serde(rename = "org_block")]
203 OrgBlock,
204 #[serde(rename = "page_build")]
205 PageBuild,
206 #[serde(rename = "project")]
207 Project,
208 #[serde(rename = "projects_v2_item")]
209 ProjectsV2Item,
210 #[serde(rename = "project_card")]
211 ProjectCard,
212 #[serde(rename = "project_column")]
213 ProjectColumn,
214 #[serde(rename = "public")]
215 Public,
216 #[serde(rename = "pull_request")]
217 PullRequest,
218 #[serde(rename = "pull_request_review")]
219 PullRequestReview,
220 #[serde(rename = "pull_request_review_comment")]
221 PullRequestReviewComment,
222 #[serde(rename = "pull_request_review_thread")]
223 PullRequestReviewThread,
224 #[serde(rename = "push")]
225 Push,
226 #[serde(rename = "registry_package")]
227 RegistryPackage,
228 #[serde(rename = "release")]
229 Release,
230 #[serde(rename = "repository")]
231 Repository,
232 #[serde(rename = "repository_dispatch")]
233 RepositoryDispatch,
234 #[serde(rename = "secret_scanning_alert")]
235 SecretScanningAlert,
236 #[serde(rename = "secret_scanning_alert_location")]
237 SecretScanningAlertLocation,
238 #[serde(rename = "security_and_analysis")]
239 SecurityAndAnalysis,
240 #[serde(rename = "star")]
241 Star,
242 #[serde(rename = "status")]
243 Status,
244 #[serde(rename = "team")]
245 Team,
246 #[serde(rename = "team_add")]
247 TeamAdd,
248 #[serde(rename = "watch")]
249 Watch,
250 #[serde(rename = "workflow_dispatch")]
251 WorkflowDispatch,
252 #[serde(rename = "workflow_run")]
253 WorkflowRun,
254 #[serde(rename = "workflow_job")]
255 WorkflowJob,
256}
257impl From<&AppEventsItem> for AppEventsItem {
258 fn from(value: &AppEventsItem) -> Self {
259 value.clone()
260 }
261}
262impl ToString for AppEventsItem {
263 fn to_string(&self) -> String {
264 match *self {
265 Self::BranchProtectionRule => "branch_protection_rule".to_string(),
266 Self::CheckRun => "check_run".to_string(),
267 Self::CheckSuite => "check_suite".to_string(),
268 Self::CodeScanningAlert => "code_scanning_alert".to_string(),
269 Self::CommitComment => "commit_comment".to_string(),
270 Self::ContentReference => "content_reference".to_string(),
271 Self::Create => "create".to_string(),
272 Self::Delete => "delete".to_string(),
273 Self::Deployment => "deployment".to_string(),
274 Self::DeploymentReview => "deployment_review".to_string(),
275 Self::DeploymentStatus => "deployment_status".to_string(),
276 Self::DeployKey => "deploy_key".to_string(),
277 Self::Discussion => "discussion".to_string(),
278 Self::DiscussionComment => "discussion_comment".to_string(),
279 Self::Fork => "fork".to_string(),
280 Self::Gollum => "gollum".to_string(),
281 Self::Issues => "issues".to_string(),
282 Self::IssueComment => "issue_comment".to_string(),
283 Self::Label => "label".to_string(),
284 Self::Member => "member".to_string(),
285 Self::Membership => "membership".to_string(),
286 Self::MergeGroup => "merge_group".to_string(),
287 Self::MergeQueueEntry => "merge_queue_entry".to_string(),
288 Self::Milestone => "milestone".to_string(),
289 Self::Organization => "organization".to_string(),
290 Self::OrgBlock => "org_block".to_string(),
291 Self::PageBuild => "page_build".to_string(),
292 Self::Project => "project".to_string(),
293 Self::ProjectsV2Item => "projects_v2_item".to_string(),
294 Self::ProjectCard => "project_card".to_string(),
295 Self::ProjectColumn => "project_column".to_string(),
296 Self::Public => "public".to_string(),
297 Self::PullRequest => "pull_request".to_string(),
298 Self::PullRequestReview => "pull_request_review".to_string(),
299 Self::PullRequestReviewComment => "pull_request_review_comment".to_string(),
300 Self::PullRequestReviewThread => "pull_request_review_thread".to_string(),
301 Self::Push => "push".to_string(),
302 Self::RegistryPackage => "registry_package".to_string(),
303 Self::Release => "release".to_string(),
304 Self::Repository => "repository".to_string(),
305 Self::RepositoryDispatch => "repository_dispatch".to_string(),
306 Self::SecretScanningAlert => "secret_scanning_alert".to_string(),
307 Self::SecretScanningAlertLocation => "secret_scanning_alert_location".to_string(),
308 Self::SecurityAndAnalysis => "security_and_analysis".to_string(),
309 Self::Star => "star".to_string(),
310 Self::Status => "status".to_string(),
311 Self::Team => "team".to_string(),
312 Self::TeamAdd => "team_add".to_string(),
313 Self::Watch => "watch".to_string(),
314 Self::WorkflowDispatch => "workflow_dispatch".to_string(),
315 Self::WorkflowRun => "workflow_run".to_string(),
316 Self::WorkflowJob => "workflow_job".to_string(),
317 }
318 }
319}
320impl std::str::FromStr for AppEventsItem {
321 type Err = &'static str;
322
323 fn from_str(value: &str) -> Result<Self, &'static str> {
324 match value {
325 "branch_protection_rule" => Ok(Self::BranchProtectionRule),
326 "check_run" => Ok(Self::CheckRun),
327 "check_suite" => Ok(Self::CheckSuite),
328 "code_scanning_alert" => Ok(Self::CodeScanningAlert),
329 "commit_comment" => Ok(Self::CommitComment),
330 "content_reference" => Ok(Self::ContentReference),
331 "create" => Ok(Self::Create),
332 "delete" => Ok(Self::Delete),
333 "deployment" => Ok(Self::Deployment),
334 "deployment_review" => Ok(Self::DeploymentReview),
335 "deployment_status" => Ok(Self::DeploymentStatus),
336 "deploy_key" => Ok(Self::DeployKey),
337 "discussion" => Ok(Self::Discussion),
338 "discussion_comment" => Ok(Self::DiscussionComment),
339 "fork" => Ok(Self::Fork),
340 "gollum" => Ok(Self::Gollum),
341 "issues" => Ok(Self::Issues),
342 "issue_comment" => Ok(Self::IssueComment),
343 "label" => Ok(Self::Label),
344 "member" => Ok(Self::Member),
345 "membership" => Ok(Self::Membership),
346 "merge_group" => Ok(Self::MergeGroup),
347 "merge_queue_entry" => Ok(Self::MergeQueueEntry),
348 "milestone" => Ok(Self::Milestone),
349 "organization" => Ok(Self::Organization),
350 "org_block" => Ok(Self::OrgBlock),
351 "page_build" => Ok(Self::PageBuild),
352 "project" => Ok(Self::Project),
353 "projects_v2_item" => Ok(Self::ProjectsV2Item),
354 "project_card" => Ok(Self::ProjectCard),
355 "project_column" => Ok(Self::ProjectColumn),
356 "public" => Ok(Self::Public),
357 "pull_request" => Ok(Self::PullRequest),
358 "pull_request_review" => Ok(Self::PullRequestReview),
359 "pull_request_review_comment" => Ok(Self::PullRequestReviewComment),
360 "pull_request_review_thread" => Ok(Self::PullRequestReviewThread),
361 "push" => Ok(Self::Push),
362 "registry_package" => Ok(Self::RegistryPackage),
363 "release" => Ok(Self::Release),
364 "repository" => Ok(Self::Repository),
365 "repository_dispatch" => Ok(Self::RepositoryDispatch),
366 "secret_scanning_alert" => Ok(Self::SecretScanningAlert),
367 "secret_scanning_alert_location" => Ok(Self::SecretScanningAlertLocation),
368 "security_and_analysis" => Ok(Self::SecurityAndAnalysis),
369 "star" => Ok(Self::Star),
370 "status" => Ok(Self::Status),
371 "team" => Ok(Self::Team),
372 "team_add" => Ok(Self::TeamAdd),
373 "watch" => Ok(Self::Watch),
374 "workflow_dispatch" => Ok(Self::WorkflowDispatch),
375 "workflow_run" => Ok(Self::WorkflowRun),
376 "workflow_job" => Ok(Self::WorkflowJob),
377 _ => Err("invalid value"),
378 }
379 }
380}
381impl std::convert::TryFrom<&str> for AppEventsItem {
382 type Error = &'static str;
383
384 fn try_from(value: &str) -> Result<Self, &'static str> {
385 value.parse()
386 }
387}
388impl std::convert::TryFrom<&String> for AppEventsItem {
389 type Error = &'static str;
390
391 fn try_from(value: &String) -> Result<Self, &'static str> {
392 value.parse()
393 }
394}
395impl std::convert::TryFrom<String> for AppEventsItem {
396 type Error = &'static str;
397
398 fn try_from(value: String) -> Result<Self, &'static str> {
399 value.parse()
400 }
401}
402#[derive(Clone, Debug, Deserialize, Serialize)]
404#[serde(deny_unknown_fields)]
405pub struct AppPermissions {
406 #[serde(default, skip_serializing_if = "Option::is_none")]
407 pub actions: Option<AppPermissionsActions>,
408 #[serde(default, skip_serializing_if = "Option::is_none")]
409 pub administration: Option<AppPermissionsAdministration>,
410 #[serde(default, skip_serializing_if = "Option::is_none")]
411 pub blocking: Option<AppPermissionsBlocking>,
412 #[serde(default, skip_serializing_if = "Option::is_none")]
413 pub checks: Option<AppPermissionsChecks>,
414 #[serde(default, skip_serializing_if = "Option::is_none")]
415 pub content_references: Option<AppPermissionsContentReferences>,
416 #[serde(default, skip_serializing_if = "Option::is_none")]
417 pub contents: Option<AppPermissionsContents>,
418 #[serde(default, skip_serializing_if = "Option::is_none")]
419 pub deployments: Option<AppPermissionsDeployments>,
420 #[serde(default, skip_serializing_if = "Option::is_none")]
421 pub discussions: Option<AppPermissionsDiscussions>,
422 #[serde(default, skip_serializing_if = "Option::is_none")]
423 pub emails: Option<AppPermissionsEmails>,
424 #[serde(default, skip_serializing_if = "Option::is_none")]
425 pub environments: Option<AppPermissionsEnvironments>,
426 #[serde(default, skip_serializing_if = "Option::is_none")]
427 pub followers: Option<AppPermissionsFollowers>,
428 #[serde(default, skip_serializing_if = "Option::is_none")]
429 pub gpg_keys: Option<AppPermissionsGpgKeys>,
430 #[serde(default, skip_serializing_if = "Option::is_none")]
431 pub interaction_limits: Option<AppPermissionsInteractionLimits>,
432 #[serde(default, skip_serializing_if = "Option::is_none")]
433 pub issues: Option<AppPermissionsIssues>,
434 #[serde(default, skip_serializing_if = "Option::is_none")]
435 pub keys: Option<AppPermissionsKeys>,
436 #[serde(default, skip_serializing_if = "Option::is_none")]
437 pub members: Option<AppPermissionsMembers>,
438 #[serde(default, skip_serializing_if = "Option::is_none")]
439 pub merge_queues: Option<AppPermissionsMergeQueues>,
440 #[serde(default, skip_serializing_if = "Option::is_none")]
441 pub metadata: Option<AppPermissionsMetadata>,
442 #[serde(default, skip_serializing_if = "Option::is_none")]
443 pub organization_administration: Option<AppPermissionsOrganizationAdministration>,
444 #[serde(default, skip_serializing_if = "Option::is_none")]
445 pub organization_hooks: Option<AppPermissionsOrganizationHooks>,
446 #[serde(default, skip_serializing_if = "Option::is_none")]
447 pub organization_packages: Option<AppPermissionsOrganizationPackages>,
448 #[serde(default, skip_serializing_if = "Option::is_none")]
449 pub organization_plan: Option<AppPermissionsOrganizationPlan>,
450 #[serde(default, skip_serializing_if = "Option::is_none")]
451 pub organization_projects: Option<AppPermissionsOrganizationProjects>,
452 #[serde(default, skip_serializing_if = "Option::is_none")]
453 pub organization_secrets: Option<AppPermissionsOrganizationSecrets>,
454 #[serde(default, skip_serializing_if = "Option::is_none")]
455 pub organization_self_hosted_runners: Option<AppPermissionsOrganizationSelfHostedRunners>,
456 #[serde(default, skip_serializing_if = "Option::is_none")]
457 pub organization_user_blocking: Option<AppPermissionsOrganizationUserBlocking>,
458 #[serde(default, skip_serializing_if = "Option::is_none")]
459 pub packages: Option<AppPermissionsPackages>,
460 #[serde(default, skip_serializing_if = "Option::is_none")]
461 pub pages: Option<AppPermissionsPages>,
462 #[serde(default, skip_serializing_if = "Option::is_none")]
463 pub plan: Option<AppPermissionsPlan>,
464 #[serde(default, skip_serializing_if = "Option::is_none")]
465 pub pull_requests: Option<AppPermissionsPullRequests>,
466 #[serde(default, skip_serializing_if = "Option::is_none")]
467 pub repository_hooks: Option<AppPermissionsRepositoryHooks>,
468 #[serde(default, skip_serializing_if = "Option::is_none")]
469 pub repository_projects: Option<AppPermissionsRepositoryProjects>,
470 #[serde(default, skip_serializing_if = "Option::is_none")]
471 pub secret_scanning_alerts: Option<AppPermissionsSecretScanningAlerts>,
472 #[serde(default, skip_serializing_if = "Option::is_none")]
473 pub secrets: Option<AppPermissionsSecrets>,
474 #[serde(default, skip_serializing_if = "Option::is_none")]
475 pub security_events: Option<AppPermissionsSecurityEvents>,
476 #[serde(default, skip_serializing_if = "Option::is_none")]
477 pub security_scanning_alert: Option<AppPermissionsSecurityScanningAlert>,
478 #[serde(default, skip_serializing_if = "Option::is_none")]
479 pub single_file: Option<AppPermissionsSingleFile>,
480 #[serde(default, skip_serializing_if = "Option::is_none")]
481 pub starring: Option<AppPermissionsStarring>,
482 #[serde(default, skip_serializing_if = "Option::is_none")]
483 pub statuses: Option<AppPermissionsStatuses>,
484 #[serde(default, skip_serializing_if = "Option::is_none")]
485 pub team_discussions: Option<AppPermissionsTeamDiscussions>,
486 #[serde(default, skip_serializing_if = "Option::is_none")]
487 pub vulnerability_alerts: Option<AppPermissionsVulnerabilityAlerts>,
488 #[serde(default, skip_serializing_if = "Option::is_none")]
489 pub watching: Option<AppPermissionsWatching>,
490 #[serde(default, skip_serializing_if = "Option::is_none")]
491 pub workflows: Option<AppPermissionsWorkflows>,
492}
493impl From<&AppPermissions> for AppPermissions {
494 fn from(value: &AppPermissions) -> Self {
495 value.clone()
496 }
497}
498#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
499pub enum AppPermissionsActions {
500 #[serde(rename = "read")]
501 Read,
502 #[serde(rename = "write")]
503 Write,
504}
505impl From<&AppPermissionsActions> for AppPermissionsActions {
506 fn from(value: &AppPermissionsActions) -> Self {
507 value.clone()
508 }
509}
510impl ToString for AppPermissionsActions {
511 fn to_string(&self) -> String {
512 match *self {
513 Self::Read => "read".to_string(),
514 Self::Write => "write".to_string(),
515 }
516 }
517}
518impl std::str::FromStr for AppPermissionsActions {
519 type Err = &'static str;
520
521 fn from_str(value: &str) -> Result<Self, &'static str> {
522 match value {
523 "read" => Ok(Self::Read),
524 "write" => Ok(Self::Write),
525 _ => Err("invalid value"),
526 }
527 }
528}
529impl std::convert::TryFrom<&str> for AppPermissionsActions {
530 type Error = &'static str;
531
532 fn try_from(value: &str) -> Result<Self, &'static str> {
533 value.parse()
534 }
535}
536impl std::convert::TryFrom<&String> for AppPermissionsActions {
537 type Error = &'static str;
538
539 fn try_from(value: &String) -> Result<Self, &'static str> {
540 value.parse()
541 }
542}
543impl std::convert::TryFrom<String> for AppPermissionsActions {
544 type Error = &'static str;
545
546 fn try_from(value: String) -> Result<Self, &'static str> {
547 value.parse()
548 }
549}
550#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
551pub enum AppPermissionsAdministration {
552 #[serde(rename = "read")]
553 Read,
554 #[serde(rename = "write")]
555 Write,
556}
557impl From<&AppPermissionsAdministration> for AppPermissionsAdministration {
558 fn from(value: &AppPermissionsAdministration) -> Self {
559 value.clone()
560 }
561}
562impl ToString for AppPermissionsAdministration {
563 fn to_string(&self) -> String {
564 match *self {
565 Self::Read => "read".to_string(),
566 Self::Write => "write".to_string(),
567 }
568 }
569}
570impl std::str::FromStr for AppPermissionsAdministration {
571 type Err = &'static str;
572
573 fn from_str(value: &str) -> Result<Self, &'static str> {
574 match value {
575 "read" => Ok(Self::Read),
576 "write" => Ok(Self::Write),
577 _ => Err("invalid value"),
578 }
579 }
580}
581impl std::convert::TryFrom<&str> for AppPermissionsAdministration {
582 type Error = &'static str;
583
584 fn try_from(value: &str) -> Result<Self, &'static str> {
585 value.parse()
586 }
587}
588impl std::convert::TryFrom<&String> for AppPermissionsAdministration {
589 type Error = &'static str;
590
591 fn try_from(value: &String) -> Result<Self, &'static str> {
592 value.parse()
593 }
594}
595impl std::convert::TryFrom<String> for AppPermissionsAdministration {
596 type Error = &'static str;
597
598 fn try_from(value: String) -> Result<Self, &'static str> {
599 value.parse()
600 }
601}
602#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
603pub enum AppPermissionsBlocking {
604 #[serde(rename = "read")]
605 Read,
606 #[serde(rename = "write")]
607 Write,
608}
609impl From<&AppPermissionsBlocking> for AppPermissionsBlocking {
610 fn from(value: &AppPermissionsBlocking) -> Self {
611 value.clone()
612 }
613}
614impl ToString for AppPermissionsBlocking {
615 fn to_string(&self) -> String {
616 match *self {
617 Self::Read => "read".to_string(),
618 Self::Write => "write".to_string(),
619 }
620 }
621}
622impl std::str::FromStr for AppPermissionsBlocking {
623 type Err = &'static str;
624
625 fn from_str(value: &str) -> Result<Self, &'static str> {
626 match value {
627 "read" => Ok(Self::Read),
628 "write" => Ok(Self::Write),
629 _ => Err("invalid value"),
630 }
631 }
632}
633impl std::convert::TryFrom<&str> for AppPermissionsBlocking {
634 type Error = &'static str;
635
636 fn try_from(value: &str) -> Result<Self, &'static str> {
637 value.parse()
638 }
639}
640impl std::convert::TryFrom<&String> for AppPermissionsBlocking {
641 type Error = &'static str;
642
643 fn try_from(value: &String) -> Result<Self, &'static str> {
644 value.parse()
645 }
646}
647impl std::convert::TryFrom<String> for AppPermissionsBlocking {
648 type Error = &'static str;
649
650 fn try_from(value: String) -> Result<Self, &'static str> {
651 value.parse()
652 }
653}
654#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
655pub enum AppPermissionsChecks {
656 #[serde(rename = "read")]
657 Read,
658 #[serde(rename = "write")]
659 Write,
660}
661impl From<&AppPermissionsChecks> for AppPermissionsChecks {
662 fn from(value: &AppPermissionsChecks) -> Self {
663 value.clone()
664 }
665}
666impl ToString for AppPermissionsChecks {
667 fn to_string(&self) -> String {
668 match *self {
669 Self::Read => "read".to_string(),
670 Self::Write => "write".to_string(),
671 }
672 }
673}
674impl std::str::FromStr for AppPermissionsChecks {
675 type Err = &'static str;
676
677 fn from_str(value: &str) -> Result<Self, &'static str> {
678 match value {
679 "read" => Ok(Self::Read),
680 "write" => Ok(Self::Write),
681 _ => Err("invalid value"),
682 }
683 }
684}
685impl std::convert::TryFrom<&str> for AppPermissionsChecks {
686 type Error = &'static str;
687
688 fn try_from(value: &str) -> Result<Self, &'static str> {
689 value.parse()
690 }
691}
692impl std::convert::TryFrom<&String> for AppPermissionsChecks {
693 type Error = &'static str;
694
695 fn try_from(value: &String) -> Result<Self, &'static str> {
696 value.parse()
697 }
698}
699impl std::convert::TryFrom<String> for AppPermissionsChecks {
700 type Error = &'static str;
701
702 fn try_from(value: String) -> Result<Self, &'static str> {
703 value.parse()
704 }
705}
706#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
707pub enum AppPermissionsContentReferences {
708 #[serde(rename = "read")]
709 Read,
710 #[serde(rename = "write")]
711 Write,
712}
713impl From<&AppPermissionsContentReferences> for AppPermissionsContentReferences {
714 fn from(value: &AppPermissionsContentReferences) -> Self {
715 value.clone()
716 }
717}
718impl ToString for AppPermissionsContentReferences {
719 fn to_string(&self) -> String {
720 match *self {
721 Self::Read => "read".to_string(),
722 Self::Write => "write".to_string(),
723 }
724 }
725}
726impl std::str::FromStr for AppPermissionsContentReferences {
727 type Err = &'static str;
728
729 fn from_str(value: &str) -> Result<Self, &'static str> {
730 match value {
731 "read" => Ok(Self::Read),
732 "write" => Ok(Self::Write),
733 _ => Err("invalid value"),
734 }
735 }
736}
737impl std::convert::TryFrom<&str> for AppPermissionsContentReferences {
738 type Error = &'static str;
739
740 fn try_from(value: &str) -> Result<Self, &'static str> {
741 value.parse()
742 }
743}
744impl std::convert::TryFrom<&String> for AppPermissionsContentReferences {
745 type Error = &'static str;
746
747 fn try_from(value: &String) -> Result<Self, &'static str> {
748 value.parse()
749 }
750}
751impl std::convert::TryFrom<String> for AppPermissionsContentReferences {
752 type Error = &'static str;
753
754 fn try_from(value: String) -> Result<Self, &'static str> {
755 value.parse()
756 }
757}
758#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
759pub enum AppPermissionsContents {
760 #[serde(rename = "read")]
761 Read,
762 #[serde(rename = "write")]
763 Write,
764}
765impl From<&AppPermissionsContents> for AppPermissionsContents {
766 fn from(value: &AppPermissionsContents) -> Self {
767 value.clone()
768 }
769}
770impl ToString for AppPermissionsContents {
771 fn to_string(&self) -> String {
772 match *self {
773 Self::Read => "read".to_string(),
774 Self::Write => "write".to_string(),
775 }
776 }
777}
778impl std::str::FromStr for AppPermissionsContents {
779 type Err = &'static str;
780
781 fn from_str(value: &str) -> Result<Self, &'static str> {
782 match value {
783 "read" => Ok(Self::Read),
784 "write" => Ok(Self::Write),
785 _ => Err("invalid value"),
786 }
787 }
788}
789impl std::convert::TryFrom<&str> for AppPermissionsContents {
790 type Error = &'static str;
791
792 fn try_from(value: &str) -> Result<Self, &'static str> {
793 value.parse()
794 }
795}
796impl std::convert::TryFrom<&String> for AppPermissionsContents {
797 type Error = &'static str;
798
799 fn try_from(value: &String) -> Result<Self, &'static str> {
800 value.parse()
801 }
802}
803impl std::convert::TryFrom<String> for AppPermissionsContents {
804 type Error = &'static str;
805
806 fn try_from(value: String) -> Result<Self, &'static str> {
807 value.parse()
808 }
809}
810#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
811pub enum AppPermissionsDeployments {
812 #[serde(rename = "read")]
813 Read,
814 #[serde(rename = "write")]
815 Write,
816}
817impl From<&AppPermissionsDeployments> for AppPermissionsDeployments {
818 fn from(value: &AppPermissionsDeployments) -> Self {
819 value.clone()
820 }
821}
822impl ToString for AppPermissionsDeployments {
823 fn to_string(&self) -> String {
824 match *self {
825 Self::Read => "read".to_string(),
826 Self::Write => "write".to_string(),
827 }
828 }
829}
830impl std::str::FromStr for AppPermissionsDeployments {
831 type Err = &'static str;
832
833 fn from_str(value: &str) -> Result<Self, &'static str> {
834 match value {
835 "read" => Ok(Self::Read),
836 "write" => Ok(Self::Write),
837 _ => Err("invalid value"),
838 }
839 }
840}
841impl std::convert::TryFrom<&str> for AppPermissionsDeployments {
842 type Error = &'static str;
843
844 fn try_from(value: &str) -> Result<Self, &'static str> {
845 value.parse()
846 }
847}
848impl std::convert::TryFrom<&String> for AppPermissionsDeployments {
849 type Error = &'static str;
850
851 fn try_from(value: &String) -> Result<Self, &'static str> {
852 value.parse()
853 }
854}
855impl std::convert::TryFrom<String> for AppPermissionsDeployments {
856 type Error = &'static str;
857
858 fn try_from(value: String) -> Result<Self, &'static str> {
859 value.parse()
860 }
861}
862#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
863pub enum AppPermissionsDiscussions {
864 #[serde(rename = "read")]
865 Read,
866 #[serde(rename = "write")]
867 Write,
868}
869impl From<&AppPermissionsDiscussions> for AppPermissionsDiscussions {
870 fn from(value: &AppPermissionsDiscussions) -> Self {
871 value.clone()
872 }
873}
874impl ToString for AppPermissionsDiscussions {
875 fn to_string(&self) -> String {
876 match *self {
877 Self::Read => "read".to_string(),
878 Self::Write => "write".to_string(),
879 }
880 }
881}
882impl std::str::FromStr for AppPermissionsDiscussions {
883 type Err = &'static str;
884
885 fn from_str(value: &str) -> Result<Self, &'static str> {
886 match value {
887 "read" => Ok(Self::Read),
888 "write" => Ok(Self::Write),
889 _ => Err("invalid value"),
890 }
891 }
892}
893impl std::convert::TryFrom<&str> for AppPermissionsDiscussions {
894 type Error = &'static str;
895
896 fn try_from(value: &str) -> Result<Self, &'static str> {
897 value.parse()
898 }
899}
900impl std::convert::TryFrom<&String> for AppPermissionsDiscussions {
901 type Error = &'static str;
902
903 fn try_from(value: &String) -> Result<Self, &'static str> {
904 value.parse()
905 }
906}
907impl std::convert::TryFrom<String> for AppPermissionsDiscussions {
908 type Error = &'static str;
909
910 fn try_from(value: String) -> Result<Self, &'static str> {
911 value.parse()
912 }
913}
914#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
915pub enum AppPermissionsEmails {
916 #[serde(rename = "read")]
917 Read,
918 #[serde(rename = "write")]
919 Write,
920}
921impl From<&AppPermissionsEmails> for AppPermissionsEmails {
922 fn from(value: &AppPermissionsEmails) -> Self {
923 value.clone()
924 }
925}
926impl ToString for AppPermissionsEmails {
927 fn to_string(&self) -> String {
928 match *self {
929 Self::Read => "read".to_string(),
930 Self::Write => "write".to_string(),
931 }
932 }
933}
934impl std::str::FromStr for AppPermissionsEmails {
935 type Err = &'static str;
936
937 fn from_str(value: &str) -> Result<Self, &'static str> {
938 match value {
939 "read" => Ok(Self::Read),
940 "write" => Ok(Self::Write),
941 _ => Err("invalid value"),
942 }
943 }
944}
945impl std::convert::TryFrom<&str> for AppPermissionsEmails {
946 type Error = &'static str;
947
948 fn try_from(value: &str) -> Result<Self, &'static str> {
949 value.parse()
950 }
951}
952impl std::convert::TryFrom<&String> for AppPermissionsEmails {
953 type Error = &'static str;
954
955 fn try_from(value: &String) -> Result<Self, &'static str> {
956 value.parse()
957 }
958}
959impl std::convert::TryFrom<String> for AppPermissionsEmails {
960 type Error = &'static str;
961
962 fn try_from(value: String) -> Result<Self, &'static str> {
963 value.parse()
964 }
965}
966#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
967pub enum AppPermissionsEnvironments {
968 #[serde(rename = "read")]
969 Read,
970 #[serde(rename = "write")]
971 Write,
972}
973impl From<&AppPermissionsEnvironments> for AppPermissionsEnvironments {
974 fn from(value: &AppPermissionsEnvironments) -> Self {
975 value.clone()
976 }
977}
978impl ToString for AppPermissionsEnvironments {
979 fn to_string(&self) -> String {
980 match *self {
981 Self::Read => "read".to_string(),
982 Self::Write => "write".to_string(),
983 }
984 }
985}
986impl std::str::FromStr for AppPermissionsEnvironments {
987 type Err = &'static str;
988
989 fn from_str(value: &str) -> Result<Self, &'static str> {
990 match value {
991 "read" => Ok(Self::Read),
992 "write" => Ok(Self::Write),
993 _ => Err("invalid value"),
994 }
995 }
996}
997impl std::convert::TryFrom<&str> for AppPermissionsEnvironments {
998 type Error = &'static str;
999
1000 fn try_from(value: &str) -> Result<Self, &'static str> {
1001 value.parse()
1002 }
1003}
1004impl std::convert::TryFrom<&String> for AppPermissionsEnvironments {
1005 type Error = &'static str;
1006
1007 fn try_from(value: &String) -> Result<Self, &'static str> {
1008 value.parse()
1009 }
1010}
1011impl std::convert::TryFrom<String> for AppPermissionsEnvironments {
1012 type Error = &'static str;
1013
1014 fn try_from(value: String) -> Result<Self, &'static str> {
1015 value.parse()
1016 }
1017}
1018#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1019pub enum AppPermissionsFollowers {
1020 #[serde(rename = "read")]
1021 Read,
1022 #[serde(rename = "write")]
1023 Write,
1024}
1025impl From<&AppPermissionsFollowers> for AppPermissionsFollowers {
1026 fn from(value: &AppPermissionsFollowers) -> Self {
1027 value.clone()
1028 }
1029}
1030impl ToString for AppPermissionsFollowers {
1031 fn to_string(&self) -> String {
1032 match *self {
1033 Self::Read => "read".to_string(),
1034 Self::Write => "write".to_string(),
1035 }
1036 }
1037}
1038impl std::str::FromStr for AppPermissionsFollowers {
1039 type Err = &'static str;
1040
1041 fn from_str(value: &str) -> Result<Self, &'static str> {
1042 match value {
1043 "read" => Ok(Self::Read),
1044 "write" => Ok(Self::Write),
1045 _ => Err("invalid value"),
1046 }
1047 }
1048}
1049impl std::convert::TryFrom<&str> for AppPermissionsFollowers {
1050 type Error = &'static str;
1051
1052 fn try_from(value: &str) -> Result<Self, &'static str> {
1053 value.parse()
1054 }
1055}
1056impl std::convert::TryFrom<&String> for AppPermissionsFollowers {
1057 type Error = &'static str;
1058
1059 fn try_from(value: &String) -> Result<Self, &'static str> {
1060 value.parse()
1061 }
1062}
1063impl std::convert::TryFrom<String> for AppPermissionsFollowers {
1064 type Error = &'static str;
1065
1066 fn try_from(value: String) -> Result<Self, &'static str> {
1067 value.parse()
1068 }
1069}
1070#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1071pub enum AppPermissionsGpgKeys {
1072 #[serde(rename = "read")]
1073 Read,
1074 #[serde(rename = "write")]
1075 Write,
1076}
1077impl From<&AppPermissionsGpgKeys> for AppPermissionsGpgKeys {
1078 fn from(value: &AppPermissionsGpgKeys) -> Self {
1079 value.clone()
1080 }
1081}
1082impl ToString for AppPermissionsGpgKeys {
1083 fn to_string(&self) -> String {
1084 match *self {
1085 Self::Read => "read".to_string(),
1086 Self::Write => "write".to_string(),
1087 }
1088 }
1089}
1090impl std::str::FromStr for AppPermissionsGpgKeys {
1091 type Err = &'static str;
1092
1093 fn from_str(value: &str) -> Result<Self, &'static str> {
1094 match value {
1095 "read" => Ok(Self::Read),
1096 "write" => Ok(Self::Write),
1097 _ => Err("invalid value"),
1098 }
1099 }
1100}
1101impl std::convert::TryFrom<&str> for AppPermissionsGpgKeys {
1102 type Error = &'static str;
1103
1104 fn try_from(value: &str) -> Result<Self, &'static str> {
1105 value.parse()
1106 }
1107}
1108impl std::convert::TryFrom<&String> for AppPermissionsGpgKeys {
1109 type Error = &'static str;
1110
1111 fn try_from(value: &String) -> Result<Self, &'static str> {
1112 value.parse()
1113 }
1114}
1115impl std::convert::TryFrom<String> for AppPermissionsGpgKeys {
1116 type Error = &'static str;
1117
1118 fn try_from(value: String) -> Result<Self, &'static str> {
1119 value.parse()
1120 }
1121}
1122#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1123pub enum AppPermissionsInteractionLimits {
1124 #[serde(rename = "read")]
1125 Read,
1126 #[serde(rename = "write")]
1127 Write,
1128}
1129impl From<&AppPermissionsInteractionLimits> for AppPermissionsInteractionLimits {
1130 fn from(value: &AppPermissionsInteractionLimits) -> Self {
1131 value.clone()
1132 }
1133}
1134impl ToString for AppPermissionsInteractionLimits {
1135 fn to_string(&self) -> String {
1136 match *self {
1137 Self::Read => "read".to_string(),
1138 Self::Write => "write".to_string(),
1139 }
1140 }
1141}
1142impl std::str::FromStr for AppPermissionsInteractionLimits {
1143 type Err = &'static str;
1144
1145 fn from_str(value: &str) -> Result<Self, &'static str> {
1146 match value {
1147 "read" => Ok(Self::Read),
1148 "write" => Ok(Self::Write),
1149 _ => Err("invalid value"),
1150 }
1151 }
1152}
1153impl std::convert::TryFrom<&str> for AppPermissionsInteractionLimits {
1154 type Error = &'static str;
1155
1156 fn try_from(value: &str) -> Result<Self, &'static str> {
1157 value.parse()
1158 }
1159}
1160impl std::convert::TryFrom<&String> for AppPermissionsInteractionLimits {
1161 type Error = &'static str;
1162
1163 fn try_from(value: &String) -> Result<Self, &'static str> {
1164 value.parse()
1165 }
1166}
1167impl std::convert::TryFrom<String> for AppPermissionsInteractionLimits {
1168 type Error = &'static str;
1169
1170 fn try_from(value: String) -> Result<Self, &'static str> {
1171 value.parse()
1172 }
1173}
1174#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1175pub enum AppPermissionsIssues {
1176 #[serde(rename = "read")]
1177 Read,
1178 #[serde(rename = "write")]
1179 Write,
1180}
1181impl From<&AppPermissionsIssues> for AppPermissionsIssues {
1182 fn from(value: &AppPermissionsIssues) -> Self {
1183 value.clone()
1184 }
1185}
1186impl ToString for AppPermissionsIssues {
1187 fn to_string(&self) -> String {
1188 match *self {
1189 Self::Read => "read".to_string(),
1190 Self::Write => "write".to_string(),
1191 }
1192 }
1193}
1194impl std::str::FromStr for AppPermissionsIssues {
1195 type Err = &'static str;
1196
1197 fn from_str(value: &str) -> Result<Self, &'static str> {
1198 match value {
1199 "read" => Ok(Self::Read),
1200 "write" => Ok(Self::Write),
1201 _ => Err("invalid value"),
1202 }
1203 }
1204}
1205impl std::convert::TryFrom<&str> for AppPermissionsIssues {
1206 type Error = &'static str;
1207
1208 fn try_from(value: &str) -> Result<Self, &'static str> {
1209 value.parse()
1210 }
1211}
1212impl std::convert::TryFrom<&String> for AppPermissionsIssues {
1213 type Error = &'static str;
1214
1215 fn try_from(value: &String) -> Result<Self, &'static str> {
1216 value.parse()
1217 }
1218}
1219impl std::convert::TryFrom<String> for AppPermissionsIssues {
1220 type Error = &'static str;
1221
1222 fn try_from(value: String) -> Result<Self, &'static str> {
1223 value.parse()
1224 }
1225}
1226#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1227pub enum AppPermissionsKeys {
1228 #[serde(rename = "read")]
1229 Read,
1230 #[serde(rename = "write")]
1231 Write,
1232}
1233impl From<&AppPermissionsKeys> for AppPermissionsKeys {
1234 fn from(value: &AppPermissionsKeys) -> Self {
1235 value.clone()
1236 }
1237}
1238impl ToString for AppPermissionsKeys {
1239 fn to_string(&self) -> String {
1240 match *self {
1241 Self::Read => "read".to_string(),
1242 Self::Write => "write".to_string(),
1243 }
1244 }
1245}
1246impl std::str::FromStr for AppPermissionsKeys {
1247 type Err = &'static str;
1248
1249 fn from_str(value: &str) -> Result<Self, &'static str> {
1250 match value {
1251 "read" => Ok(Self::Read),
1252 "write" => Ok(Self::Write),
1253 _ => Err("invalid value"),
1254 }
1255 }
1256}
1257impl std::convert::TryFrom<&str> for AppPermissionsKeys {
1258 type Error = &'static str;
1259
1260 fn try_from(value: &str) -> Result<Self, &'static str> {
1261 value.parse()
1262 }
1263}
1264impl std::convert::TryFrom<&String> for AppPermissionsKeys {
1265 type Error = &'static str;
1266
1267 fn try_from(value: &String) -> Result<Self, &'static str> {
1268 value.parse()
1269 }
1270}
1271impl std::convert::TryFrom<String> for AppPermissionsKeys {
1272 type Error = &'static str;
1273
1274 fn try_from(value: String) -> Result<Self, &'static str> {
1275 value.parse()
1276 }
1277}
1278#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1279pub enum AppPermissionsMembers {
1280 #[serde(rename = "read")]
1281 Read,
1282 #[serde(rename = "write")]
1283 Write,
1284}
1285impl From<&AppPermissionsMembers> for AppPermissionsMembers {
1286 fn from(value: &AppPermissionsMembers) -> Self {
1287 value.clone()
1288 }
1289}
1290impl ToString for AppPermissionsMembers {
1291 fn to_string(&self) -> String {
1292 match *self {
1293 Self::Read => "read".to_string(),
1294 Self::Write => "write".to_string(),
1295 }
1296 }
1297}
1298impl std::str::FromStr for AppPermissionsMembers {
1299 type Err = &'static str;
1300
1301 fn from_str(value: &str) -> Result<Self, &'static str> {
1302 match value {
1303 "read" => Ok(Self::Read),
1304 "write" => Ok(Self::Write),
1305 _ => Err("invalid value"),
1306 }
1307 }
1308}
1309impl std::convert::TryFrom<&str> for AppPermissionsMembers {
1310 type Error = &'static str;
1311
1312 fn try_from(value: &str) -> Result<Self, &'static str> {
1313 value.parse()
1314 }
1315}
1316impl std::convert::TryFrom<&String> for AppPermissionsMembers {
1317 type Error = &'static str;
1318
1319 fn try_from(value: &String) -> Result<Self, &'static str> {
1320 value.parse()
1321 }
1322}
1323impl std::convert::TryFrom<String> for AppPermissionsMembers {
1324 type Error = &'static str;
1325
1326 fn try_from(value: String) -> Result<Self, &'static str> {
1327 value.parse()
1328 }
1329}
1330#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1331pub enum AppPermissionsMergeQueues {
1332 #[serde(rename = "read")]
1333 Read,
1334 #[serde(rename = "write")]
1335 Write,
1336}
1337impl From<&AppPermissionsMergeQueues> for AppPermissionsMergeQueues {
1338 fn from(value: &AppPermissionsMergeQueues) -> Self {
1339 value.clone()
1340 }
1341}
1342impl ToString for AppPermissionsMergeQueues {
1343 fn to_string(&self) -> String {
1344 match *self {
1345 Self::Read => "read".to_string(),
1346 Self::Write => "write".to_string(),
1347 }
1348 }
1349}
1350impl std::str::FromStr for AppPermissionsMergeQueues {
1351 type Err = &'static str;
1352
1353 fn from_str(value: &str) -> Result<Self, &'static str> {
1354 match value {
1355 "read" => Ok(Self::Read),
1356 "write" => Ok(Self::Write),
1357 _ => Err("invalid value"),
1358 }
1359 }
1360}
1361impl std::convert::TryFrom<&str> for AppPermissionsMergeQueues {
1362 type Error = &'static str;
1363
1364 fn try_from(value: &str) -> Result<Self, &'static str> {
1365 value.parse()
1366 }
1367}
1368impl std::convert::TryFrom<&String> for AppPermissionsMergeQueues {
1369 type Error = &'static str;
1370
1371 fn try_from(value: &String) -> Result<Self, &'static str> {
1372 value.parse()
1373 }
1374}
1375impl std::convert::TryFrom<String> for AppPermissionsMergeQueues {
1376 type Error = &'static str;
1377
1378 fn try_from(value: String) -> Result<Self, &'static str> {
1379 value.parse()
1380 }
1381}
1382#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1383pub enum AppPermissionsMetadata {
1384 #[serde(rename = "read")]
1385 Read,
1386 #[serde(rename = "write")]
1387 Write,
1388}
1389impl From<&AppPermissionsMetadata> for AppPermissionsMetadata {
1390 fn from(value: &AppPermissionsMetadata) -> Self {
1391 value.clone()
1392 }
1393}
1394impl ToString for AppPermissionsMetadata {
1395 fn to_string(&self) -> String {
1396 match *self {
1397 Self::Read => "read".to_string(),
1398 Self::Write => "write".to_string(),
1399 }
1400 }
1401}
1402impl std::str::FromStr for AppPermissionsMetadata {
1403 type Err = &'static str;
1404
1405 fn from_str(value: &str) -> Result<Self, &'static str> {
1406 match value {
1407 "read" => Ok(Self::Read),
1408 "write" => Ok(Self::Write),
1409 _ => Err("invalid value"),
1410 }
1411 }
1412}
1413impl std::convert::TryFrom<&str> for AppPermissionsMetadata {
1414 type Error = &'static str;
1415
1416 fn try_from(value: &str) -> Result<Self, &'static str> {
1417 value.parse()
1418 }
1419}
1420impl std::convert::TryFrom<&String> for AppPermissionsMetadata {
1421 type Error = &'static str;
1422
1423 fn try_from(value: &String) -> Result<Self, &'static str> {
1424 value.parse()
1425 }
1426}
1427impl std::convert::TryFrom<String> for AppPermissionsMetadata {
1428 type Error = &'static str;
1429
1430 fn try_from(value: String) -> Result<Self, &'static str> {
1431 value.parse()
1432 }
1433}
1434#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1435pub enum AppPermissionsOrganizationAdministration {
1436 #[serde(rename = "read")]
1437 Read,
1438 #[serde(rename = "write")]
1439 Write,
1440}
1441impl From<&AppPermissionsOrganizationAdministration> for AppPermissionsOrganizationAdministration {
1442 fn from(value: &AppPermissionsOrganizationAdministration) -> Self {
1443 value.clone()
1444 }
1445}
1446impl ToString for AppPermissionsOrganizationAdministration {
1447 fn to_string(&self) -> String {
1448 match *self {
1449 Self::Read => "read".to_string(),
1450 Self::Write => "write".to_string(),
1451 }
1452 }
1453}
1454impl std::str::FromStr for AppPermissionsOrganizationAdministration {
1455 type Err = &'static str;
1456
1457 fn from_str(value: &str) -> Result<Self, &'static str> {
1458 match value {
1459 "read" => Ok(Self::Read),
1460 "write" => Ok(Self::Write),
1461 _ => Err("invalid value"),
1462 }
1463 }
1464}
1465impl std::convert::TryFrom<&str> for AppPermissionsOrganizationAdministration {
1466 type Error = &'static str;
1467
1468 fn try_from(value: &str) -> Result<Self, &'static str> {
1469 value.parse()
1470 }
1471}
1472impl std::convert::TryFrom<&String> for AppPermissionsOrganizationAdministration {
1473 type Error = &'static str;
1474
1475 fn try_from(value: &String) -> Result<Self, &'static str> {
1476 value.parse()
1477 }
1478}
1479impl std::convert::TryFrom<String> for AppPermissionsOrganizationAdministration {
1480 type Error = &'static str;
1481
1482 fn try_from(value: String) -> Result<Self, &'static str> {
1483 value.parse()
1484 }
1485}
1486#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1487pub enum AppPermissionsOrganizationHooks {
1488 #[serde(rename = "read")]
1489 Read,
1490 #[serde(rename = "write")]
1491 Write,
1492}
1493impl From<&AppPermissionsOrganizationHooks> for AppPermissionsOrganizationHooks {
1494 fn from(value: &AppPermissionsOrganizationHooks) -> Self {
1495 value.clone()
1496 }
1497}
1498impl ToString for AppPermissionsOrganizationHooks {
1499 fn to_string(&self) -> String {
1500 match *self {
1501 Self::Read => "read".to_string(),
1502 Self::Write => "write".to_string(),
1503 }
1504 }
1505}
1506impl std::str::FromStr for AppPermissionsOrganizationHooks {
1507 type Err = &'static str;
1508
1509 fn from_str(value: &str) -> Result<Self, &'static str> {
1510 match value {
1511 "read" => Ok(Self::Read),
1512 "write" => Ok(Self::Write),
1513 _ => Err("invalid value"),
1514 }
1515 }
1516}
1517impl std::convert::TryFrom<&str> for AppPermissionsOrganizationHooks {
1518 type Error = &'static str;
1519
1520 fn try_from(value: &str) -> Result<Self, &'static str> {
1521 value.parse()
1522 }
1523}
1524impl std::convert::TryFrom<&String> for AppPermissionsOrganizationHooks {
1525 type Error = &'static str;
1526
1527 fn try_from(value: &String) -> Result<Self, &'static str> {
1528 value.parse()
1529 }
1530}
1531impl std::convert::TryFrom<String> for AppPermissionsOrganizationHooks {
1532 type Error = &'static str;
1533
1534 fn try_from(value: String) -> Result<Self, &'static str> {
1535 value.parse()
1536 }
1537}
1538#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1539pub enum AppPermissionsOrganizationPackages {
1540 #[serde(rename = "read")]
1541 Read,
1542 #[serde(rename = "write")]
1543 Write,
1544}
1545impl From<&AppPermissionsOrganizationPackages> for AppPermissionsOrganizationPackages {
1546 fn from(value: &AppPermissionsOrganizationPackages) -> Self {
1547 value.clone()
1548 }
1549}
1550impl ToString for AppPermissionsOrganizationPackages {
1551 fn to_string(&self) -> String {
1552 match *self {
1553 Self::Read => "read".to_string(),
1554 Self::Write => "write".to_string(),
1555 }
1556 }
1557}
1558impl std::str::FromStr for AppPermissionsOrganizationPackages {
1559 type Err = &'static str;
1560
1561 fn from_str(value: &str) -> Result<Self, &'static str> {
1562 match value {
1563 "read" => Ok(Self::Read),
1564 "write" => Ok(Self::Write),
1565 _ => Err("invalid value"),
1566 }
1567 }
1568}
1569impl std::convert::TryFrom<&str> for AppPermissionsOrganizationPackages {
1570 type Error = &'static str;
1571
1572 fn try_from(value: &str) -> Result<Self, &'static str> {
1573 value.parse()
1574 }
1575}
1576impl std::convert::TryFrom<&String> for AppPermissionsOrganizationPackages {
1577 type Error = &'static str;
1578
1579 fn try_from(value: &String) -> Result<Self, &'static str> {
1580 value.parse()
1581 }
1582}
1583impl std::convert::TryFrom<String> for AppPermissionsOrganizationPackages {
1584 type Error = &'static str;
1585
1586 fn try_from(value: String) -> Result<Self, &'static str> {
1587 value.parse()
1588 }
1589}
1590#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1591pub enum AppPermissionsOrganizationPlan {
1592 #[serde(rename = "read")]
1593 Read,
1594 #[serde(rename = "write")]
1595 Write,
1596}
1597impl From<&AppPermissionsOrganizationPlan> for AppPermissionsOrganizationPlan {
1598 fn from(value: &AppPermissionsOrganizationPlan) -> Self {
1599 value.clone()
1600 }
1601}
1602impl ToString for AppPermissionsOrganizationPlan {
1603 fn to_string(&self) -> String {
1604 match *self {
1605 Self::Read => "read".to_string(),
1606 Self::Write => "write".to_string(),
1607 }
1608 }
1609}
1610impl std::str::FromStr for AppPermissionsOrganizationPlan {
1611 type Err = &'static str;
1612
1613 fn from_str(value: &str) -> Result<Self, &'static str> {
1614 match value {
1615 "read" => Ok(Self::Read),
1616 "write" => Ok(Self::Write),
1617 _ => Err("invalid value"),
1618 }
1619 }
1620}
1621impl std::convert::TryFrom<&str> for AppPermissionsOrganizationPlan {
1622 type Error = &'static str;
1623
1624 fn try_from(value: &str) -> Result<Self, &'static str> {
1625 value.parse()
1626 }
1627}
1628impl std::convert::TryFrom<&String> for AppPermissionsOrganizationPlan {
1629 type Error = &'static str;
1630
1631 fn try_from(value: &String) -> Result<Self, &'static str> {
1632 value.parse()
1633 }
1634}
1635impl std::convert::TryFrom<String> for AppPermissionsOrganizationPlan {
1636 type Error = &'static str;
1637
1638 fn try_from(value: String) -> Result<Self, &'static str> {
1639 value.parse()
1640 }
1641}
1642#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1643pub enum AppPermissionsOrganizationProjects {
1644 #[serde(rename = "read")]
1645 Read,
1646 #[serde(rename = "write")]
1647 Write,
1648}
1649impl From<&AppPermissionsOrganizationProjects> for AppPermissionsOrganizationProjects {
1650 fn from(value: &AppPermissionsOrganizationProjects) -> Self {
1651 value.clone()
1652 }
1653}
1654impl ToString for AppPermissionsOrganizationProjects {
1655 fn to_string(&self) -> String {
1656 match *self {
1657 Self::Read => "read".to_string(),
1658 Self::Write => "write".to_string(),
1659 }
1660 }
1661}
1662impl std::str::FromStr for AppPermissionsOrganizationProjects {
1663 type Err = &'static str;
1664
1665 fn from_str(value: &str) -> Result<Self, &'static str> {
1666 match value {
1667 "read" => Ok(Self::Read),
1668 "write" => Ok(Self::Write),
1669 _ => Err("invalid value"),
1670 }
1671 }
1672}
1673impl std::convert::TryFrom<&str> for AppPermissionsOrganizationProjects {
1674 type Error = &'static str;
1675
1676 fn try_from(value: &str) -> Result<Self, &'static str> {
1677 value.parse()
1678 }
1679}
1680impl std::convert::TryFrom<&String> for AppPermissionsOrganizationProjects {
1681 type Error = &'static str;
1682
1683 fn try_from(value: &String) -> Result<Self, &'static str> {
1684 value.parse()
1685 }
1686}
1687impl std::convert::TryFrom<String> for AppPermissionsOrganizationProjects {
1688 type Error = &'static str;
1689
1690 fn try_from(value: String) -> Result<Self, &'static str> {
1691 value.parse()
1692 }
1693}
1694#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1695pub enum AppPermissionsOrganizationSecrets {
1696 #[serde(rename = "read")]
1697 Read,
1698 #[serde(rename = "write")]
1699 Write,
1700}
1701impl From<&AppPermissionsOrganizationSecrets> for AppPermissionsOrganizationSecrets {
1702 fn from(value: &AppPermissionsOrganizationSecrets) -> Self {
1703 value.clone()
1704 }
1705}
1706impl ToString for AppPermissionsOrganizationSecrets {
1707 fn to_string(&self) -> String {
1708 match *self {
1709 Self::Read => "read".to_string(),
1710 Self::Write => "write".to_string(),
1711 }
1712 }
1713}
1714impl std::str::FromStr for AppPermissionsOrganizationSecrets {
1715 type Err = &'static str;
1716
1717 fn from_str(value: &str) -> Result<Self, &'static str> {
1718 match value {
1719 "read" => Ok(Self::Read),
1720 "write" => Ok(Self::Write),
1721 _ => Err("invalid value"),
1722 }
1723 }
1724}
1725impl std::convert::TryFrom<&str> for AppPermissionsOrganizationSecrets {
1726 type Error = &'static str;
1727
1728 fn try_from(value: &str) -> Result<Self, &'static str> {
1729 value.parse()
1730 }
1731}
1732impl std::convert::TryFrom<&String> for AppPermissionsOrganizationSecrets {
1733 type Error = &'static str;
1734
1735 fn try_from(value: &String) -> Result<Self, &'static str> {
1736 value.parse()
1737 }
1738}
1739impl std::convert::TryFrom<String> for AppPermissionsOrganizationSecrets {
1740 type Error = &'static str;
1741
1742 fn try_from(value: String) -> Result<Self, &'static str> {
1743 value.parse()
1744 }
1745}
1746#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1747pub enum AppPermissionsOrganizationSelfHostedRunners {
1748 #[serde(rename = "read")]
1749 Read,
1750 #[serde(rename = "write")]
1751 Write,
1752}
1753impl From<&AppPermissionsOrganizationSelfHostedRunners>
1754 for AppPermissionsOrganizationSelfHostedRunners
1755{
1756 fn from(value: &AppPermissionsOrganizationSelfHostedRunners) -> Self {
1757 value.clone()
1758 }
1759}
1760impl ToString for AppPermissionsOrganizationSelfHostedRunners {
1761 fn to_string(&self) -> String {
1762 match *self {
1763 Self::Read => "read".to_string(),
1764 Self::Write => "write".to_string(),
1765 }
1766 }
1767}
1768impl std::str::FromStr for AppPermissionsOrganizationSelfHostedRunners {
1769 type Err = &'static str;
1770
1771 fn from_str(value: &str) -> Result<Self, &'static str> {
1772 match value {
1773 "read" => Ok(Self::Read),
1774 "write" => Ok(Self::Write),
1775 _ => Err("invalid value"),
1776 }
1777 }
1778}
1779impl std::convert::TryFrom<&str> for AppPermissionsOrganizationSelfHostedRunners {
1780 type Error = &'static str;
1781
1782 fn try_from(value: &str) -> Result<Self, &'static str> {
1783 value.parse()
1784 }
1785}
1786impl std::convert::TryFrom<&String> for AppPermissionsOrganizationSelfHostedRunners {
1787 type Error = &'static str;
1788
1789 fn try_from(value: &String) -> Result<Self, &'static str> {
1790 value.parse()
1791 }
1792}
1793impl std::convert::TryFrom<String> for AppPermissionsOrganizationSelfHostedRunners {
1794 type Error = &'static str;
1795
1796 fn try_from(value: String) -> Result<Self, &'static str> {
1797 value.parse()
1798 }
1799}
1800#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1801pub enum AppPermissionsOrganizationUserBlocking {
1802 #[serde(rename = "read")]
1803 Read,
1804 #[serde(rename = "write")]
1805 Write,
1806}
1807impl From<&AppPermissionsOrganizationUserBlocking> for AppPermissionsOrganizationUserBlocking {
1808 fn from(value: &AppPermissionsOrganizationUserBlocking) -> Self {
1809 value.clone()
1810 }
1811}
1812impl ToString for AppPermissionsOrganizationUserBlocking {
1813 fn to_string(&self) -> String {
1814 match *self {
1815 Self::Read => "read".to_string(),
1816 Self::Write => "write".to_string(),
1817 }
1818 }
1819}
1820impl std::str::FromStr for AppPermissionsOrganizationUserBlocking {
1821 type Err = &'static str;
1822
1823 fn from_str(value: &str) -> Result<Self, &'static str> {
1824 match value {
1825 "read" => Ok(Self::Read),
1826 "write" => Ok(Self::Write),
1827 _ => Err("invalid value"),
1828 }
1829 }
1830}
1831impl std::convert::TryFrom<&str> for AppPermissionsOrganizationUserBlocking {
1832 type Error = &'static str;
1833
1834 fn try_from(value: &str) -> Result<Self, &'static str> {
1835 value.parse()
1836 }
1837}
1838impl std::convert::TryFrom<&String> for AppPermissionsOrganizationUserBlocking {
1839 type Error = &'static str;
1840
1841 fn try_from(value: &String) -> Result<Self, &'static str> {
1842 value.parse()
1843 }
1844}
1845impl std::convert::TryFrom<String> for AppPermissionsOrganizationUserBlocking {
1846 type Error = &'static str;
1847
1848 fn try_from(value: String) -> Result<Self, &'static str> {
1849 value.parse()
1850 }
1851}
1852#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1853pub enum AppPermissionsPackages {
1854 #[serde(rename = "read")]
1855 Read,
1856 #[serde(rename = "write")]
1857 Write,
1858}
1859impl From<&AppPermissionsPackages> for AppPermissionsPackages {
1860 fn from(value: &AppPermissionsPackages) -> Self {
1861 value.clone()
1862 }
1863}
1864impl ToString for AppPermissionsPackages {
1865 fn to_string(&self) -> String {
1866 match *self {
1867 Self::Read => "read".to_string(),
1868 Self::Write => "write".to_string(),
1869 }
1870 }
1871}
1872impl std::str::FromStr for AppPermissionsPackages {
1873 type Err = &'static str;
1874
1875 fn from_str(value: &str) -> Result<Self, &'static str> {
1876 match value {
1877 "read" => Ok(Self::Read),
1878 "write" => Ok(Self::Write),
1879 _ => Err("invalid value"),
1880 }
1881 }
1882}
1883impl std::convert::TryFrom<&str> for AppPermissionsPackages {
1884 type Error = &'static str;
1885
1886 fn try_from(value: &str) -> Result<Self, &'static str> {
1887 value.parse()
1888 }
1889}
1890impl std::convert::TryFrom<&String> for AppPermissionsPackages {
1891 type Error = &'static str;
1892
1893 fn try_from(value: &String) -> Result<Self, &'static str> {
1894 value.parse()
1895 }
1896}
1897impl std::convert::TryFrom<String> for AppPermissionsPackages {
1898 type Error = &'static str;
1899
1900 fn try_from(value: String) -> Result<Self, &'static str> {
1901 value.parse()
1902 }
1903}
1904#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1905pub enum AppPermissionsPages {
1906 #[serde(rename = "read")]
1907 Read,
1908 #[serde(rename = "write")]
1909 Write,
1910}
1911impl From<&AppPermissionsPages> for AppPermissionsPages {
1912 fn from(value: &AppPermissionsPages) -> Self {
1913 value.clone()
1914 }
1915}
1916impl ToString for AppPermissionsPages {
1917 fn to_string(&self) -> String {
1918 match *self {
1919 Self::Read => "read".to_string(),
1920 Self::Write => "write".to_string(),
1921 }
1922 }
1923}
1924impl std::str::FromStr for AppPermissionsPages {
1925 type Err = &'static str;
1926
1927 fn from_str(value: &str) -> Result<Self, &'static str> {
1928 match value {
1929 "read" => Ok(Self::Read),
1930 "write" => Ok(Self::Write),
1931 _ => Err("invalid value"),
1932 }
1933 }
1934}
1935impl std::convert::TryFrom<&str> for AppPermissionsPages {
1936 type Error = &'static str;
1937
1938 fn try_from(value: &str) -> Result<Self, &'static str> {
1939 value.parse()
1940 }
1941}
1942impl std::convert::TryFrom<&String> for AppPermissionsPages {
1943 type Error = &'static str;
1944
1945 fn try_from(value: &String) -> Result<Self, &'static str> {
1946 value.parse()
1947 }
1948}
1949impl std::convert::TryFrom<String> for AppPermissionsPages {
1950 type Error = &'static str;
1951
1952 fn try_from(value: String) -> Result<Self, &'static str> {
1953 value.parse()
1954 }
1955}
1956#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
1957pub enum AppPermissionsPlan {
1958 #[serde(rename = "read")]
1959 Read,
1960 #[serde(rename = "write")]
1961 Write,
1962}
1963impl From<&AppPermissionsPlan> for AppPermissionsPlan {
1964 fn from(value: &AppPermissionsPlan) -> Self {
1965 value.clone()
1966 }
1967}
1968impl ToString for AppPermissionsPlan {
1969 fn to_string(&self) -> String {
1970 match *self {
1971 Self::Read => "read".to_string(),
1972 Self::Write => "write".to_string(),
1973 }
1974 }
1975}
1976impl std::str::FromStr for AppPermissionsPlan {
1977 type Err = &'static str;
1978
1979 fn from_str(value: &str) -> Result<Self, &'static str> {
1980 match value {
1981 "read" => Ok(Self::Read),
1982 "write" => Ok(Self::Write),
1983 _ => Err("invalid value"),
1984 }
1985 }
1986}
1987impl std::convert::TryFrom<&str> for AppPermissionsPlan {
1988 type Error = &'static str;
1989
1990 fn try_from(value: &str) -> Result<Self, &'static str> {
1991 value.parse()
1992 }
1993}
1994impl std::convert::TryFrom<&String> for AppPermissionsPlan {
1995 type Error = &'static str;
1996
1997 fn try_from(value: &String) -> Result<Self, &'static str> {
1998 value.parse()
1999 }
2000}
2001impl std::convert::TryFrom<String> for AppPermissionsPlan {
2002 type Error = &'static str;
2003
2004 fn try_from(value: String) -> Result<Self, &'static str> {
2005 value.parse()
2006 }
2007}
2008#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2009pub enum AppPermissionsPullRequests {
2010 #[serde(rename = "read")]
2011 Read,
2012 #[serde(rename = "write")]
2013 Write,
2014}
2015impl From<&AppPermissionsPullRequests> for AppPermissionsPullRequests {
2016 fn from(value: &AppPermissionsPullRequests) -> Self {
2017 value.clone()
2018 }
2019}
2020impl ToString for AppPermissionsPullRequests {
2021 fn to_string(&self) -> String {
2022 match *self {
2023 Self::Read => "read".to_string(),
2024 Self::Write => "write".to_string(),
2025 }
2026 }
2027}
2028impl std::str::FromStr for AppPermissionsPullRequests {
2029 type Err = &'static str;
2030
2031 fn from_str(value: &str) -> Result<Self, &'static str> {
2032 match value {
2033 "read" => Ok(Self::Read),
2034 "write" => Ok(Self::Write),
2035 _ => Err("invalid value"),
2036 }
2037 }
2038}
2039impl std::convert::TryFrom<&str> for AppPermissionsPullRequests {
2040 type Error = &'static str;
2041
2042 fn try_from(value: &str) -> Result<Self, &'static str> {
2043 value.parse()
2044 }
2045}
2046impl std::convert::TryFrom<&String> for AppPermissionsPullRequests {
2047 type Error = &'static str;
2048
2049 fn try_from(value: &String) -> Result<Self, &'static str> {
2050 value.parse()
2051 }
2052}
2053impl std::convert::TryFrom<String> for AppPermissionsPullRequests {
2054 type Error = &'static str;
2055
2056 fn try_from(value: String) -> Result<Self, &'static str> {
2057 value.parse()
2058 }
2059}
2060#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2061pub enum AppPermissionsRepositoryHooks {
2062 #[serde(rename = "read")]
2063 Read,
2064 #[serde(rename = "write")]
2065 Write,
2066}
2067impl From<&AppPermissionsRepositoryHooks> for AppPermissionsRepositoryHooks {
2068 fn from(value: &AppPermissionsRepositoryHooks) -> Self {
2069 value.clone()
2070 }
2071}
2072impl ToString for AppPermissionsRepositoryHooks {
2073 fn to_string(&self) -> String {
2074 match *self {
2075 Self::Read => "read".to_string(),
2076 Self::Write => "write".to_string(),
2077 }
2078 }
2079}
2080impl std::str::FromStr for AppPermissionsRepositoryHooks {
2081 type Err = &'static str;
2082
2083 fn from_str(value: &str) -> Result<Self, &'static str> {
2084 match value {
2085 "read" => Ok(Self::Read),
2086 "write" => Ok(Self::Write),
2087 _ => Err("invalid value"),
2088 }
2089 }
2090}
2091impl std::convert::TryFrom<&str> for AppPermissionsRepositoryHooks {
2092 type Error = &'static str;
2093
2094 fn try_from(value: &str) -> Result<Self, &'static str> {
2095 value.parse()
2096 }
2097}
2098impl std::convert::TryFrom<&String> for AppPermissionsRepositoryHooks {
2099 type Error = &'static str;
2100
2101 fn try_from(value: &String) -> Result<Self, &'static str> {
2102 value.parse()
2103 }
2104}
2105impl std::convert::TryFrom<String> for AppPermissionsRepositoryHooks {
2106 type Error = &'static str;
2107
2108 fn try_from(value: String) -> Result<Self, &'static str> {
2109 value.parse()
2110 }
2111}
2112#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2113pub enum AppPermissionsRepositoryProjects {
2114 #[serde(rename = "read")]
2115 Read,
2116 #[serde(rename = "write")]
2117 Write,
2118}
2119impl From<&AppPermissionsRepositoryProjects> for AppPermissionsRepositoryProjects {
2120 fn from(value: &AppPermissionsRepositoryProjects) -> Self {
2121 value.clone()
2122 }
2123}
2124impl ToString for AppPermissionsRepositoryProjects {
2125 fn to_string(&self) -> String {
2126 match *self {
2127 Self::Read => "read".to_string(),
2128 Self::Write => "write".to_string(),
2129 }
2130 }
2131}
2132impl std::str::FromStr for AppPermissionsRepositoryProjects {
2133 type Err = &'static str;
2134
2135 fn from_str(value: &str) -> Result<Self, &'static str> {
2136 match value {
2137 "read" => Ok(Self::Read),
2138 "write" => Ok(Self::Write),
2139 _ => Err("invalid value"),
2140 }
2141 }
2142}
2143impl std::convert::TryFrom<&str> for AppPermissionsRepositoryProjects {
2144 type Error = &'static str;
2145
2146 fn try_from(value: &str) -> Result<Self, &'static str> {
2147 value.parse()
2148 }
2149}
2150impl std::convert::TryFrom<&String> for AppPermissionsRepositoryProjects {
2151 type Error = &'static str;
2152
2153 fn try_from(value: &String) -> Result<Self, &'static str> {
2154 value.parse()
2155 }
2156}
2157impl std::convert::TryFrom<String> for AppPermissionsRepositoryProjects {
2158 type Error = &'static str;
2159
2160 fn try_from(value: String) -> Result<Self, &'static str> {
2161 value.parse()
2162 }
2163}
2164#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2165pub enum AppPermissionsSecretScanningAlerts {
2166 #[serde(rename = "read")]
2167 Read,
2168 #[serde(rename = "write")]
2169 Write,
2170}
2171impl From<&AppPermissionsSecretScanningAlerts> for AppPermissionsSecretScanningAlerts {
2172 fn from(value: &AppPermissionsSecretScanningAlerts) -> Self {
2173 value.clone()
2174 }
2175}
2176impl ToString for AppPermissionsSecretScanningAlerts {
2177 fn to_string(&self) -> String {
2178 match *self {
2179 Self::Read => "read".to_string(),
2180 Self::Write => "write".to_string(),
2181 }
2182 }
2183}
2184impl std::str::FromStr for AppPermissionsSecretScanningAlerts {
2185 type Err = &'static str;
2186
2187 fn from_str(value: &str) -> Result<Self, &'static str> {
2188 match value {
2189 "read" => Ok(Self::Read),
2190 "write" => Ok(Self::Write),
2191 _ => Err("invalid value"),
2192 }
2193 }
2194}
2195impl std::convert::TryFrom<&str> for AppPermissionsSecretScanningAlerts {
2196 type Error = &'static str;
2197
2198 fn try_from(value: &str) -> Result<Self, &'static str> {
2199 value.parse()
2200 }
2201}
2202impl std::convert::TryFrom<&String> for AppPermissionsSecretScanningAlerts {
2203 type Error = &'static str;
2204
2205 fn try_from(value: &String) -> Result<Self, &'static str> {
2206 value.parse()
2207 }
2208}
2209impl std::convert::TryFrom<String> for AppPermissionsSecretScanningAlerts {
2210 type Error = &'static str;
2211
2212 fn try_from(value: String) -> Result<Self, &'static str> {
2213 value.parse()
2214 }
2215}
2216#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2217pub enum AppPermissionsSecrets {
2218 #[serde(rename = "read")]
2219 Read,
2220 #[serde(rename = "write")]
2221 Write,
2222}
2223impl From<&AppPermissionsSecrets> for AppPermissionsSecrets {
2224 fn from(value: &AppPermissionsSecrets) -> Self {
2225 value.clone()
2226 }
2227}
2228impl ToString for AppPermissionsSecrets {
2229 fn to_string(&self) -> String {
2230 match *self {
2231 Self::Read => "read".to_string(),
2232 Self::Write => "write".to_string(),
2233 }
2234 }
2235}
2236impl std::str::FromStr for AppPermissionsSecrets {
2237 type Err = &'static str;
2238
2239 fn from_str(value: &str) -> Result<Self, &'static str> {
2240 match value {
2241 "read" => Ok(Self::Read),
2242 "write" => Ok(Self::Write),
2243 _ => Err("invalid value"),
2244 }
2245 }
2246}
2247impl std::convert::TryFrom<&str> for AppPermissionsSecrets {
2248 type Error = &'static str;
2249
2250 fn try_from(value: &str) -> Result<Self, &'static str> {
2251 value.parse()
2252 }
2253}
2254impl std::convert::TryFrom<&String> for AppPermissionsSecrets {
2255 type Error = &'static str;
2256
2257 fn try_from(value: &String) -> Result<Self, &'static str> {
2258 value.parse()
2259 }
2260}
2261impl std::convert::TryFrom<String> for AppPermissionsSecrets {
2262 type Error = &'static str;
2263
2264 fn try_from(value: String) -> Result<Self, &'static str> {
2265 value.parse()
2266 }
2267}
2268#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2269pub enum AppPermissionsSecurityEvents {
2270 #[serde(rename = "read")]
2271 Read,
2272 #[serde(rename = "write")]
2273 Write,
2274}
2275impl From<&AppPermissionsSecurityEvents> for AppPermissionsSecurityEvents {
2276 fn from(value: &AppPermissionsSecurityEvents) -> Self {
2277 value.clone()
2278 }
2279}
2280impl ToString for AppPermissionsSecurityEvents {
2281 fn to_string(&self) -> String {
2282 match *self {
2283 Self::Read => "read".to_string(),
2284 Self::Write => "write".to_string(),
2285 }
2286 }
2287}
2288impl std::str::FromStr for AppPermissionsSecurityEvents {
2289 type Err = &'static str;
2290
2291 fn from_str(value: &str) -> Result<Self, &'static str> {
2292 match value {
2293 "read" => Ok(Self::Read),
2294 "write" => Ok(Self::Write),
2295 _ => Err("invalid value"),
2296 }
2297 }
2298}
2299impl std::convert::TryFrom<&str> for AppPermissionsSecurityEvents {
2300 type Error = &'static str;
2301
2302 fn try_from(value: &str) -> Result<Self, &'static str> {
2303 value.parse()
2304 }
2305}
2306impl std::convert::TryFrom<&String> for AppPermissionsSecurityEvents {
2307 type Error = &'static str;
2308
2309 fn try_from(value: &String) -> Result<Self, &'static str> {
2310 value.parse()
2311 }
2312}
2313impl std::convert::TryFrom<String> for AppPermissionsSecurityEvents {
2314 type Error = &'static str;
2315
2316 fn try_from(value: String) -> Result<Self, &'static str> {
2317 value.parse()
2318 }
2319}
2320#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2321pub enum AppPermissionsSecurityScanningAlert {
2322 #[serde(rename = "read")]
2323 Read,
2324 #[serde(rename = "write")]
2325 Write,
2326}
2327impl From<&AppPermissionsSecurityScanningAlert> for AppPermissionsSecurityScanningAlert {
2328 fn from(value: &AppPermissionsSecurityScanningAlert) -> Self {
2329 value.clone()
2330 }
2331}
2332impl ToString for AppPermissionsSecurityScanningAlert {
2333 fn to_string(&self) -> String {
2334 match *self {
2335 Self::Read => "read".to_string(),
2336 Self::Write => "write".to_string(),
2337 }
2338 }
2339}
2340impl std::str::FromStr for AppPermissionsSecurityScanningAlert {
2341 type Err = &'static str;
2342
2343 fn from_str(value: &str) -> Result<Self, &'static str> {
2344 match value {
2345 "read" => Ok(Self::Read),
2346 "write" => Ok(Self::Write),
2347 _ => Err("invalid value"),
2348 }
2349 }
2350}
2351impl std::convert::TryFrom<&str> for AppPermissionsSecurityScanningAlert {
2352 type Error = &'static str;
2353
2354 fn try_from(value: &str) -> Result<Self, &'static str> {
2355 value.parse()
2356 }
2357}
2358impl std::convert::TryFrom<&String> for AppPermissionsSecurityScanningAlert {
2359 type Error = &'static str;
2360
2361 fn try_from(value: &String) -> Result<Self, &'static str> {
2362 value.parse()
2363 }
2364}
2365impl std::convert::TryFrom<String> for AppPermissionsSecurityScanningAlert {
2366 type Error = &'static str;
2367
2368 fn try_from(value: String) -> Result<Self, &'static str> {
2369 value.parse()
2370 }
2371}
2372#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2373pub enum AppPermissionsSingleFile {
2374 #[serde(rename = "read")]
2375 Read,
2376 #[serde(rename = "write")]
2377 Write,
2378}
2379impl From<&AppPermissionsSingleFile> for AppPermissionsSingleFile {
2380 fn from(value: &AppPermissionsSingleFile) -> Self {
2381 value.clone()
2382 }
2383}
2384impl ToString for AppPermissionsSingleFile {
2385 fn to_string(&self) -> String {
2386 match *self {
2387 Self::Read => "read".to_string(),
2388 Self::Write => "write".to_string(),
2389 }
2390 }
2391}
2392impl std::str::FromStr for AppPermissionsSingleFile {
2393 type Err = &'static str;
2394
2395 fn from_str(value: &str) -> Result<Self, &'static str> {
2396 match value {
2397 "read" => Ok(Self::Read),
2398 "write" => Ok(Self::Write),
2399 _ => Err("invalid value"),
2400 }
2401 }
2402}
2403impl std::convert::TryFrom<&str> for AppPermissionsSingleFile {
2404 type Error = &'static str;
2405
2406 fn try_from(value: &str) -> Result<Self, &'static str> {
2407 value.parse()
2408 }
2409}
2410impl std::convert::TryFrom<&String> for AppPermissionsSingleFile {
2411 type Error = &'static str;
2412
2413 fn try_from(value: &String) -> Result<Self, &'static str> {
2414 value.parse()
2415 }
2416}
2417impl std::convert::TryFrom<String> for AppPermissionsSingleFile {
2418 type Error = &'static str;
2419
2420 fn try_from(value: String) -> Result<Self, &'static str> {
2421 value.parse()
2422 }
2423}
2424#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2425pub enum AppPermissionsStarring {
2426 #[serde(rename = "read")]
2427 Read,
2428 #[serde(rename = "write")]
2429 Write,
2430}
2431impl From<&AppPermissionsStarring> for AppPermissionsStarring {
2432 fn from(value: &AppPermissionsStarring) -> Self {
2433 value.clone()
2434 }
2435}
2436impl ToString for AppPermissionsStarring {
2437 fn to_string(&self) -> String {
2438 match *self {
2439 Self::Read => "read".to_string(),
2440 Self::Write => "write".to_string(),
2441 }
2442 }
2443}
2444impl std::str::FromStr for AppPermissionsStarring {
2445 type Err = &'static str;
2446
2447 fn from_str(value: &str) -> Result<Self, &'static str> {
2448 match value {
2449 "read" => Ok(Self::Read),
2450 "write" => Ok(Self::Write),
2451 _ => Err("invalid value"),
2452 }
2453 }
2454}
2455impl std::convert::TryFrom<&str> for AppPermissionsStarring {
2456 type Error = &'static str;
2457
2458 fn try_from(value: &str) -> Result<Self, &'static str> {
2459 value.parse()
2460 }
2461}
2462impl std::convert::TryFrom<&String> for AppPermissionsStarring {
2463 type Error = &'static str;
2464
2465 fn try_from(value: &String) -> Result<Self, &'static str> {
2466 value.parse()
2467 }
2468}
2469impl std::convert::TryFrom<String> for AppPermissionsStarring {
2470 type Error = &'static str;
2471
2472 fn try_from(value: String) -> Result<Self, &'static str> {
2473 value.parse()
2474 }
2475}
2476#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2477pub enum AppPermissionsStatuses {
2478 #[serde(rename = "read")]
2479 Read,
2480 #[serde(rename = "write")]
2481 Write,
2482}
2483impl From<&AppPermissionsStatuses> for AppPermissionsStatuses {
2484 fn from(value: &AppPermissionsStatuses) -> Self {
2485 value.clone()
2486 }
2487}
2488impl ToString for AppPermissionsStatuses {
2489 fn to_string(&self) -> String {
2490 match *self {
2491 Self::Read => "read".to_string(),
2492 Self::Write => "write".to_string(),
2493 }
2494 }
2495}
2496impl std::str::FromStr for AppPermissionsStatuses {
2497 type Err = &'static str;
2498
2499 fn from_str(value: &str) -> Result<Self, &'static str> {
2500 match value {
2501 "read" => Ok(Self::Read),
2502 "write" => Ok(Self::Write),
2503 _ => Err("invalid value"),
2504 }
2505 }
2506}
2507impl std::convert::TryFrom<&str> for AppPermissionsStatuses {
2508 type Error = &'static str;
2509
2510 fn try_from(value: &str) -> Result<Self, &'static str> {
2511 value.parse()
2512 }
2513}
2514impl std::convert::TryFrom<&String> for AppPermissionsStatuses {
2515 type Error = &'static str;
2516
2517 fn try_from(value: &String) -> Result<Self, &'static str> {
2518 value.parse()
2519 }
2520}
2521impl std::convert::TryFrom<String> for AppPermissionsStatuses {
2522 type Error = &'static str;
2523
2524 fn try_from(value: String) -> Result<Self, &'static str> {
2525 value.parse()
2526 }
2527}
2528#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2529pub enum AppPermissionsTeamDiscussions {
2530 #[serde(rename = "read")]
2531 Read,
2532 #[serde(rename = "write")]
2533 Write,
2534}
2535impl From<&AppPermissionsTeamDiscussions> for AppPermissionsTeamDiscussions {
2536 fn from(value: &AppPermissionsTeamDiscussions) -> Self {
2537 value.clone()
2538 }
2539}
2540impl ToString for AppPermissionsTeamDiscussions {
2541 fn to_string(&self) -> String {
2542 match *self {
2543 Self::Read => "read".to_string(),
2544 Self::Write => "write".to_string(),
2545 }
2546 }
2547}
2548impl std::str::FromStr for AppPermissionsTeamDiscussions {
2549 type Err = &'static str;
2550
2551 fn from_str(value: &str) -> Result<Self, &'static str> {
2552 match value {
2553 "read" => Ok(Self::Read),
2554 "write" => Ok(Self::Write),
2555 _ => Err("invalid value"),
2556 }
2557 }
2558}
2559impl std::convert::TryFrom<&str> for AppPermissionsTeamDiscussions {
2560 type Error = &'static str;
2561
2562 fn try_from(value: &str) -> Result<Self, &'static str> {
2563 value.parse()
2564 }
2565}
2566impl std::convert::TryFrom<&String> for AppPermissionsTeamDiscussions {
2567 type Error = &'static str;
2568
2569 fn try_from(value: &String) -> Result<Self, &'static str> {
2570 value.parse()
2571 }
2572}
2573impl std::convert::TryFrom<String> for AppPermissionsTeamDiscussions {
2574 type Error = &'static str;
2575
2576 fn try_from(value: String) -> Result<Self, &'static str> {
2577 value.parse()
2578 }
2579}
2580#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2581pub enum AppPermissionsVulnerabilityAlerts {
2582 #[serde(rename = "read")]
2583 Read,
2584 #[serde(rename = "write")]
2585 Write,
2586}
2587impl From<&AppPermissionsVulnerabilityAlerts> for AppPermissionsVulnerabilityAlerts {
2588 fn from(value: &AppPermissionsVulnerabilityAlerts) -> Self {
2589 value.clone()
2590 }
2591}
2592impl ToString for AppPermissionsVulnerabilityAlerts {
2593 fn to_string(&self) -> String {
2594 match *self {
2595 Self::Read => "read".to_string(),
2596 Self::Write => "write".to_string(),
2597 }
2598 }
2599}
2600impl std::str::FromStr for AppPermissionsVulnerabilityAlerts {
2601 type Err = &'static str;
2602
2603 fn from_str(value: &str) -> Result<Self, &'static str> {
2604 match value {
2605 "read" => Ok(Self::Read),
2606 "write" => Ok(Self::Write),
2607 _ => Err("invalid value"),
2608 }
2609 }
2610}
2611impl std::convert::TryFrom<&str> for AppPermissionsVulnerabilityAlerts {
2612 type Error = &'static str;
2613
2614 fn try_from(value: &str) -> Result<Self, &'static str> {
2615 value.parse()
2616 }
2617}
2618impl std::convert::TryFrom<&String> for AppPermissionsVulnerabilityAlerts {
2619 type Error = &'static str;
2620
2621 fn try_from(value: &String) -> Result<Self, &'static str> {
2622 value.parse()
2623 }
2624}
2625impl std::convert::TryFrom<String> for AppPermissionsVulnerabilityAlerts {
2626 type Error = &'static str;
2627
2628 fn try_from(value: String) -> Result<Self, &'static str> {
2629 value.parse()
2630 }
2631}
2632#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2633pub enum AppPermissionsWatching {
2634 #[serde(rename = "read")]
2635 Read,
2636 #[serde(rename = "write")]
2637 Write,
2638}
2639impl From<&AppPermissionsWatching> for AppPermissionsWatching {
2640 fn from(value: &AppPermissionsWatching) -> Self {
2641 value.clone()
2642 }
2643}
2644impl ToString for AppPermissionsWatching {
2645 fn to_string(&self) -> String {
2646 match *self {
2647 Self::Read => "read".to_string(),
2648 Self::Write => "write".to_string(),
2649 }
2650 }
2651}
2652impl std::str::FromStr for AppPermissionsWatching {
2653 type Err = &'static str;
2654
2655 fn from_str(value: &str) -> Result<Self, &'static str> {
2656 match value {
2657 "read" => Ok(Self::Read),
2658 "write" => Ok(Self::Write),
2659 _ => Err("invalid value"),
2660 }
2661 }
2662}
2663impl std::convert::TryFrom<&str> for AppPermissionsWatching {
2664 type Error = &'static str;
2665
2666 fn try_from(value: &str) -> Result<Self, &'static str> {
2667 value.parse()
2668 }
2669}
2670impl std::convert::TryFrom<&String> for AppPermissionsWatching {
2671 type Error = &'static str;
2672
2673 fn try_from(value: &String) -> Result<Self, &'static str> {
2674 value.parse()
2675 }
2676}
2677impl std::convert::TryFrom<String> for AppPermissionsWatching {
2678 type Error = &'static str;
2679
2680 fn try_from(value: String) -> Result<Self, &'static str> {
2681 value.parse()
2682 }
2683}
2684#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2685pub enum AppPermissionsWorkflows {
2686 #[serde(rename = "read")]
2687 Read,
2688 #[serde(rename = "write")]
2689 Write,
2690}
2691impl From<&AppPermissionsWorkflows> for AppPermissionsWorkflows {
2692 fn from(value: &AppPermissionsWorkflows) -> Self {
2693 value.clone()
2694 }
2695}
2696impl ToString for AppPermissionsWorkflows {
2697 fn to_string(&self) -> String {
2698 match *self {
2699 Self::Read => "read".to_string(),
2700 Self::Write => "write".to_string(),
2701 }
2702 }
2703}
2704impl std::str::FromStr for AppPermissionsWorkflows {
2705 type Err = &'static str;
2706
2707 fn from_str(value: &str) -> Result<Self, &'static str> {
2708 match value {
2709 "read" => Ok(Self::Read),
2710 "write" => Ok(Self::Write),
2711 _ => Err("invalid value"),
2712 }
2713 }
2714}
2715impl std::convert::TryFrom<&str> for AppPermissionsWorkflows {
2716 type Error = &'static str;
2717
2718 fn try_from(value: &str) -> Result<Self, &'static str> {
2719 value.parse()
2720 }
2721}
2722impl std::convert::TryFrom<&String> for AppPermissionsWorkflows {
2723 type Error = &'static str;
2724
2725 fn try_from(value: &String) -> Result<Self, &'static str> {
2726 value.parse()
2727 }
2728}
2729impl std::convert::TryFrom<String> for AppPermissionsWorkflows {
2730 type Error = &'static str;
2731
2732 fn try_from(value: String) -> Result<Self, &'static str> {
2733 value.parse()
2734 }
2735}
2736#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2738pub enum AuthorAssociation {
2739 #[serde(rename = "COLLABORATOR")]
2740 Collaborator,
2741 #[serde(rename = "CONTRIBUTOR")]
2742 Contributor,
2743 #[serde(rename = "FIRST_TIMER")]
2744 FirstTimer,
2745 #[serde(rename = "FIRST_TIME_CONTRIBUTOR")]
2746 FirstTimeContributor,
2747 #[serde(rename = "MANNEQUIN")]
2748 Mannequin,
2749 #[serde(rename = "MEMBER")]
2750 Member,
2751 #[serde(rename = "NONE")]
2752 None,
2753 #[serde(rename = "OWNER")]
2754 Owner,
2755}
2756impl From<&AuthorAssociation> for AuthorAssociation {
2757 fn from(value: &AuthorAssociation) -> Self {
2758 value.clone()
2759 }
2760}
2761impl ToString for AuthorAssociation {
2762 fn to_string(&self) -> String {
2763 match *self {
2764 Self::Collaborator => "COLLABORATOR".to_string(),
2765 Self::Contributor => "CONTRIBUTOR".to_string(),
2766 Self::FirstTimer => "FIRST_TIMER".to_string(),
2767 Self::FirstTimeContributor => "FIRST_TIME_CONTRIBUTOR".to_string(),
2768 Self::Mannequin => "MANNEQUIN".to_string(),
2769 Self::Member => "MEMBER".to_string(),
2770 Self::None => "NONE".to_string(),
2771 Self::Owner => "OWNER".to_string(),
2772 }
2773 }
2774}
2775impl std::str::FromStr for AuthorAssociation {
2776 type Err = &'static str;
2777
2778 fn from_str(value: &str) -> Result<Self, &'static str> {
2779 match value {
2780 "COLLABORATOR" => Ok(Self::Collaborator),
2781 "CONTRIBUTOR" => Ok(Self::Contributor),
2782 "FIRST_TIMER" => Ok(Self::FirstTimer),
2783 "FIRST_TIME_CONTRIBUTOR" => Ok(Self::FirstTimeContributor),
2784 "MANNEQUIN" => Ok(Self::Mannequin),
2785 "MEMBER" => Ok(Self::Member),
2786 "NONE" => Ok(Self::None),
2787 "OWNER" => Ok(Self::Owner),
2788 _ => Err("invalid value"),
2789 }
2790 }
2791}
2792impl std::convert::TryFrom<&str> for AuthorAssociation {
2793 type Error = &'static str;
2794
2795 fn try_from(value: &str) -> Result<Self, &'static str> {
2796 value.parse()
2797 }
2798}
2799impl std::convert::TryFrom<&String> for AuthorAssociation {
2800 type Error = &'static str;
2801
2802 fn try_from(value: &String) -> Result<Self, &'static str> {
2803 value.parse()
2804 }
2805}
2806impl std::convert::TryFrom<String> for AuthorAssociation {
2807 type Error = &'static str;
2808
2809 fn try_from(value: String) -> Result<Self, &'static str> {
2810 value.parse()
2811 }
2812}
2813#[derive(Clone, Debug, Deserialize, Serialize)]
2815#[serde(deny_unknown_fields)]
2816pub struct AutoMerge {
2817 pub commit_message: String,
2819 pub commit_title: String,
2821 pub enabled_by: User,
2822 pub merge_method: AutoMergeMergeMethod,
2824}
2825impl From<&AutoMerge> for AutoMerge {
2826 fn from(value: &AutoMerge) -> Self {
2827 value.clone()
2828 }
2829}
2830#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
2832pub enum AutoMergeMergeMethod {
2833 #[serde(rename = "merge")]
2834 Merge,
2835 #[serde(rename = "squash")]
2836 Squash,
2837 #[serde(rename = "rebase")]
2838 Rebase,
2839}
2840impl From<&AutoMergeMergeMethod> for AutoMergeMergeMethod {
2841 fn from(value: &AutoMergeMergeMethod) -> Self {
2842 value.clone()
2843 }
2844}
2845impl ToString for AutoMergeMergeMethod {
2846 fn to_string(&self) -> String {
2847 match *self {
2848 Self::Merge => "merge".to_string(),
2849 Self::Squash => "squash".to_string(),
2850 Self::Rebase => "rebase".to_string(),
2851 }
2852 }
2853}
2854impl std::str::FromStr for AutoMergeMergeMethod {
2855 type Err = &'static str;
2856
2857 fn from_str(value: &str) -> Result<Self, &'static str> {
2858 match value {
2859 "merge" => Ok(Self::Merge),
2860 "squash" => Ok(Self::Squash),
2861 "rebase" => Ok(Self::Rebase),
2862 _ => Err("invalid value"),
2863 }
2864 }
2865}
2866impl std::convert::TryFrom<&str> for AutoMergeMergeMethod {
2867 type Error = &'static str;
2868
2869 fn try_from(value: &str) -> Result<Self, &'static str> {
2870 value.parse()
2871 }
2872}
2873impl std::convert::TryFrom<&String> for AutoMergeMergeMethod {
2874 type Error = &'static str;
2875
2876 fn try_from(value: &String) -> Result<Self, &'static str> {
2877 value.parse()
2878 }
2879}
2880impl std::convert::TryFrom<String> for AutoMergeMergeMethod {
2881 type Error = &'static str;
2882
2883 fn try_from(value: String) -> Result<Self, &'static str> {
2884 value.parse()
2885 }
2886}
2887#[derive(Clone, Debug, Deserialize, Serialize)]
2889#[serde(deny_unknown_fields)]
2890pub struct BranchProtectionRule {
2891 pub admin_enforced: BranchProtectionRuleBoolean,
2892 pub allow_deletions_enforcement_level: BranchProtectionRuleEnforcementLevel,
2893 pub allow_force_pushes_enforcement_level: BranchProtectionRuleEnforcementLevel,
2894 pub authorized_actor_names: BranchProtectionRuleArray,
2895 pub authorized_actors_only: BranchProtectionRuleBoolean,
2896 pub authorized_dismissal_actors_only: BranchProtectionRuleBoolean,
2897 #[serde(default, skip_serializing_if = "Option::is_none")]
2898 pub create_protected: Option<BranchProtectionRuleBoolean>,
2899 pub created_at: chrono::DateTime<chrono::offset::Utc>,
2900 pub dismiss_stale_reviews_on_push: BranchProtectionRuleBoolean,
2901 pub id: i64,
2902 pub ignore_approvals_from_contributors: BranchProtectionRuleBoolean,
2903 pub linear_history_requirement_enforcement_level: BranchProtectionRuleEnforcementLevel,
2904 pub merge_queue_enforcement_level: BranchProtectionRuleEnforcementLevel,
2905 pub name: String,
2906 pub pull_request_reviews_enforcement_level: BranchProtectionRuleEnforcementLevel,
2907 pub repository_id: i64,
2908 pub require_code_owner_review: BranchProtectionRuleBoolean,
2909 pub required_approving_review_count: BranchProtectionRuleNumber,
2910 pub required_conversation_resolution_level: BranchProtectionRuleEnforcementLevel,
2911 pub required_deployments_enforcement_level: BranchProtectionRuleEnforcementLevel,
2912 pub required_status_checks: BranchProtectionRuleArray,
2913 pub required_status_checks_enforcement_level: BranchProtectionRuleEnforcementLevel,
2914 pub signature_requirement_enforcement_level: BranchProtectionRuleEnforcementLevel,
2915 pub strict_required_status_checks_policy: BranchProtectionRuleBoolean,
2916 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
2917}
2918impl From<&BranchProtectionRule> for BranchProtectionRule {
2919 fn from(value: &BranchProtectionRule) -> Self {
2920 value.clone()
2921 }
2922}
2923#[derive(Clone, Debug, Deserialize, Serialize)]
2924pub struct BranchProtectionRuleArray(pub Vec<String>);
2925impl std::ops::Deref for BranchProtectionRuleArray {
2926 type Target = Vec<String>;
2927
2928 fn deref(&self) -> &Vec<String> {
2929 &self.0
2930 }
2931}
2932impl From<BranchProtectionRuleArray> for Vec<String> {
2933 fn from(value: BranchProtectionRuleArray) -> Self {
2934 value.0
2935 }
2936}
2937impl From<&BranchProtectionRuleArray> for BranchProtectionRuleArray {
2938 fn from(value: &BranchProtectionRuleArray) -> Self {
2939 value.clone()
2940 }
2941}
2942impl From<Vec<String>> for BranchProtectionRuleArray {
2943 fn from(value: Vec<String>) -> Self {
2944 Self(value)
2945 }
2946}
2947#[derive(Clone, Debug, Deserialize, Serialize)]
2948pub struct BranchProtectionRuleBoolean(pub bool);
2949impl std::ops::Deref for BranchProtectionRuleBoolean {
2950 type Target = bool;
2951
2952 fn deref(&self) -> &bool {
2953 &self.0
2954 }
2955}
2956impl From<BranchProtectionRuleBoolean> for bool {
2957 fn from(value: BranchProtectionRuleBoolean) -> Self {
2958 value.0
2959 }
2960}
2961impl From<&BranchProtectionRuleBoolean> for BranchProtectionRuleBoolean {
2962 fn from(value: &BranchProtectionRuleBoolean) -> Self {
2963 value.clone()
2964 }
2965}
2966impl From<bool> for BranchProtectionRuleBoolean {
2967 fn from(value: bool) -> Self {
2968 Self(value)
2969 }
2970}
2971impl std::str::FromStr for BranchProtectionRuleBoolean {
2972 type Err = <bool as std::str::FromStr>::Err;
2973
2974 fn from_str(value: &str) -> Result<Self, Self::Err> {
2975 Ok(Self(value.parse()?))
2976 }
2977}
2978impl std::convert::TryFrom<&str> for BranchProtectionRuleBoolean {
2979 type Error = <bool as std::str::FromStr>::Err;
2980
2981 fn try_from(value: &str) -> Result<Self, Self::Error> {
2982 value.parse()
2983 }
2984}
2985impl std::convert::TryFrom<&String> for BranchProtectionRuleBoolean {
2986 type Error = <bool as std::str::FromStr>::Err;
2987
2988 fn try_from(value: &String) -> Result<Self, Self::Error> {
2989 value.parse()
2990 }
2991}
2992impl std::convert::TryFrom<String> for BranchProtectionRuleBoolean {
2993 type Error = <bool as std::str::FromStr>::Err;
2994
2995 fn try_from(value: String) -> Result<Self, Self::Error> {
2996 value.parse()
2997 }
2998}
2999impl ToString for BranchProtectionRuleBoolean {
3000 fn to_string(&self) -> String {
3001 self.0.to_string()
3002 }
3003}
3004#[derive(Clone, Debug, Deserialize, Serialize)]
3006#[serde(deny_unknown_fields)]
3007pub struct BranchProtectionRuleCreated {
3008 pub action: BranchProtectionRuleCreatedAction,
3009 #[serde(default, skip_serializing_if = "Option::is_none")]
3010 pub installation: Option<InstallationLite>,
3011 #[serde(default, skip_serializing_if = "Option::is_none")]
3012 pub organization: Option<Organization>,
3013 pub repository: Repository,
3014 pub rule: BranchProtectionRule,
3015 pub sender: User,
3016}
3017impl From<&BranchProtectionRuleCreated> for BranchProtectionRuleCreated {
3018 fn from(value: &BranchProtectionRuleCreated) -> Self {
3019 value.clone()
3020 }
3021}
3022#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
3023pub enum BranchProtectionRuleCreatedAction {
3024 #[serde(rename = "created")]
3025 Created,
3026}
3027impl From<&BranchProtectionRuleCreatedAction> for BranchProtectionRuleCreatedAction {
3028 fn from(value: &BranchProtectionRuleCreatedAction) -> Self {
3029 value.clone()
3030 }
3031}
3032impl ToString for BranchProtectionRuleCreatedAction {
3033 fn to_string(&self) -> String {
3034 match *self {
3035 Self::Created => "created".to_string(),
3036 }
3037 }
3038}
3039impl std::str::FromStr for BranchProtectionRuleCreatedAction {
3040 type Err = &'static str;
3041
3042 fn from_str(value: &str) -> Result<Self, &'static str> {
3043 match value {
3044 "created" => Ok(Self::Created),
3045 _ => Err("invalid value"),
3046 }
3047 }
3048}
3049impl std::convert::TryFrom<&str> for BranchProtectionRuleCreatedAction {
3050 type Error = &'static str;
3051
3052 fn try_from(value: &str) -> Result<Self, &'static str> {
3053 value.parse()
3054 }
3055}
3056impl std::convert::TryFrom<&String> for BranchProtectionRuleCreatedAction {
3057 type Error = &'static str;
3058
3059 fn try_from(value: &String) -> Result<Self, &'static str> {
3060 value.parse()
3061 }
3062}
3063impl std::convert::TryFrom<String> for BranchProtectionRuleCreatedAction {
3064 type Error = &'static str;
3065
3066 fn try_from(value: String) -> Result<Self, &'static str> {
3067 value.parse()
3068 }
3069}
3070#[derive(Clone, Debug, Deserialize, Serialize)]
3072#[serde(deny_unknown_fields)]
3073pub struct BranchProtectionRuleDeleted {
3074 pub action: BranchProtectionRuleDeletedAction,
3075 #[serde(default, skip_serializing_if = "Option::is_none")]
3076 pub installation: Option<InstallationLite>,
3077 #[serde(default, skip_serializing_if = "Option::is_none")]
3078 pub organization: Option<Organization>,
3079 pub repository: Repository,
3080 pub rule: BranchProtectionRule,
3081 pub sender: User,
3082}
3083impl From<&BranchProtectionRuleDeleted> for BranchProtectionRuleDeleted {
3084 fn from(value: &BranchProtectionRuleDeleted) -> Self {
3085 value.clone()
3086 }
3087}
3088#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
3089pub enum BranchProtectionRuleDeletedAction {
3090 #[serde(rename = "deleted")]
3091 Deleted,
3092}
3093impl From<&BranchProtectionRuleDeletedAction> for BranchProtectionRuleDeletedAction {
3094 fn from(value: &BranchProtectionRuleDeletedAction) -> Self {
3095 value.clone()
3096 }
3097}
3098impl ToString for BranchProtectionRuleDeletedAction {
3099 fn to_string(&self) -> String {
3100 match *self {
3101 Self::Deleted => "deleted".to_string(),
3102 }
3103 }
3104}
3105impl std::str::FromStr for BranchProtectionRuleDeletedAction {
3106 type Err = &'static str;
3107
3108 fn from_str(value: &str) -> Result<Self, &'static str> {
3109 match value {
3110 "deleted" => Ok(Self::Deleted),
3111 _ => Err("invalid value"),
3112 }
3113 }
3114}
3115impl std::convert::TryFrom<&str> for BranchProtectionRuleDeletedAction {
3116 type Error = &'static str;
3117
3118 fn try_from(value: &str) -> Result<Self, &'static str> {
3119 value.parse()
3120 }
3121}
3122impl std::convert::TryFrom<&String> for BranchProtectionRuleDeletedAction {
3123 type Error = &'static str;
3124
3125 fn try_from(value: &String) -> Result<Self, &'static str> {
3126 value.parse()
3127 }
3128}
3129impl std::convert::TryFrom<String> for BranchProtectionRuleDeletedAction {
3130 type Error = &'static str;
3131
3132 fn try_from(value: String) -> Result<Self, &'static str> {
3133 value.parse()
3134 }
3135}
3136#[derive(Clone, Debug, Deserialize, Serialize)]
3138#[serde(deny_unknown_fields)]
3139pub struct BranchProtectionRuleEdited {
3140 pub action: BranchProtectionRuleEditedAction,
3141 #[serde(default, skip_serializing_if = "Option::is_none")]
3142 pub changes: Option<BranchProtectionRuleEditedChanges>,
3143 #[serde(default, skip_serializing_if = "Option::is_none")]
3144 pub installation: Option<InstallationLite>,
3145 #[serde(default, skip_serializing_if = "Option::is_none")]
3146 pub organization: Option<Organization>,
3147 pub repository: Repository,
3148 pub rule: BranchProtectionRule,
3149 pub sender: User,
3150}
3151impl From<&BranchProtectionRuleEdited> for BranchProtectionRuleEdited {
3152 fn from(value: &BranchProtectionRuleEdited) -> Self {
3153 value.clone()
3154 }
3155}
3156#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
3157pub enum BranchProtectionRuleEditedAction {
3158 #[serde(rename = "edited")]
3159 Edited,
3160}
3161impl From<&BranchProtectionRuleEditedAction> for BranchProtectionRuleEditedAction {
3162 fn from(value: &BranchProtectionRuleEditedAction) -> Self {
3163 value.clone()
3164 }
3165}
3166impl ToString for BranchProtectionRuleEditedAction {
3167 fn to_string(&self) -> String {
3168 match *self {
3169 Self::Edited => "edited".to_string(),
3170 }
3171 }
3172}
3173impl std::str::FromStr for BranchProtectionRuleEditedAction {
3174 type Err = &'static str;
3175
3176 fn from_str(value: &str) -> Result<Self, &'static str> {
3177 match value {
3178 "edited" => Ok(Self::Edited),
3179 _ => Err("invalid value"),
3180 }
3181 }
3182}
3183impl std::convert::TryFrom<&str> for BranchProtectionRuleEditedAction {
3184 type Error = &'static str;
3185
3186 fn try_from(value: &str) -> Result<Self, &'static str> {
3187 value.parse()
3188 }
3189}
3190impl std::convert::TryFrom<&String> for BranchProtectionRuleEditedAction {
3191 type Error = &'static str;
3192
3193 fn try_from(value: &String) -> Result<Self, &'static str> {
3194 value.parse()
3195 }
3196}
3197impl std::convert::TryFrom<String> for BranchProtectionRuleEditedAction {
3198 type Error = &'static str;
3199
3200 fn try_from(value: String) -> Result<Self, &'static str> {
3201 value.parse()
3202 }
3203}
3204#[derive(Clone, Debug, Deserialize, Serialize)]
3206#[serde(deny_unknown_fields)]
3207pub struct BranchProtectionRuleEditedChanges {
3208 #[serde(default, skip_serializing_if = "Option::is_none")]
3209 pub admin_enforced: Option<BranchProtectionRuleEditedChangesAdminEnforced>,
3210 #[serde(default, skip_serializing_if = "Option::is_none")]
3211 pub allow_deletions_enforcement_level:
3212 Option<BranchProtectionRuleEditedChangesAllowDeletionsEnforcementLevel>,
3213 #[serde(default, skip_serializing_if = "Option::is_none")]
3214 pub allow_force_pushes_enforcement_level:
3215 Option<BranchProtectionRuleEditedChangesAllowForcePushesEnforcementLevel>,
3216 #[serde(default, skip_serializing_if = "Option::is_none")]
3217 pub authorized_actor_names: Option<BranchProtectionRuleEditedChangesAuthorizedActorNames>,
3218 #[serde(default, skip_serializing_if = "Option::is_none")]
3219 pub authorized_actors_only: Option<BranchProtectionRuleEditedChangesAuthorizedActorsOnly>,
3220 #[serde(default, skip_serializing_if = "Option::is_none")]
3221 pub authorized_dismissal_actors_only:
3222 Option<BranchProtectionRuleEditedChangesAuthorizedDismissalActorsOnly>,
3223 #[serde(default, skip_serializing_if = "Option::is_none")]
3224 pub dismiss_stale_reviews_on_push:
3225 Option<BranchProtectionRuleEditedChangesDismissStaleReviewsOnPush>,
3226 #[serde(default, skip_serializing_if = "Option::is_none")]
3227 pub linear_history_requirement_enforcement_level:
3228 Option<BranchProtectionRuleEditedChangesLinearHistoryRequirementEnforcementLevel>,
3229 #[serde(default, skip_serializing_if = "Option::is_none")]
3230 pub pull_request_reviews_enforcement_level:
3231 Option<BranchProtectionRuleEditedChangesPullRequestReviewsEnforcementLevel>,
3232 #[serde(default, skip_serializing_if = "Option::is_none")]
3233 pub require_code_owner_review: Option<BranchProtectionRuleEditedChangesRequireCodeOwnerReview>,
3234 #[serde(default, skip_serializing_if = "Option::is_none")]
3235 pub required_approving_review_count:
3236 Option<BranchProtectionRuleEditedChangesRequiredApprovingReviewCount>,
3237 #[serde(default, skip_serializing_if = "Option::is_none")]
3238 pub required_conversation_resolution_level:
3239 Option<BranchProtectionRuleEditedChangesRequiredConversationResolutionLevel>,
3240 #[serde(default, skip_serializing_if = "Option::is_none")]
3241 pub required_deployments_enforcement_level:
3242 Option<BranchProtectionRuleEditedChangesRequiredDeploymentsEnforcementLevel>,
3243 #[serde(default, skip_serializing_if = "Option::is_none")]
3244 pub required_status_checks: Option<BranchProtectionRuleEditedChangesRequiredStatusChecks>,
3245 #[serde(default, skip_serializing_if = "Option::is_none")]
3246 pub required_status_checks_enforcement_level:
3247 Option<BranchProtectionRuleEditedChangesRequiredStatusChecksEnforcementLevel>,
3248 #[serde(default, skip_serializing_if = "Option::is_none")]
3249 pub signature_requirement_enforcement_level:
3250 Option<BranchProtectionRuleEditedChangesSignatureRequirementEnforcementLevel>,
3251}
3252impl From<&BranchProtectionRuleEditedChanges> for BranchProtectionRuleEditedChanges {
3253 fn from(value: &BranchProtectionRuleEditedChanges) -> Self {
3254 value.clone()
3255 }
3256}
3257#[derive(Clone, Debug, Deserialize, Serialize)]
3258#[serde(deny_unknown_fields)]
3259pub struct BranchProtectionRuleEditedChangesAdminEnforced {
3260 pub from: BranchProtectionRuleBoolean,
3261}
3262impl From<&BranchProtectionRuleEditedChangesAdminEnforced>
3263 for BranchProtectionRuleEditedChangesAdminEnforced
3264{
3265 fn from(value: &BranchProtectionRuleEditedChangesAdminEnforced) -> Self {
3266 value.clone()
3267 }
3268}
3269#[derive(Clone, Debug, Deserialize, Serialize)]
3270#[serde(deny_unknown_fields)]
3271pub struct BranchProtectionRuleEditedChangesAllowDeletionsEnforcementLevel {
3272 pub from: Option<BranchProtectionRuleEnforcementLevel>,
3273}
3274impl From<&BranchProtectionRuleEditedChangesAllowDeletionsEnforcementLevel>
3275 for BranchProtectionRuleEditedChangesAllowDeletionsEnforcementLevel
3276{
3277 fn from(value: &BranchProtectionRuleEditedChangesAllowDeletionsEnforcementLevel) -> Self {
3278 value.clone()
3279 }
3280}
3281#[derive(Clone, Debug, Deserialize, Serialize)]
3282#[serde(deny_unknown_fields)]
3283pub struct BranchProtectionRuleEditedChangesAllowForcePushesEnforcementLevel {
3284 pub from: BranchProtectionRuleEnforcementLevel,
3285}
3286impl From<&BranchProtectionRuleEditedChangesAllowForcePushesEnforcementLevel>
3287 for BranchProtectionRuleEditedChangesAllowForcePushesEnforcementLevel
3288{
3289 fn from(value: &BranchProtectionRuleEditedChangesAllowForcePushesEnforcementLevel) -> Self {
3290 value.clone()
3291 }
3292}
3293#[derive(Clone, Debug, Deserialize, Serialize)]
3294#[serde(deny_unknown_fields)]
3295pub struct BranchProtectionRuleEditedChangesAuthorizedActorNames {
3296 pub from: BranchProtectionRuleArray,
3297}
3298impl From<&BranchProtectionRuleEditedChangesAuthorizedActorNames>
3299 for BranchProtectionRuleEditedChangesAuthorizedActorNames
3300{
3301 fn from(value: &BranchProtectionRuleEditedChangesAuthorizedActorNames) -> Self {
3302 value.clone()
3303 }
3304}
3305#[derive(Clone, Debug, Deserialize, Serialize)]
3306#[serde(deny_unknown_fields)]
3307pub struct BranchProtectionRuleEditedChangesAuthorizedActorsOnly {
3308 pub from: BranchProtectionRuleBoolean,
3309}
3310impl From<&BranchProtectionRuleEditedChangesAuthorizedActorsOnly>
3311 for BranchProtectionRuleEditedChangesAuthorizedActorsOnly
3312{
3313 fn from(value: &BranchProtectionRuleEditedChangesAuthorizedActorsOnly) -> Self {
3314 value.clone()
3315 }
3316}
3317#[derive(Clone, Debug, Deserialize, Serialize)]
3318#[serde(deny_unknown_fields)]
3319pub struct BranchProtectionRuleEditedChangesAuthorizedDismissalActorsOnly {
3320 pub from: Option<BranchProtectionRuleBoolean>,
3321}
3322impl From<&BranchProtectionRuleEditedChangesAuthorizedDismissalActorsOnly>
3323 for BranchProtectionRuleEditedChangesAuthorizedDismissalActorsOnly
3324{
3325 fn from(value: &BranchProtectionRuleEditedChangesAuthorizedDismissalActorsOnly) -> Self {
3326 value.clone()
3327 }
3328}
3329#[derive(Clone, Debug, Deserialize, Serialize)]
3330#[serde(deny_unknown_fields)]
3331pub struct BranchProtectionRuleEditedChangesDismissStaleReviewsOnPush {
3332 pub from: BranchProtectionRuleBoolean,
3333}
3334impl From<&BranchProtectionRuleEditedChangesDismissStaleReviewsOnPush>
3335 for BranchProtectionRuleEditedChangesDismissStaleReviewsOnPush
3336{
3337 fn from(value: &BranchProtectionRuleEditedChangesDismissStaleReviewsOnPush) -> Self {
3338 value.clone()
3339 }
3340}
3341#[derive(Clone, Debug, Deserialize, Serialize)]
3342#[serde(deny_unknown_fields)]
3343pub struct BranchProtectionRuleEditedChangesLinearHistoryRequirementEnforcementLevel {
3344 pub from: BranchProtectionRuleEnforcementLevel,
3345}
3346impl From<&BranchProtectionRuleEditedChangesLinearHistoryRequirementEnforcementLevel>
3347 for BranchProtectionRuleEditedChangesLinearHistoryRequirementEnforcementLevel
3348{
3349 fn from(
3350 value: &BranchProtectionRuleEditedChangesLinearHistoryRequirementEnforcementLevel,
3351 ) -> Self {
3352 value.clone()
3353 }
3354}
3355#[derive(Clone, Debug, Deserialize, Serialize)]
3356#[serde(deny_unknown_fields)]
3357pub struct BranchProtectionRuleEditedChangesPullRequestReviewsEnforcementLevel {
3358 pub from: BranchProtectionRuleEnforcementLevel,
3359}
3360impl From<&BranchProtectionRuleEditedChangesPullRequestReviewsEnforcementLevel>
3361 for BranchProtectionRuleEditedChangesPullRequestReviewsEnforcementLevel
3362{
3363 fn from(value: &BranchProtectionRuleEditedChangesPullRequestReviewsEnforcementLevel) -> Self {
3364 value.clone()
3365 }
3366}
3367#[derive(Clone, Debug, Deserialize, Serialize)]
3368#[serde(deny_unknown_fields)]
3369pub struct BranchProtectionRuleEditedChangesRequireCodeOwnerReview {
3370 pub from: BranchProtectionRuleBoolean,
3371}
3372impl From<&BranchProtectionRuleEditedChangesRequireCodeOwnerReview>
3373 for BranchProtectionRuleEditedChangesRequireCodeOwnerReview
3374{
3375 fn from(value: &BranchProtectionRuleEditedChangesRequireCodeOwnerReview) -> Self {
3376 value.clone()
3377 }
3378}
3379#[derive(Clone, Debug, Deserialize, Serialize)]
3380#[serde(deny_unknown_fields)]
3381pub struct BranchProtectionRuleEditedChangesRequiredApprovingReviewCount {
3382 pub from: BranchProtectionRuleNumber,
3383}
3384impl From<&BranchProtectionRuleEditedChangesRequiredApprovingReviewCount>
3385 for BranchProtectionRuleEditedChangesRequiredApprovingReviewCount
3386{
3387 fn from(value: &BranchProtectionRuleEditedChangesRequiredApprovingReviewCount) -> Self {
3388 value.clone()
3389 }
3390}
3391#[derive(Clone, Debug, Deserialize, Serialize)]
3392#[serde(deny_unknown_fields)]
3393pub struct BranchProtectionRuleEditedChangesRequiredConversationResolutionLevel {
3394 pub from: BranchProtectionRuleEnforcementLevel,
3395}
3396impl From<&BranchProtectionRuleEditedChangesRequiredConversationResolutionLevel>
3397 for BranchProtectionRuleEditedChangesRequiredConversationResolutionLevel
3398{
3399 fn from(value: &BranchProtectionRuleEditedChangesRequiredConversationResolutionLevel) -> Self {
3400 value.clone()
3401 }
3402}
3403#[derive(Clone, Debug, Deserialize, Serialize)]
3404#[serde(deny_unknown_fields)]
3405pub struct BranchProtectionRuleEditedChangesRequiredDeploymentsEnforcementLevel {
3406 pub from: BranchProtectionRuleEnforcementLevel,
3407}
3408impl From<&BranchProtectionRuleEditedChangesRequiredDeploymentsEnforcementLevel>
3409 for BranchProtectionRuleEditedChangesRequiredDeploymentsEnforcementLevel
3410{
3411 fn from(value: &BranchProtectionRuleEditedChangesRequiredDeploymentsEnforcementLevel) -> Self {
3412 value.clone()
3413 }
3414}
3415#[derive(Clone, Debug, Deserialize, Serialize)]
3416#[serde(deny_unknown_fields)]
3417pub struct BranchProtectionRuleEditedChangesRequiredStatusChecks {
3418 pub from: BranchProtectionRuleArray,
3419}
3420impl From<&BranchProtectionRuleEditedChangesRequiredStatusChecks>
3421 for BranchProtectionRuleEditedChangesRequiredStatusChecks
3422{
3423 fn from(value: &BranchProtectionRuleEditedChangesRequiredStatusChecks) -> Self {
3424 value.clone()
3425 }
3426}
3427#[derive(Clone, Debug, Deserialize, Serialize)]
3428#[serde(deny_unknown_fields)]
3429pub struct BranchProtectionRuleEditedChangesRequiredStatusChecksEnforcementLevel {
3430 pub from: BranchProtectionRuleEnforcementLevel,
3431}
3432impl From<&BranchProtectionRuleEditedChangesRequiredStatusChecksEnforcementLevel>
3433 for BranchProtectionRuleEditedChangesRequiredStatusChecksEnforcementLevel
3434{
3435 fn from(value: &BranchProtectionRuleEditedChangesRequiredStatusChecksEnforcementLevel) -> Self {
3436 value.clone()
3437 }
3438}
3439#[derive(Clone, Debug, Deserialize, Serialize)]
3440#[serde(deny_unknown_fields)]
3441pub struct BranchProtectionRuleEditedChangesSignatureRequirementEnforcementLevel {
3442 pub from: BranchProtectionRuleEnforcementLevel,
3443}
3444impl From<&BranchProtectionRuleEditedChangesSignatureRequirementEnforcementLevel>
3445 for BranchProtectionRuleEditedChangesSignatureRequirementEnforcementLevel
3446{
3447 fn from(value: &BranchProtectionRuleEditedChangesSignatureRequirementEnforcementLevel) -> Self {
3448 value.clone()
3449 }
3450}
3451#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
3452pub enum BranchProtectionRuleEnforcementLevel {
3453 #[serde(rename = "off")]
3454 Off,
3455 #[serde(rename = "non_admins")]
3456 NonAdmins,
3457 #[serde(rename = "everyone")]
3458 Everyone,
3459}
3460impl From<&BranchProtectionRuleEnforcementLevel> for BranchProtectionRuleEnforcementLevel {
3461 fn from(value: &BranchProtectionRuleEnforcementLevel) -> Self {
3462 value.clone()
3463 }
3464}
3465impl ToString for BranchProtectionRuleEnforcementLevel {
3466 fn to_string(&self) -> String {
3467 match *self {
3468 Self::Off => "off".to_string(),
3469 Self::NonAdmins => "non_admins".to_string(),
3470 Self::Everyone => "everyone".to_string(),
3471 }
3472 }
3473}
3474impl std::str::FromStr for BranchProtectionRuleEnforcementLevel {
3475 type Err = &'static str;
3476
3477 fn from_str(value: &str) -> Result<Self, &'static str> {
3478 match value {
3479 "off" => Ok(Self::Off),
3480 "non_admins" => Ok(Self::NonAdmins),
3481 "everyone" => Ok(Self::Everyone),
3482 _ => Err("invalid value"),
3483 }
3484 }
3485}
3486impl std::convert::TryFrom<&str> for BranchProtectionRuleEnforcementLevel {
3487 type Error = &'static str;
3488
3489 fn try_from(value: &str) -> Result<Self, &'static str> {
3490 value.parse()
3491 }
3492}
3493impl std::convert::TryFrom<&String> for BranchProtectionRuleEnforcementLevel {
3494 type Error = &'static str;
3495
3496 fn try_from(value: &String) -> Result<Self, &'static str> {
3497 value.parse()
3498 }
3499}
3500impl std::convert::TryFrom<String> for BranchProtectionRuleEnforcementLevel {
3501 type Error = &'static str;
3502
3503 fn try_from(value: String) -> Result<Self, &'static str> {
3504 value.parse()
3505 }
3506}
3507#[derive(Clone, Debug, Deserialize, Serialize)]
3508#[serde(untagged)]
3509pub enum BranchProtectionRuleEvent {
3510 Created(BranchProtectionRuleCreated),
3511 Deleted(BranchProtectionRuleDeleted),
3512 Edited(BranchProtectionRuleEdited),
3513}
3514impl From<&BranchProtectionRuleEvent> for BranchProtectionRuleEvent {
3515 fn from(value: &BranchProtectionRuleEvent) -> Self {
3516 value.clone()
3517 }
3518}
3519impl From<BranchProtectionRuleCreated> for BranchProtectionRuleEvent {
3520 fn from(value: BranchProtectionRuleCreated) -> Self {
3521 Self::Created(value)
3522 }
3523}
3524impl From<BranchProtectionRuleDeleted> for BranchProtectionRuleEvent {
3525 fn from(value: BranchProtectionRuleDeleted) -> Self {
3526 Self::Deleted(value)
3527 }
3528}
3529impl From<BranchProtectionRuleEdited> for BranchProtectionRuleEvent {
3530 fn from(value: BranchProtectionRuleEdited) -> Self {
3531 Self::Edited(value)
3532 }
3533}
3534#[derive(Clone, Debug, Deserialize, Serialize)]
3535pub struct BranchProtectionRuleNumber(pub i64);
3536impl std::ops::Deref for BranchProtectionRuleNumber {
3537 type Target = i64;
3538
3539 fn deref(&self) -> &i64 {
3540 &self.0
3541 }
3542}
3543impl From<BranchProtectionRuleNumber> for i64 {
3544 fn from(value: BranchProtectionRuleNumber) -> Self {
3545 value.0
3546 }
3547}
3548impl From<&BranchProtectionRuleNumber> for BranchProtectionRuleNumber {
3549 fn from(value: &BranchProtectionRuleNumber) -> Self {
3550 value.clone()
3551 }
3552}
3553impl From<i64> for BranchProtectionRuleNumber {
3554 fn from(value: i64) -> Self {
3555 Self(value)
3556 }
3557}
3558impl std::str::FromStr for BranchProtectionRuleNumber {
3559 type Err = <i64 as std::str::FromStr>::Err;
3560
3561 fn from_str(value: &str) -> Result<Self, Self::Err> {
3562 Ok(Self(value.parse()?))
3563 }
3564}
3565impl std::convert::TryFrom<&str> for BranchProtectionRuleNumber {
3566 type Error = <i64 as std::str::FromStr>::Err;
3567
3568 fn try_from(value: &str) -> Result<Self, Self::Error> {
3569 value.parse()
3570 }
3571}
3572impl std::convert::TryFrom<&String> for BranchProtectionRuleNumber {
3573 type Error = <i64 as std::str::FromStr>::Err;
3574
3575 fn try_from(value: &String) -> Result<Self, Self::Error> {
3576 value.parse()
3577 }
3578}
3579impl std::convert::TryFrom<String> for BranchProtectionRuleNumber {
3580 type Error = <i64 as std::str::FromStr>::Err;
3581
3582 fn try_from(value: String) -> Result<Self, Self::Error> {
3583 value.parse()
3584 }
3585}
3586impl ToString for BranchProtectionRuleNumber {
3587 fn to_string(&self) -> String {
3588 self.0.to_string()
3589 }
3590}
3591#[derive(Clone, Debug, Deserialize, Serialize)]
3592#[serde(deny_unknown_fields)]
3593pub struct CheckRunCompleted {
3594 pub action: CheckRunCompletedAction,
3595 pub check_run: CheckRunCompletedCheckRun,
3596 #[serde(default, skip_serializing_if = "Option::is_none")]
3597 pub installation: Option<InstallationLite>,
3598 #[serde(default, skip_serializing_if = "Option::is_none")]
3599 pub organization: Option<Organization>,
3600 pub repository: Repository,
3601 #[serde(default, skip_serializing_if = "Option::is_none")]
3603 pub requested_action: Option<CheckRunCompletedRequestedAction>,
3604 pub sender: User,
3605}
3606impl From<&CheckRunCompleted> for CheckRunCompleted {
3607 fn from(value: &CheckRunCompleted) -> Self {
3608 value.clone()
3609 }
3610}
3611#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
3612pub enum CheckRunCompletedAction {
3613 #[serde(rename = "completed")]
3614 Completed,
3615}
3616impl From<&CheckRunCompletedAction> for CheckRunCompletedAction {
3617 fn from(value: &CheckRunCompletedAction) -> Self {
3618 value.clone()
3619 }
3620}
3621impl ToString for CheckRunCompletedAction {
3622 fn to_string(&self) -> String {
3623 match *self {
3624 Self::Completed => "completed".to_string(),
3625 }
3626 }
3627}
3628impl std::str::FromStr for CheckRunCompletedAction {
3629 type Err = &'static str;
3630
3631 fn from_str(value: &str) -> Result<Self, &'static str> {
3632 match value {
3633 "completed" => Ok(Self::Completed),
3634 _ => Err("invalid value"),
3635 }
3636 }
3637}
3638impl std::convert::TryFrom<&str> for CheckRunCompletedAction {
3639 type Error = &'static str;
3640
3641 fn try_from(value: &str) -> Result<Self, &'static str> {
3642 value.parse()
3643 }
3644}
3645impl std::convert::TryFrom<&String> for CheckRunCompletedAction {
3646 type Error = &'static str;
3647
3648 fn try_from(value: &String) -> Result<Self, &'static str> {
3649 value.parse()
3650 }
3651}
3652impl std::convert::TryFrom<String> for CheckRunCompletedAction {
3653 type Error = &'static str;
3654
3655 fn try_from(value: String) -> Result<Self, &'static str> {
3656 value.parse()
3657 }
3658}
3659#[derive(Clone, Debug, Deserialize, Serialize)]
3661#[serde(deny_unknown_fields)]
3662pub struct CheckRunCompletedCheckRun {
3663 pub app: App,
3664 pub check_suite: CheckRunCompletedCheckRunCheckSuite,
3665 pub completed_at: chrono::DateTime<chrono::offset::Utc>,
3667 pub conclusion: Option<CheckRunCompletedCheckRunConclusion>,
3671 #[serde(default, skip_serializing_if = "Option::is_none")]
3672 pub deployment: Option<CheckRunDeployment>,
3673 #[serde(default, skip_serializing_if = "Option::is_none")]
3674 pub details_url: Option<String>,
3675 pub external_id: String,
3676 pub head_sha: String,
3678 pub html_url: String,
3679 pub id: i64,
3681 pub name: String,
3683 #[serde(default, skip_serializing_if = "Option::is_none")]
3684 pub node_id: Option<String>,
3685 pub output: CheckRunCompletedCheckRunOutput,
3686 pub pull_requests: Vec<CheckRunPullRequest>,
3687 pub started_at: chrono::DateTime<chrono::offset::Utc>,
3689 pub status: CheckRunCompletedCheckRunStatus,
3692 pub url: String,
3693}
3694impl From<&CheckRunCompletedCheckRun> for CheckRunCompletedCheckRun {
3695 fn from(value: &CheckRunCompletedCheckRun) -> Self {
3696 value.clone()
3697 }
3698}
3699#[derive(Clone, Debug, Deserialize, Serialize)]
3700#[serde(deny_unknown_fields)]
3701pub struct CheckRunCompletedCheckRunCheckSuite {
3702 pub after: Option<String>,
3703 pub app: App,
3704 pub before: Option<String>,
3705 pub conclusion: Option<CheckRunCompletedCheckRunCheckSuiteConclusion>,
3706 pub created_at: chrono::DateTime<chrono::offset::Utc>,
3707 #[serde(default, skip_serializing_if = "Option::is_none")]
3708 pub deployment: Option<CheckRunDeployment>,
3709 pub head_branch: Option<String>,
3710 pub head_sha: String,
3712 pub id: i64,
3714 #[serde(default, skip_serializing_if = "Option::is_none")]
3715 pub node_id: Option<String>,
3716 pub pull_requests: Vec<CheckRunPullRequest>,
3725 pub status: CheckRunCompletedCheckRunCheckSuiteStatus,
3726 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
3727 pub url: String,
3728}
3729impl From<&CheckRunCompletedCheckRunCheckSuite> for CheckRunCompletedCheckRunCheckSuite {
3730 fn from(value: &CheckRunCompletedCheckRunCheckSuite) -> Self {
3731 value.clone()
3732 }
3733}
3734#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
3735pub enum CheckRunCompletedCheckRunCheckSuiteConclusion {
3736 #[serde(rename = "success")]
3737 Success,
3738 #[serde(rename = "failure")]
3739 Failure,
3740 #[serde(rename = "neutral")]
3741 Neutral,
3742 #[serde(rename = "cancelled")]
3743 Cancelled,
3744 #[serde(rename = "timed_out")]
3745 TimedOut,
3746 #[serde(rename = "action_required")]
3747 ActionRequired,
3748 #[serde(rename = "stale")]
3749 Stale,
3750}
3751impl From<&CheckRunCompletedCheckRunCheckSuiteConclusion>
3752 for CheckRunCompletedCheckRunCheckSuiteConclusion
3753{
3754 fn from(value: &CheckRunCompletedCheckRunCheckSuiteConclusion) -> Self {
3755 value.clone()
3756 }
3757}
3758impl ToString for CheckRunCompletedCheckRunCheckSuiteConclusion {
3759 fn to_string(&self) -> String {
3760 match *self {
3761 Self::Success => "success".to_string(),
3762 Self::Failure => "failure".to_string(),
3763 Self::Neutral => "neutral".to_string(),
3764 Self::Cancelled => "cancelled".to_string(),
3765 Self::TimedOut => "timed_out".to_string(),
3766 Self::ActionRequired => "action_required".to_string(),
3767 Self::Stale => "stale".to_string(),
3768 }
3769 }
3770}
3771impl std::str::FromStr for CheckRunCompletedCheckRunCheckSuiteConclusion {
3772 type Err = &'static str;
3773
3774 fn from_str(value: &str) -> Result<Self, &'static str> {
3775 match value {
3776 "success" => Ok(Self::Success),
3777 "failure" => Ok(Self::Failure),
3778 "neutral" => Ok(Self::Neutral),
3779 "cancelled" => Ok(Self::Cancelled),
3780 "timed_out" => Ok(Self::TimedOut),
3781 "action_required" => Ok(Self::ActionRequired),
3782 "stale" => Ok(Self::Stale),
3783 _ => Err("invalid value"),
3784 }
3785 }
3786}
3787impl std::convert::TryFrom<&str> for CheckRunCompletedCheckRunCheckSuiteConclusion {
3788 type Error = &'static str;
3789
3790 fn try_from(value: &str) -> Result<Self, &'static str> {
3791 value.parse()
3792 }
3793}
3794impl std::convert::TryFrom<&String> for CheckRunCompletedCheckRunCheckSuiteConclusion {
3795 type Error = &'static str;
3796
3797 fn try_from(value: &String) -> Result<Self, &'static str> {
3798 value.parse()
3799 }
3800}
3801impl std::convert::TryFrom<String> for CheckRunCompletedCheckRunCheckSuiteConclusion {
3802 type Error = &'static str;
3803
3804 fn try_from(value: String) -> Result<Self, &'static str> {
3805 value.parse()
3806 }
3807}
3808#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
3809pub enum CheckRunCompletedCheckRunCheckSuiteStatus {
3810 #[serde(rename = "in_progress")]
3811 InProgress,
3812 #[serde(rename = "completed")]
3813 Completed,
3814 #[serde(rename = "queued")]
3815 Queued,
3816}
3817impl From<&CheckRunCompletedCheckRunCheckSuiteStatus>
3818 for CheckRunCompletedCheckRunCheckSuiteStatus
3819{
3820 fn from(value: &CheckRunCompletedCheckRunCheckSuiteStatus) -> Self {
3821 value.clone()
3822 }
3823}
3824impl ToString for CheckRunCompletedCheckRunCheckSuiteStatus {
3825 fn to_string(&self) -> String {
3826 match *self {
3827 Self::InProgress => "in_progress".to_string(),
3828 Self::Completed => "completed".to_string(),
3829 Self::Queued => "queued".to_string(),
3830 }
3831 }
3832}
3833impl std::str::FromStr for CheckRunCompletedCheckRunCheckSuiteStatus {
3834 type Err = &'static str;
3835
3836 fn from_str(value: &str) -> Result<Self, &'static str> {
3837 match value {
3838 "in_progress" => Ok(Self::InProgress),
3839 "completed" => Ok(Self::Completed),
3840 "queued" => Ok(Self::Queued),
3841 _ => Err("invalid value"),
3842 }
3843 }
3844}
3845impl std::convert::TryFrom<&str> for CheckRunCompletedCheckRunCheckSuiteStatus {
3846 type Error = &'static str;
3847
3848 fn try_from(value: &str) -> Result<Self, &'static str> {
3849 value.parse()
3850 }
3851}
3852impl std::convert::TryFrom<&String> for CheckRunCompletedCheckRunCheckSuiteStatus {
3853 type Error = &'static str;
3854
3855 fn try_from(value: &String) -> Result<Self, &'static str> {
3856 value.parse()
3857 }
3858}
3859impl std::convert::TryFrom<String> for CheckRunCompletedCheckRunCheckSuiteStatus {
3860 type Error = &'static str;
3861
3862 fn try_from(value: String) -> Result<Self, &'static str> {
3863 value.parse()
3864 }
3865}
3866#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
3870pub enum CheckRunCompletedCheckRunConclusion {
3871 #[serde(rename = "success")]
3872 Success,
3873 #[serde(rename = "failure")]
3874 Failure,
3875 #[serde(rename = "neutral")]
3876 Neutral,
3877 #[serde(rename = "cancelled")]
3878 Cancelled,
3879 #[serde(rename = "timed_out")]
3880 TimedOut,
3881 #[serde(rename = "action_required")]
3882 ActionRequired,
3883 #[serde(rename = "stale")]
3884 Stale,
3885 #[serde(rename = "skipped")]
3886 Skipped,
3887}
3888impl From<&CheckRunCompletedCheckRunConclusion> for CheckRunCompletedCheckRunConclusion {
3889 fn from(value: &CheckRunCompletedCheckRunConclusion) -> Self {
3890 value.clone()
3891 }
3892}
3893impl ToString for CheckRunCompletedCheckRunConclusion {
3894 fn to_string(&self) -> String {
3895 match *self {
3896 Self::Success => "success".to_string(),
3897 Self::Failure => "failure".to_string(),
3898 Self::Neutral => "neutral".to_string(),
3899 Self::Cancelled => "cancelled".to_string(),
3900 Self::TimedOut => "timed_out".to_string(),
3901 Self::ActionRequired => "action_required".to_string(),
3902 Self::Stale => "stale".to_string(),
3903 Self::Skipped => "skipped".to_string(),
3904 }
3905 }
3906}
3907impl std::str::FromStr for CheckRunCompletedCheckRunConclusion {
3908 type Err = &'static str;
3909
3910 fn from_str(value: &str) -> Result<Self, &'static str> {
3911 match value {
3912 "success" => Ok(Self::Success),
3913 "failure" => Ok(Self::Failure),
3914 "neutral" => Ok(Self::Neutral),
3915 "cancelled" => Ok(Self::Cancelled),
3916 "timed_out" => Ok(Self::TimedOut),
3917 "action_required" => Ok(Self::ActionRequired),
3918 "stale" => Ok(Self::Stale),
3919 "skipped" => Ok(Self::Skipped),
3920 _ => Err("invalid value"),
3921 }
3922 }
3923}
3924impl std::convert::TryFrom<&str> for CheckRunCompletedCheckRunConclusion {
3925 type Error = &'static str;
3926
3927 fn try_from(value: &str) -> Result<Self, &'static str> {
3928 value.parse()
3929 }
3930}
3931impl std::convert::TryFrom<&String> for CheckRunCompletedCheckRunConclusion {
3932 type Error = &'static str;
3933
3934 fn try_from(value: &String) -> Result<Self, &'static str> {
3935 value.parse()
3936 }
3937}
3938impl std::convert::TryFrom<String> for CheckRunCompletedCheckRunConclusion {
3939 type Error = &'static str;
3940
3941 fn try_from(value: String) -> Result<Self, &'static str> {
3942 value.parse()
3943 }
3944}
3945#[derive(Clone, Debug, Deserialize, Serialize)]
3946#[serde(deny_unknown_fields)]
3947pub struct CheckRunCompletedCheckRunOutput {
3948 pub annotations_count: i64,
3949 pub annotations_url: String,
3950 pub summary: Option<String>,
3951 pub text: Option<String>,
3952 #[serde(default, skip_serializing_if = "Option::is_none")]
3953 pub title: Option<String>,
3954}
3955impl From<&CheckRunCompletedCheckRunOutput> for CheckRunCompletedCheckRunOutput {
3956 fn from(value: &CheckRunCompletedCheckRunOutput) -> Self {
3957 value.clone()
3958 }
3959}
3960#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
3963pub enum CheckRunCompletedCheckRunStatus {
3964 #[serde(rename = "completed")]
3965 Completed,
3966}
3967impl From<&CheckRunCompletedCheckRunStatus> for CheckRunCompletedCheckRunStatus {
3968 fn from(value: &CheckRunCompletedCheckRunStatus) -> Self {
3969 value.clone()
3970 }
3971}
3972impl ToString for CheckRunCompletedCheckRunStatus {
3973 fn to_string(&self) -> String {
3974 match *self {
3975 Self::Completed => "completed".to_string(),
3976 }
3977 }
3978}
3979impl std::str::FromStr for CheckRunCompletedCheckRunStatus {
3980 type Err = &'static str;
3981
3982 fn from_str(value: &str) -> Result<Self, &'static str> {
3983 match value {
3984 "completed" => Ok(Self::Completed),
3985 _ => Err("invalid value"),
3986 }
3987 }
3988}
3989impl std::convert::TryFrom<&str> for CheckRunCompletedCheckRunStatus {
3990 type Error = &'static str;
3991
3992 fn try_from(value: &str) -> Result<Self, &'static str> {
3993 value.parse()
3994 }
3995}
3996impl std::convert::TryFrom<&String> for CheckRunCompletedCheckRunStatus {
3997 type Error = &'static str;
3998
3999 fn try_from(value: &String) -> Result<Self, &'static str> {
4000 value.parse()
4001 }
4002}
4003impl std::convert::TryFrom<String> for CheckRunCompletedCheckRunStatus {
4004 type Error = &'static str;
4005
4006 fn try_from(value: String) -> Result<Self, &'static str> {
4007 value.parse()
4008 }
4009}
4010#[derive(Clone, Debug, Deserialize, Serialize)]
4012#[serde(deny_unknown_fields)]
4013pub struct CheckRunCompletedRequestedAction {
4014 #[serde(default, skip_serializing_if = "Option::is_none")]
4016 pub identifier: Option<String>,
4017}
4018impl From<&CheckRunCompletedRequestedAction> for CheckRunCompletedRequestedAction {
4019 fn from(value: &CheckRunCompletedRequestedAction) -> Self {
4020 value.clone()
4021 }
4022}
4023#[derive(Clone, Debug, Deserialize, Serialize)]
4024#[serde(deny_unknown_fields)]
4025pub struct CheckRunCreated {
4026 pub action: CheckRunCreatedAction,
4027 pub check_run: CheckRunCreatedCheckRun,
4028 #[serde(default, skip_serializing_if = "Option::is_none")]
4029 pub installation: Option<InstallationLite>,
4030 #[serde(default, skip_serializing_if = "Option::is_none")]
4031 pub organization: Option<Organization>,
4032 pub repository: Repository,
4033 #[serde(default, skip_serializing_if = "Option::is_none")]
4035 pub requested_action: Option<CheckRunCreatedRequestedAction>,
4036 pub sender: User,
4037}
4038impl From<&CheckRunCreated> for CheckRunCreated {
4039 fn from(value: &CheckRunCreated) -> Self {
4040 value.clone()
4041 }
4042}
4043#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4044pub enum CheckRunCreatedAction {
4045 #[serde(rename = "created")]
4046 Created,
4047}
4048impl From<&CheckRunCreatedAction> for CheckRunCreatedAction {
4049 fn from(value: &CheckRunCreatedAction) -> Self {
4050 value.clone()
4051 }
4052}
4053impl ToString for CheckRunCreatedAction {
4054 fn to_string(&self) -> String {
4055 match *self {
4056 Self::Created => "created".to_string(),
4057 }
4058 }
4059}
4060impl std::str::FromStr for CheckRunCreatedAction {
4061 type Err = &'static str;
4062
4063 fn from_str(value: &str) -> Result<Self, &'static str> {
4064 match value {
4065 "created" => Ok(Self::Created),
4066 _ => Err("invalid value"),
4067 }
4068 }
4069}
4070impl std::convert::TryFrom<&str> for CheckRunCreatedAction {
4071 type Error = &'static str;
4072
4073 fn try_from(value: &str) -> Result<Self, &'static str> {
4074 value.parse()
4075 }
4076}
4077impl std::convert::TryFrom<&String> for CheckRunCreatedAction {
4078 type Error = &'static str;
4079
4080 fn try_from(value: &String) -> Result<Self, &'static str> {
4081 value.parse()
4082 }
4083}
4084impl std::convert::TryFrom<String> for CheckRunCreatedAction {
4085 type Error = &'static str;
4086
4087 fn try_from(value: String) -> Result<Self, &'static str> {
4088 value.parse()
4089 }
4090}
4091#[derive(Clone, Debug, Deserialize, Serialize)]
4093#[serde(deny_unknown_fields)]
4094pub struct CheckRunCreatedCheckRun {
4095 pub app: App,
4096 pub check_suite: CheckRunCreatedCheckRunCheckSuite,
4097 pub completed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
4099 pub conclusion: Option<CheckRunCreatedCheckRunConclusion>,
4103 #[serde(default, skip_serializing_if = "Option::is_none")]
4104 pub deployment: Option<CheckRunDeployment>,
4105 #[serde(default, skip_serializing_if = "Option::is_none")]
4106 pub details_url: Option<String>,
4107 pub external_id: String,
4108 pub head_sha: String,
4110 pub html_url: String,
4111 pub id: i64,
4113 pub name: String,
4115 #[serde(default, skip_serializing_if = "Option::is_none")]
4116 pub node_id: Option<String>,
4117 pub output: CheckRunCreatedCheckRunOutput,
4118 pub pull_requests: Vec<CheckRunPullRequest>,
4119 pub started_at: chrono::DateTime<chrono::offset::Utc>,
4121 pub status: CheckRunCreatedCheckRunStatus,
4124 pub url: String,
4125}
4126impl From<&CheckRunCreatedCheckRun> for CheckRunCreatedCheckRun {
4127 fn from(value: &CheckRunCreatedCheckRun) -> Self {
4128 value.clone()
4129 }
4130}
4131#[derive(Clone, Debug, Deserialize, Serialize)]
4132#[serde(deny_unknown_fields)]
4133pub struct CheckRunCreatedCheckRunCheckSuite {
4134 pub after: Option<String>,
4135 pub app: App,
4136 pub before: Option<String>,
4137 pub conclusion: Option<CheckRunCreatedCheckRunCheckSuiteConclusion>,
4138 pub created_at: chrono::DateTime<chrono::offset::Utc>,
4139 #[serde(default, skip_serializing_if = "Option::is_none")]
4140 pub deployment: Option<CheckRunDeployment>,
4141 pub head_branch: Option<String>,
4142 pub head_sha: String,
4144 pub id: i64,
4146 #[serde(default, skip_serializing_if = "Option::is_none")]
4147 pub node_id: Option<String>,
4148 pub pull_requests: Vec<CheckRunPullRequest>,
4157 pub status: CheckRunCreatedCheckRunCheckSuiteStatus,
4158 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
4159 pub url: String,
4160}
4161impl From<&CheckRunCreatedCheckRunCheckSuite> for CheckRunCreatedCheckRunCheckSuite {
4162 fn from(value: &CheckRunCreatedCheckRunCheckSuite) -> Self {
4163 value.clone()
4164 }
4165}
4166#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4167pub enum CheckRunCreatedCheckRunCheckSuiteConclusion {
4168 #[serde(rename = "success")]
4169 Success,
4170 #[serde(rename = "failure")]
4171 Failure,
4172 #[serde(rename = "neutral")]
4173 Neutral,
4174 #[serde(rename = "cancelled")]
4175 Cancelled,
4176 #[serde(rename = "timed_out")]
4177 TimedOut,
4178 #[serde(rename = "action_required")]
4179 ActionRequired,
4180 #[serde(rename = "stale")]
4181 Stale,
4182}
4183impl From<&CheckRunCreatedCheckRunCheckSuiteConclusion>
4184 for CheckRunCreatedCheckRunCheckSuiteConclusion
4185{
4186 fn from(value: &CheckRunCreatedCheckRunCheckSuiteConclusion) -> Self {
4187 value.clone()
4188 }
4189}
4190impl ToString for CheckRunCreatedCheckRunCheckSuiteConclusion {
4191 fn to_string(&self) -> String {
4192 match *self {
4193 Self::Success => "success".to_string(),
4194 Self::Failure => "failure".to_string(),
4195 Self::Neutral => "neutral".to_string(),
4196 Self::Cancelled => "cancelled".to_string(),
4197 Self::TimedOut => "timed_out".to_string(),
4198 Self::ActionRequired => "action_required".to_string(),
4199 Self::Stale => "stale".to_string(),
4200 }
4201 }
4202}
4203impl std::str::FromStr for CheckRunCreatedCheckRunCheckSuiteConclusion {
4204 type Err = &'static str;
4205
4206 fn from_str(value: &str) -> Result<Self, &'static str> {
4207 match value {
4208 "success" => Ok(Self::Success),
4209 "failure" => Ok(Self::Failure),
4210 "neutral" => Ok(Self::Neutral),
4211 "cancelled" => Ok(Self::Cancelled),
4212 "timed_out" => Ok(Self::TimedOut),
4213 "action_required" => Ok(Self::ActionRequired),
4214 "stale" => Ok(Self::Stale),
4215 _ => Err("invalid value"),
4216 }
4217 }
4218}
4219impl std::convert::TryFrom<&str> for CheckRunCreatedCheckRunCheckSuiteConclusion {
4220 type Error = &'static str;
4221
4222 fn try_from(value: &str) -> Result<Self, &'static str> {
4223 value.parse()
4224 }
4225}
4226impl std::convert::TryFrom<&String> for CheckRunCreatedCheckRunCheckSuiteConclusion {
4227 type Error = &'static str;
4228
4229 fn try_from(value: &String) -> Result<Self, &'static str> {
4230 value.parse()
4231 }
4232}
4233impl std::convert::TryFrom<String> for CheckRunCreatedCheckRunCheckSuiteConclusion {
4234 type Error = &'static str;
4235
4236 fn try_from(value: String) -> Result<Self, &'static str> {
4237 value.parse()
4238 }
4239}
4240#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4241pub enum CheckRunCreatedCheckRunCheckSuiteStatus {
4242 #[serde(rename = "queued")]
4243 Queued,
4244 #[serde(rename = "in_progress")]
4245 InProgress,
4246 #[serde(rename = "completed")]
4247 Completed,
4248}
4249impl From<&CheckRunCreatedCheckRunCheckSuiteStatus> for CheckRunCreatedCheckRunCheckSuiteStatus {
4250 fn from(value: &CheckRunCreatedCheckRunCheckSuiteStatus) -> Self {
4251 value.clone()
4252 }
4253}
4254impl ToString for CheckRunCreatedCheckRunCheckSuiteStatus {
4255 fn to_string(&self) -> String {
4256 match *self {
4257 Self::Queued => "queued".to_string(),
4258 Self::InProgress => "in_progress".to_string(),
4259 Self::Completed => "completed".to_string(),
4260 }
4261 }
4262}
4263impl std::str::FromStr for CheckRunCreatedCheckRunCheckSuiteStatus {
4264 type Err = &'static str;
4265
4266 fn from_str(value: &str) -> Result<Self, &'static str> {
4267 match value {
4268 "queued" => Ok(Self::Queued),
4269 "in_progress" => Ok(Self::InProgress),
4270 "completed" => Ok(Self::Completed),
4271 _ => Err("invalid value"),
4272 }
4273 }
4274}
4275impl std::convert::TryFrom<&str> for CheckRunCreatedCheckRunCheckSuiteStatus {
4276 type Error = &'static str;
4277
4278 fn try_from(value: &str) -> Result<Self, &'static str> {
4279 value.parse()
4280 }
4281}
4282impl std::convert::TryFrom<&String> for CheckRunCreatedCheckRunCheckSuiteStatus {
4283 type Error = &'static str;
4284
4285 fn try_from(value: &String) -> Result<Self, &'static str> {
4286 value.parse()
4287 }
4288}
4289impl std::convert::TryFrom<String> for CheckRunCreatedCheckRunCheckSuiteStatus {
4290 type Error = &'static str;
4291
4292 fn try_from(value: String) -> Result<Self, &'static str> {
4293 value.parse()
4294 }
4295}
4296#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4300pub enum CheckRunCreatedCheckRunConclusion {
4301 #[serde(rename = "success")]
4302 Success,
4303 #[serde(rename = "failure")]
4304 Failure,
4305 #[serde(rename = "neutral")]
4306 Neutral,
4307 #[serde(rename = "cancelled")]
4308 Cancelled,
4309 #[serde(rename = "timed_out")]
4310 TimedOut,
4311 #[serde(rename = "action_required")]
4312 ActionRequired,
4313 #[serde(rename = "stale")]
4314 Stale,
4315 #[serde(rename = "skipped")]
4316 Skipped,
4317}
4318impl From<&CheckRunCreatedCheckRunConclusion> for CheckRunCreatedCheckRunConclusion {
4319 fn from(value: &CheckRunCreatedCheckRunConclusion) -> Self {
4320 value.clone()
4321 }
4322}
4323impl ToString for CheckRunCreatedCheckRunConclusion {
4324 fn to_string(&self) -> String {
4325 match *self {
4326 Self::Success => "success".to_string(),
4327 Self::Failure => "failure".to_string(),
4328 Self::Neutral => "neutral".to_string(),
4329 Self::Cancelled => "cancelled".to_string(),
4330 Self::TimedOut => "timed_out".to_string(),
4331 Self::ActionRequired => "action_required".to_string(),
4332 Self::Stale => "stale".to_string(),
4333 Self::Skipped => "skipped".to_string(),
4334 }
4335 }
4336}
4337impl std::str::FromStr for CheckRunCreatedCheckRunConclusion {
4338 type Err = &'static str;
4339
4340 fn from_str(value: &str) -> Result<Self, &'static str> {
4341 match value {
4342 "success" => Ok(Self::Success),
4343 "failure" => Ok(Self::Failure),
4344 "neutral" => Ok(Self::Neutral),
4345 "cancelled" => Ok(Self::Cancelled),
4346 "timed_out" => Ok(Self::TimedOut),
4347 "action_required" => Ok(Self::ActionRequired),
4348 "stale" => Ok(Self::Stale),
4349 "skipped" => Ok(Self::Skipped),
4350 _ => Err("invalid value"),
4351 }
4352 }
4353}
4354impl std::convert::TryFrom<&str> for CheckRunCreatedCheckRunConclusion {
4355 type Error = &'static str;
4356
4357 fn try_from(value: &str) -> Result<Self, &'static str> {
4358 value.parse()
4359 }
4360}
4361impl std::convert::TryFrom<&String> for CheckRunCreatedCheckRunConclusion {
4362 type Error = &'static str;
4363
4364 fn try_from(value: &String) -> Result<Self, &'static str> {
4365 value.parse()
4366 }
4367}
4368impl std::convert::TryFrom<String> for CheckRunCreatedCheckRunConclusion {
4369 type Error = &'static str;
4370
4371 fn try_from(value: String) -> Result<Self, &'static str> {
4372 value.parse()
4373 }
4374}
4375#[derive(Clone, Debug, Deserialize, Serialize)]
4376#[serde(deny_unknown_fields)]
4377pub struct CheckRunCreatedCheckRunOutput {
4378 pub annotations_count: i64,
4379 pub annotations_url: String,
4380 pub summary: Option<String>,
4381 pub text: Option<String>,
4382 #[serde(default, skip_serializing_if = "Option::is_none")]
4383 pub title: Option<String>,
4384}
4385impl From<&CheckRunCreatedCheckRunOutput> for CheckRunCreatedCheckRunOutput {
4386 fn from(value: &CheckRunCreatedCheckRunOutput) -> Self {
4387 value.clone()
4388 }
4389}
4390#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4393pub enum CheckRunCreatedCheckRunStatus {
4394 #[serde(rename = "queued")]
4395 Queued,
4396 #[serde(rename = "in_progress")]
4397 InProgress,
4398 #[serde(rename = "completed")]
4399 Completed,
4400 #[serde(rename = "waiting")]
4401 Waiting,
4402}
4403impl From<&CheckRunCreatedCheckRunStatus> for CheckRunCreatedCheckRunStatus {
4404 fn from(value: &CheckRunCreatedCheckRunStatus) -> Self {
4405 value.clone()
4406 }
4407}
4408impl ToString for CheckRunCreatedCheckRunStatus {
4409 fn to_string(&self) -> String {
4410 match *self {
4411 Self::Queued => "queued".to_string(),
4412 Self::InProgress => "in_progress".to_string(),
4413 Self::Completed => "completed".to_string(),
4414 Self::Waiting => "waiting".to_string(),
4415 }
4416 }
4417}
4418impl std::str::FromStr for CheckRunCreatedCheckRunStatus {
4419 type Err = &'static str;
4420
4421 fn from_str(value: &str) -> Result<Self, &'static str> {
4422 match value {
4423 "queued" => Ok(Self::Queued),
4424 "in_progress" => Ok(Self::InProgress),
4425 "completed" => Ok(Self::Completed),
4426 "waiting" => Ok(Self::Waiting),
4427 _ => Err("invalid value"),
4428 }
4429 }
4430}
4431impl std::convert::TryFrom<&str> for CheckRunCreatedCheckRunStatus {
4432 type Error = &'static str;
4433
4434 fn try_from(value: &str) -> Result<Self, &'static str> {
4435 value.parse()
4436 }
4437}
4438impl std::convert::TryFrom<&String> for CheckRunCreatedCheckRunStatus {
4439 type Error = &'static str;
4440
4441 fn try_from(value: &String) -> Result<Self, &'static str> {
4442 value.parse()
4443 }
4444}
4445impl std::convert::TryFrom<String> for CheckRunCreatedCheckRunStatus {
4446 type Error = &'static str;
4447
4448 fn try_from(value: String) -> Result<Self, &'static str> {
4449 value.parse()
4450 }
4451}
4452#[derive(Clone, Debug, Deserialize, Serialize)]
4454#[serde(deny_unknown_fields)]
4455pub struct CheckRunCreatedRequestedAction {
4456 #[serde(default, skip_serializing_if = "Option::is_none")]
4458 pub identifier: Option<String>,
4459}
4460impl From<&CheckRunCreatedRequestedAction> for CheckRunCreatedRequestedAction {
4461 fn from(value: &CheckRunCreatedRequestedAction) -> Self {
4462 value.clone()
4463 }
4464}
4465#[derive(Clone, Debug, Deserialize, Serialize)]
4469#[serde(deny_unknown_fields)]
4470pub struct CheckRunDeployment {
4471 pub created_at: chrono::DateTime<chrono::offset::Utc>,
4472 pub description: Option<String>,
4473 pub environment: String,
4474 pub id: i64,
4475 pub node_id: String,
4476 pub original_environment: String,
4477 pub repository_url: String,
4478 pub statuses_url: String,
4479 pub task: String,
4480 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
4481 pub url: String,
4482}
4483impl From<&CheckRunDeployment> for CheckRunDeployment {
4484 fn from(value: &CheckRunDeployment) -> Self {
4485 value.clone()
4486 }
4487}
4488#[derive(Clone, Debug, Deserialize, Serialize)]
4489#[serde(untagged)]
4490pub enum CheckRunEvent {
4491 Completed(CheckRunCompleted),
4492 Created(CheckRunCreated),
4493 RequestedAction(CheckRunRequestedAction),
4494 Rerequested(CheckRunRerequested),
4495}
4496impl From<&CheckRunEvent> for CheckRunEvent {
4497 fn from(value: &CheckRunEvent) -> Self {
4498 value.clone()
4499 }
4500}
4501impl From<CheckRunCompleted> for CheckRunEvent {
4502 fn from(value: CheckRunCompleted) -> Self {
4503 Self::Completed(value)
4504 }
4505}
4506impl From<CheckRunCreated> for CheckRunEvent {
4507 fn from(value: CheckRunCreated) -> Self {
4508 Self::Created(value)
4509 }
4510}
4511impl From<CheckRunRequestedAction> for CheckRunEvent {
4512 fn from(value: CheckRunRequestedAction) -> Self {
4513 Self::RequestedAction(value)
4514 }
4515}
4516impl From<CheckRunRerequested> for CheckRunEvent {
4517 fn from(value: CheckRunRerequested) -> Self {
4518 Self::Rerequested(value)
4519 }
4520}
4521#[derive(Clone, Debug, Deserialize, Serialize)]
4522#[serde(deny_unknown_fields)]
4523pub struct CheckRunPullRequest {
4524 pub base: CheckRunPullRequestBase,
4525 pub head: CheckRunPullRequestHead,
4526 pub id: i64,
4527 pub number: i64,
4528 pub url: String,
4529}
4530impl From<&CheckRunPullRequest> for CheckRunPullRequest {
4531 fn from(value: &CheckRunPullRequest) -> Self {
4532 value.clone()
4533 }
4534}
4535#[derive(Clone, Debug, Deserialize, Serialize)]
4536#[serde(deny_unknown_fields)]
4537pub struct CheckRunPullRequestBase {
4538 #[serde(rename = "ref")]
4539 pub ref_: String,
4540 pub repo: RepoRef,
4541 pub sha: String,
4542}
4543impl From<&CheckRunPullRequestBase> for CheckRunPullRequestBase {
4544 fn from(value: &CheckRunPullRequestBase) -> Self {
4545 value.clone()
4546 }
4547}
4548#[derive(Clone, Debug, Deserialize, Serialize)]
4549#[serde(deny_unknown_fields)]
4550pub struct CheckRunPullRequestHead {
4551 #[serde(rename = "ref")]
4552 pub ref_: String,
4553 pub repo: RepoRef,
4554 pub sha: String,
4555}
4556impl From<&CheckRunPullRequestHead> for CheckRunPullRequestHead {
4557 fn from(value: &CheckRunPullRequestHead) -> Self {
4558 value.clone()
4559 }
4560}
4561#[derive(Clone, Debug, Deserialize, Serialize)]
4562#[serde(deny_unknown_fields)]
4563pub struct CheckRunRequestedAction {
4564 pub action: CheckRunRequestedActionAction,
4565 pub check_run: CheckRunRequestedActionCheckRun,
4566 #[serde(default, skip_serializing_if = "Option::is_none")]
4567 pub installation: Option<InstallationLite>,
4568 #[serde(default, skip_serializing_if = "Option::is_none")]
4569 pub organization: Option<Organization>,
4570 pub repository: Repository,
4571 pub requested_action: CheckRunRequestedActionRequestedAction,
4572 pub sender: User,
4573}
4574impl From<&CheckRunRequestedAction> for CheckRunRequestedAction {
4575 fn from(value: &CheckRunRequestedAction) -> Self {
4576 value.clone()
4577 }
4578}
4579#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4580pub enum CheckRunRequestedActionAction {
4581 #[serde(rename = "requested_action")]
4582 RequestedAction,
4583}
4584impl From<&CheckRunRequestedActionAction> for CheckRunRequestedActionAction {
4585 fn from(value: &CheckRunRequestedActionAction) -> Self {
4586 value.clone()
4587 }
4588}
4589impl ToString for CheckRunRequestedActionAction {
4590 fn to_string(&self) -> String {
4591 match *self {
4592 Self::RequestedAction => "requested_action".to_string(),
4593 }
4594 }
4595}
4596impl std::str::FromStr for CheckRunRequestedActionAction {
4597 type Err = &'static str;
4598
4599 fn from_str(value: &str) -> Result<Self, &'static str> {
4600 match value {
4601 "requested_action" => Ok(Self::RequestedAction),
4602 _ => Err("invalid value"),
4603 }
4604 }
4605}
4606impl std::convert::TryFrom<&str> for CheckRunRequestedActionAction {
4607 type Error = &'static str;
4608
4609 fn try_from(value: &str) -> Result<Self, &'static str> {
4610 value.parse()
4611 }
4612}
4613impl std::convert::TryFrom<&String> for CheckRunRequestedActionAction {
4614 type Error = &'static str;
4615
4616 fn try_from(value: &String) -> Result<Self, &'static str> {
4617 value.parse()
4618 }
4619}
4620impl std::convert::TryFrom<String> for CheckRunRequestedActionAction {
4621 type Error = &'static str;
4622
4623 fn try_from(value: String) -> Result<Self, &'static str> {
4624 value.parse()
4625 }
4626}
4627#[derive(Clone, Debug, Deserialize, Serialize)]
4629#[serde(deny_unknown_fields)]
4630pub struct CheckRunRequestedActionCheckRun {
4631 pub app: App,
4632 pub check_suite: CheckRunRequestedActionCheckRunCheckSuite,
4633 pub completed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
4635 pub conclusion: Option<CheckRunRequestedActionCheckRunConclusion>,
4639 #[serde(default, skip_serializing_if = "Option::is_none")]
4640 pub deployment: Option<CheckRunDeployment>,
4641 #[serde(default, skip_serializing_if = "Option::is_none")]
4642 pub details_url: Option<String>,
4643 pub external_id: String,
4644 pub head_sha: String,
4646 pub html_url: String,
4647 pub id: i64,
4649 pub name: String,
4651 #[serde(default, skip_serializing_if = "Option::is_none")]
4652 pub node_id: Option<String>,
4653 pub output: CheckRunRequestedActionCheckRunOutput,
4654 pub pull_requests: Vec<CheckRunPullRequest>,
4655 pub started_at: chrono::DateTime<chrono::offset::Utc>,
4657 pub status: CheckRunRequestedActionCheckRunStatus,
4660 pub url: String,
4661}
4662impl From<&CheckRunRequestedActionCheckRun> for CheckRunRequestedActionCheckRun {
4663 fn from(value: &CheckRunRequestedActionCheckRun) -> Self {
4664 value.clone()
4665 }
4666}
4667#[derive(Clone, Debug, Deserialize, Serialize)]
4668#[serde(deny_unknown_fields)]
4669pub struct CheckRunRequestedActionCheckRunCheckSuite {
4670 pub after: Option<String>,
4671 pub app: App,
4672 pub before: Option<String>,
4673 pub conclusion: Option<CheckRunRequestedActionCheckRunCheckSuiteConclusion>,
4674 pub created_at: chrono::DateTime<chrono::offset::Utc>,
4675 #[serde(default, skip_serializing_if = "Option::is_none")]
4676 pub deployment: Option<CheckRunDeployment>,
4677 pub head_branch: Option<String>,
4678 pub head_sha: String,
4680 pub id: i64,
4682 #[serde(default, skip_serializing_if = "Option::is_none")]
4683 pub node_id: Option<String>,
4684 pub pull_requests: Vec<CheckRunPullRequest>,
4693 pub status: CheckRunRequestedActionCheckRunCheckSuiteStatus,
4694 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
4695 pub url: String,
4696}
4697impl From<&CheckRunRequestedActionCheckRunCheckSuite>
4698 for CheckRunRequestedActionCheckRunCheckSuite
4699{
4700 fn from(value: &CheckRunRequestedActionCheckRunCheckSuite) -> Self {
4701 value.clone()
4702 }
4703}
4704#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4705pub enum CheckRunRequestedActionCheckRunCheckSuiteConclusion {
4706 #[serde(rename = "success")]
4707 Success,
4708 #[serde(rename = "failure")]
4709 Failure,
4710 #[serde(rename = "neutral")]
4711 Neutral,
4712 #[serde(rename = "cancelled")]
4713 Cancelled,
4714 #[serde(rename = "timed_out")]
4715 TimedOut,
4716 #[serde(rename = "action_required")]
4717 ActionRequired,
4718 #[serde(rename = "stale")]
4719 Stale,
4720}
4721impl From<&CheckRunRequestedActionCheckRunCheckSuiteConclusion>
4722 for CheckRunRequestedActionCheckRunCheckSuiteConclusion
4723{
4724 fn from(value: &CheckRunRequestedActionCheckRunCheckSuiteConclusion) -> Self {
4725 value.clone()
4726 }
4727}
4728impl ToString for CheckRunRequestedActionCheckRunCheckSuiteConclusion {
4729 fn to_string(&self) -> String {
4730 match *self {
4731 Self::Success => "success".to_string(),
4732 Self::Failure => "failure".to_string(),
4733 Self::Neutral => "neutral".to_string(),
4734 Self::Cancelled => "cancelled".to_string(),
4735 Self::TimedOut => "timed_out".to_string(),
4736 Self::ActionRequired => "action_required".to_string(),
4737 Self::Stale => "stale".to_string(),
4738 }
4739 }
4740}
4741impl std::str::FromStr for CheckRunRequestedActionCheckRunCheckSuiteConclusion {
4742 type Err = &'static str;
4743
4744 fn from_str(value: &str) -> Result<Self, &'static str> {
4745 match value {
4746 "success" => Ok(Self::Success),
4747 "failure" => Ok(Self::Failure),
4748 "neutral" => Ok(Self::Neutral),
4749 "cancelled" => Ok(Self::Cancelled),
4750 "timed_out" => Ok(Self::TimedOut),
4751 "action_required" => Ok(Self::ActionRequired),
4752 "stale" => Ok(Self::Stale),
4753 _ => Err("invalid value"),
4754 }
4755 }
4756}
4757impl std::convert::TryFrom<&str> for CheckRunRequestedActionCheckRunCheckSuiteConclusion {
4758 type Error = &'static str;
4759
4760 fn try_from(value: &str) -> Result<Self, &'static str> {
4761 value.parse()
4762 }
4763}
4764impl std::convert::TryFrom<&String> for CheckRunRequestedActionCheckRunCheckSuiteConclusion {
4765 type Error = &'static str;
4766
4767 fn try_from(value: &String) -> Result<Self, &'static str> {
4768 value.parse()
4769 }
4770}
4771impl std::convert::TryFrom<String> for CheckRunRequestedActionCheckRunCheckSuiteConclusion {
4772 type Error = &'static str;
4773
4774 fn try_from(value: String) -> Result<Self, &'static str> {
4775 value.parse()
4776 }
4777}
4778#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4779pub enum CheckRunRequestedActionCheckRunCheckSuiteStatus {
4780 #[serde(rename = "queued")]
4781 Queued,
4782 #[serde(rename = "in_progress")]
4783 InProgress,
4784 #[serde(rename = "completed")]
4785 Completed,
4786 #[serde(rename = "waiting")]
4787 Waiting,
4788}
4789impl From<&CheckRunRequestedActionCheckRunCheckSuiteStatus>
4790 for CheckRunRequestedActionCheckRunCheckSuiteStatus
4791{
4792 fn from(value: &CheckRunRequestedActionCheckRunCheckSuiteStatus) -> Self {
4793 value.clone()
4794 }
4795}
4796impl ToString for CheckRunRequestedActionCheckRunCheckSuiteStatus {
4797 fn to_string(&self) -> String {
4798 match *self {
4799 Self::Queued => "queued".to_string(),
4800 Self::InProgress => "in_progress".to_string(),
4801 Self::Completed => "completed".to_string(),
4802 Self::Waiting => "waiting".to_string(),
4803 }
4804 }
4805}
4806impl std::str::FromStr for CheckRunRequestedActionCheckRunCheckSuiteStatus {
4807 type Err = &'static str;
4808
4809 fn from_str(value: &str) -> Result<Self, &'static str> {
4810 match value {
4811 "queued" => Ok(Self::Queued),
4812 "in_progress" => Ok(Self::InProgress),
4813 "completed" => Ok(Self::Completed),
4814 "waiting" => Ok(Self::Waiting),
4815 _ => Err("invalid value"),
4816 }
4817 }
4818}
4819impl std::convert::TryFrom<&str> for CheckRunRequestedActionCheckRunCheckSuiteStatus {
4820 type Error = &'static str;
4821
4822 fn try_from(value: &str) -> Result<Self, &'static str> {
4823 value.parse()
4824 }
4825}
4826impl std::convert::TryFrom<&String> for CheckRunRequestedActionCheckRunCheckSuiteStatus {
4827 type Error = &'static str;
4828
4829 fn try_from(value: &String) -> Result<Self, &'static str> {
4830 value.parse()
4831 }
4832}
4833impl std::convert::TryFrom<String> for CheckRunRequestedActionCheckRunCheckSuiteStatus {
4834 type Error = &'static str;
4835
4836 fn try_from(value: String) -> Result<Self, &'static str> {
4837 value.parse()
4838 }
4839}
4840#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4844pub enum CheckRunRequestedActionCheckRunConclusion {
4845 #[serde(rename = "success")]
4846 Success,
4847 #[serde(rename = "failure")]
4848 Failure,
4849 #[serde(rename = "neutral")]
4850 Neutral,
4851 #[serde(rename = "cancelled")]
4852 Cancelled,
4853 #[serde(rename = "timed_out")]
4854 TimedOut,
4855 #[serde(rename = "action_required")]
4856 ActionRequired,
4857 #[serde(rename = "stale")]
4858 Stale,
4859 #[serde(rename = "skipped")]
4860 Skipped,
4861}
4862impl From<&CheckRunRequestedActionCheckRunConclusion>
4863 for CheckRunRequestedActionCheckRunConclusion
4864{
4865 fn from(value: &CheckRunRequestedActionCheckRunConclusion) -> Self {
4866 value.clone()
4867 }
4868}
4869impl ToString for CheckRunRequestedActionCheckRunConclusion {
4870 fn to_string(&self) -> String {
4871 match *self {
4872 Self::Success => "success".to_string(),
4873 Self::Failure => "failure".to_string(),
4874 Self::Neutral => "neutral".to_string(),
4875 Self::Cancelled => "cancelled".to_string(),
4876 Self::TimedOut => "timed_out".to_string(),
4877 Self::ActionRequired => "action_required".to_string(),
4878 Self::Stale => "stale".to_string(),
4879 Self::Skipped => "skipped".to_string(),
4880 }
4881 }
4882}
4883impl std::str::FromStr for CheckRunRequestedActionCheckRunConclusion {
4884 type Err = &'static str;
4885
4886 fn from_str(value: &str) -> Result<Self, &'static str> {
4887 match value {
4888 "success" => Ok(Self::Success),
4889 "failure" => Ok(Self::Failure),
4890 "neutral" => Ok(Self::Neutral),
4891 "cancelled" => Ok(Self::Cancelled),
4892 "timed_out" => Ok(Self::TimedOut),
4893 "action_required" => Ok(Self::ActionRequired),
4894 "stale" => Ok(Self::Stale),
4895 "skipped" => Ok(Self::Skipped),
4896 _ => Err("invalid value"),
4897 }
4898 }
4899}
4900impl std::convert::TryFrom<&str> for CheckRunRequestedActionCheckRunConclusion {
4901 type Error = &'static str;
4902
4903 fn try_from(value: &str) -> Result<Self, &'static str> {
4904 value.parse()
4905 }
4906}
4907impl std::convert::TryFrom<&String> for CheckRunRequestedActionCheckRunConclusion {
4908 type Error = &'static str;
4909
4910 fn try_from(value: &String) -> Result<Self, &'static str> {
4911 value.parse()
4912 }
4913}
4914impl std::convert::TryFrom<String> for CheckRunRequestedActionCheckRunConclusion {
4915 type Error = &'static str;
4916
4917 fn try_from(value: String) -> Result<Self, &'static str> {
4918 value.parse()
4919 }
4920}
4921#[derive(Clone, Debug, Deserialize, Serialize)]
4922#[serde(deny_unknown_fields)]
4923pub struct CheckRunRequestedActionCheckRunOutput {
4924 pub annotations_count: i64,
4925 pub annotations_url: String,
4926 pub summary: Option<String>,
4927 pub text: Option<String>,
4928 #[serde(default, skip_serializing_if = "Option::is_none")]
4929 pub title: Option<String>,
4930}
4931impl From<&CheckRunRequestedActionCheckRunOutput> for CheckRunRequestedActionCheckRunOutput {
4932 fn from(value: &CheckRunRequestedActionCheckRunOutput) -> Self {
4933 value.clone()
4934 }
4935}
4936#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
4939pub enum CheckRunRequestedActionCheckRunStatus {
4940 #[serde(rename = "queued")]
4941 Queued,
4942 #[serde(rename = "in_progress")]
4943 InProgress,
4944 #[serde(rename = "completed")]
4945 Completed,
4946}
4947impl From<&CheckRunRequestedActionCheckRunStatus> for CheckRunRequestedActionCheckRunStatus {
4948 fn from(value: &CheckRunRequestedActionCheckRunStatus) -> Self {
4949 value.clone()
4950 }
4951}
4952impl ToString for CheckRunRequestedActionCheckRunStatus {
4953 fn to_string(&self) -> String {
4954 match *self {
4955 Self::Queued => "queued".to_string(),
4956 Self::InProgress => "in_progress".to_string(),
4957 Self::Completed => "completed".to_string(),
4958 }
4959 }
4960}
4961impl std::str::FromStr for CheckRunRequestedActionCheckRunStatus {
4962 type Err = &'static str;
4963
4964 fn from_str(value: &str) -> Result<Self, &'static str> {
4965 match value {
4966 "queued" => Ok(Self::Queued),
4967 "in_progress" => Ok(Self::InProgress),
4968 "completed" => Ok(Self::Completed),
4969 _ => Err("invalid value"),
4970 }
4971 }
4972}
4973impl std::convert::TryFrom<&str> for CheckRunRequestedActionCheckRunStatus {
4974 type Error = &'static str;
4975
4976 fn try_from(value: &str) -> Result<Self, &'static str> {
4977 value.parse()
4978 }
4979}
4980impl std::convert::TryFrom<&String> for CheckRunRequestedActionCheckRunStatus {
4981 type Error = &'static str;
4982
4983 fn try_from(value: &String) -> Result<Self, &'static str> {
4984 value.parse()
4985 }
4986}
4987impl std::convert::TryFrom<String> for CheckRunRequestedActionCheckRunStatus {
4988 type Error = &'static str;
4989
4990 fn try_from(value: String) -> Result<Self, &'static str> {
4991 value.parse()
4992 }
4993}
4994#[derive(Clone, Debug, Deserialize, Serialize)]
4996#[serde(deny_unknown_fields)]
4997pub struct CheckRunRequestedActionRequestedAction {
4998 #[serde(default, skip_serializing_if = "Option::is_none")]
5000 pub identifier: Option<String>,
5001}
5002impl From<&CheckRunRequestedActionRequestedAction> for CheckRunRequestedActionRequestedAction {
5003 fn from(value: &CheckRunRequestedActionRequestedAction) -> Self {
5004 value.clone()
5005 }
5006}
5007#[derive(Clone, Debug, Deserialize, Serialize)]
5008#[serde(deny_unknown_fields)]
5009pub struct CheckRunRerequested {
5010 pub action: CheckRunRerequestedAction,
5011 pub check_run: CheckRunRerequestedCheckRun,
5012 #[serde(default, skip_serializing_if = "Option::is_none")]
5013 pub installation: Option<InstallationLite>,
5014 #[serde(default, skip_serializing_if = "Option::is_none")]
5015 pub organization: Option<Organization>,
5016 pub repository: Repository,
5017 #[serde(default, skip_serializing_if = "Option::is_none")]
5019 pub requested_action: Option<CheckRunRerequestedRequestedAction>,
5020 pub sender: User,
5021}
5022impl From<&CheckRunRerequested> for CheckRunRerequested {
5023 fn from(value: &CheckRunRerequested) -> Self {
5024 value.clone()
5025 }
5026}
5027#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5028pub enum CheckRunRerequestedAction {
5029 #[serde(rename = "rerequested")]
5030 Rerequested,
5031}
5032impl From<&CheckRunRerequestedAction> for CheckRunRerequestedAction {
5033 fn from(value: &CheckRunRerequestedAction) -> Self {
5034 value.clone()
5035 }
5036}
5037impl ToString for CheckRunRerequestedAction {
5038 fn to_string(&self) -> String {
5039 match *self {
5040 Self::Rerequested => "rerequested".to_string(),
5041 }
5042 }
5043}
5044impl std::str::FromStr for CheckRunRerequestedAction {
5045 type Err = &'static str;
5046
5047 fn from_str(value: &str) -> Result<Self, &'static str> {
5048 match value {
5049 "rerequested" => Ok(Self::Rerequested),
5050 _ => Err("invalid value"),
5051 }
5052 }
5053}
5054impl std::convert::TryFrom<&str> for CheckRunRerequestedAction {
5055 type Error = &'static str;
5056
5057 fn try_from(value: &str) -> Result<Self, &'static str> {
5058 value.parse()
5059 }
5060}
5061impl std::convert::TryFrom<&String> for CheckRunRerequestedAction {
5062 type Error = &'static str;
5063
5064 fn try_from(value: &String) -> Result<Self, &'static str> {
5065 value.parse()
5066 }
5067}
5068impl std::convert::TryFrom<String> for CheckRunRerequestedAction {
5069 type Error = &'static str;
5070
5071 fn try_from(value: String) -> Result<Self, &'static str> {
5072 value.parse()
5073 }
5074}
5075#[derive(Clone, Debug, Deserialize, Serialize)]
5077#[serde(deny_unknown_fields)]
5078pub struct CheckRunRerequestedCheckRun {
5079 pub app: App,
5080 pub check_suite: CheckRunRerequestedCheckRunCheckSuite,
5081 pub completed_at: chrono::DateTime<chrono::offset::Utc>,
5083 pub conclusion: Option<CheckRunRerequestedCheckRunConclusion>,
5087 #[serde(default, skip_serializing_if = "Option::is_none")]
5088 pub deployment: Option<CheckRunDeployment>,
5089 #[serde(default, skip_serializing_if = "Option::is_none")]
5090 pub details_url: Option<String>,
5091 pub external_id: String,
5092 pub head_sha: String,
5094 pub html_url: String,
5095 pub id: i64,
5097 pub name: String,
5099 #[serde(default, skip_serializing_if = "Option::is_none")]
5100 pub node_id: Option<String>,
5101 pub output: CheckRunRerequestedCheckRunOutput,
5102 pub pull_requests: Vec<CheckRunPullRequest>,
5103 pub started_at: chrono::DateTime<chrono::offset::Utc>,
5105 pub status: CheckRunRerequestedCheckRunStatus,
5107 pub url: String,
5108}
5109impl From<&CheckRunRerequestedCheckRun> for CheckRunRerequestedCheckRun {
5110 fn from(value: &CheckRunRerequestedCheckRun) -> Self {
5111 value.clone()
5112 }
5113}
5114#[derive(Clone, Debug, Deserialize, Serialize)]
5115#[serde(deny_unknown_fields)]
5116pub struct CheckRunRerequestedCheckRunCheckSuite {
5117 pub after: Option<String>,
5118 pub app: App,
5119 pub before: Option<String>,
5120 pub conclusion: CheckRunRerequestedCheckRunCheckSuiteConclusion,
5121 pub created_at: chrono::DateTime<chrono::offset::Utc>,
5122 #[serde(default, skip_serializing_if = "Option::is_none")]
5123 pub deployment: Option<CheckRunDeployment>,
5124 pub head_branch: Option<String>,
5125 pub head_sha: String,
5127 pub id: i64,
5129 #[serde(default, skip_serializing_if = "Option::is_none")]
5130 pub node_id: Option<String>,
5131 pub pull_requests: Vec<CheckRunPullRequest>,
5140 pub status: CheckRunRerequestedCheckRunCheckSuiteStatus,
5141 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
5142 pub url: String,
5143}
5144impl From<&CheckRunRerequestedCheckRunCheckSuite> for CheckRunRerequestedCheckRunCheckSuite {
5145 fn from(value: &CheckRunRerequestedCheckRunCheckSuite) -> Self {
5146 value.clone()
5147 }
5148}
5149#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5150pub enum CheckRunRerequestedCheckRunCheckSuiteConclusion {
5151 #[serde(rename = "success")]
5152 Success,
5153 #[serde(rename = "failure")]
5154 Failure,
5155 #[serde(rename = "neutral")]
5156 Neutral,
5157 #[serde(rename = "cancelled")]
5158 Cancelled,
5159 #[serde(rename = "timed_out")]
5160 TimedOut,
5161 #[serde(rename = "action_required")]
5162 ActionRequired,
5163 #[serde(rename = "stale")]
5164 Stale,
5165}
5166impl From<&CheckRunRerequestedCheckRunCheckSuiteConclusion>
5167 for CheckRunRerequestedCheckRunCheckSuiteConclusion
5168{
5169 fn from(value: &CheckRunRerequestedCheckRunCheckSuiteConclusion) -> Self {
5170 value.clone()
5171 }
5172}
5173impl ToString for CheckRunRerequestedCheckRunCheckSuiteConclusion {
5174 fn to_string(&self) -> String {
5175 match *self {
5176 Self::Success => "success".to_string(),
5177 Self::Failure => "failure".to_string(),
5178 Self::Neutral => "neutral".to_string(),
5179 Self::Cancelled => "cancelled".to_string(),
5180 Self::TimedOut => "timed_out".to_string(),
5181 Self::ActionRequired => "action_required".to_string(),
5182 Self::Stale => "stale".to_string(),
5183 }
5184 }
5185}
5186impl std::str::FromStr for CheckRunRerequestedCheckRunCheckSuiteConclusion {
5187 type Err = &'static str;
5188
5189 fn from_str(value: &str) -> Result<Self, &'static str> {
5190 match value {
5191 "success" => Ok(Self::Success),
5192 "failure" => Ok(Self::Failure),
5193 "neutral" => Ok(Self::Neutral),
5194 "cancelled" => Ok(Self::Cancelled),
5195 "timed_out" => Ok(Self::TimedOut),
5196 "action_required" => Ok(Self::ActionRequired),
5197 "stale" => Ok(Self::Stale),
5198 _ => Err("invalid value"),
5199 }
5200 }
5201}
5202impl std::convert::TryFrom<&str> for CheckRunRerequestedCheckRunCheckSuiteConclusion {
5203 type Error = &'static str;
5204
5205 fn try_from(value: &str) -> Result<Self, &'static str> {
5206 value.parse()
5207 }
5208}
5209impl std::convert::TryFrom<&String> for CheckRunRerequestedCheckRunCheckSuiteConclusion {
5210 type Error = &'static str;
5211
5212 fn try_from(value: &String) -> Result<Self, &'static str> {
5213 value.parse()
5214 }
5215}
5216impl std::convert::TryFrom<String> for CheckRunRerequestedCheckRunCheckSuiteConclusion {
5217 type Error = &'static str;
5218
5219 fn try_from(value: String) -> Result<Self, &'static str> {
5220 value.parse()
5221 }
5222}
5223#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5224pub enum CheckRunRerequestedCheckRunCheckSuiteStatus {
5225 #[serde(rename = "completed")]
5226 Completed,
5227}
5228impl From<&CheckRunRerequestedCheckRunCheckSuiteStatus>
5229 for CheckRunRerequestedCheckRunCheckSuiteStatus
5230{
5231 fn from(value: &CheckRunRerequestedCheckRunCheckSuiteStatus) -> Self {
5232 value.clone()
5233 }
5234}
5235impl ToString for CheckRunRerequestedCheckRunCheckSuiteStatus {
5236 fn to_string(&self) -> String {
5237 match *self {
5238 Self::Completed => "completed".to_string(),
5239 }
5240 }
5241}
5242impl std::str::FromStr for CheckRunRerequestedCheckRunCheckSuiteStatus {
5243 type Err = &'static str;
5244
5245 fn from_str(value: &str) -> Result<Self, &'static str> {
5246 match value {
5247 "completed" => Ok(Self::Completed),
5248 _ => Err("invalid value"),
5249 }
5250 }
5251}
5252impl std::convert::TryFrom<&str> for CheckRunRerequestedCheckRunCheckSuiteStatus {
5253 type Error = &'static str;
5254
5255 fn try_from(value: &str) -> Result<Self, &'static str> {
5256 value.parse()
5257 }
5258}
5259impl std::convert::TryFrom<&String> for CheckRunRerequestedCheckRunCheckSuiteStatus {
5260 type Error = &'static str;
5261
5262 fn try_from(value: &String) -> Result<Self, &'static str> {
5263 value.parse()
5264 }
5265}
5266impl std::convert::TryFrom<String> for CheckRunRerequestedCheckRunCheckSuiteStatus {
5267 type Error = &'static str;
5268
5269 fn try_from(value: String) -> Result<Self, &'static str> {
5270 value.parse()
5271 }
5272}
5273#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5277pub enum CheckRunRerequestedCheckRunConclusion {
5278 #[serde(rename = "success")]
5279 Success,
5280 #[serde(rename = "failure")]
5281 Failure,
5282 #[serde(rename = "neutral")]
5283 Neutral,
5284 #[serde(rename = "cancelled")]
5285 Cancelled,
5286 #[serde(rename = "timed_out")]
5287 TimedOut,
5288 #[serde(rename = "action_required")]
5289 ActionRequired,
5290 #[serde(rename = "stale")]
5291 Stale,
5292 #[serde(rename = "skipped")]
5293 Skipped,
5294}
5295impl From<&CheckRunRerequestedCheckRunConclusion> for CheckRunRerequestedCheckRunConclusion {
5296 fn from(value: &CheckRunRerequestedCheckRunConclusion) -> Self {
5297 value.clone()
5298 }
5299}
5300impl ToString for CheckRunRerequestedCheckRunConclusion {
5301 fn to_string(&self) -> String {
5302 match *self {
5303 Self::Success => "success".to_string(),
5304 Self::Failure => "failure".to_string(),
5305 Self::Neutral => "neutral".to_string(),
5306 Self::Cancelled => "cancelled".to_string(),
5307 Self::TimedOut => "timed_out".to_string(),
5308 Self::ActionRequired => "action_required".to_string(),
5309 Self::Stale => "stale".to_string(),
5310 Self::Skipped => "skipped".to_string(),
5311 }
5312 }
5313}
5314impl std::str::FromStr for CheckRunRerequestedCheckRunConclusion {
5315 type Err = &'static str;
5316
5317 fn from_str(value: &str) -> Result<Self, &'static str> {
5318 match value {
5319 "success" => Ok(Self::Success),
5320 "failure" => Ok(Self::Failure),
5321 "neutral" => Ok(Self::Neutral),
5322 "cancelled" => Ok(Self::Cancelled),
5323 "timed_out" => Ok(Self::TimedOut),
5324 "action_required" => Ok(Self::ActionRequired),
5325 "stale" => Ok(Self::Stale),
5326 "skipped" => Ok(Self::Skipped),
5327 _ => Err("invalid value"),
5328 }
5329 }
5330}
5331impl std::convert::TryFrom<&str> for CheckRunRerequestedCheckRunConclusion {
5332 type Error = &'static str;
5333
5334 fn try_from(value: &str) -> Result<Self, &'static str> {
5335 value.parse()
5336 }
5337}
5338impl std::convert::TryFrom<&String> for CheckRunRerequestedCheckRunConclusion {
5339 type Error = &'static str;
5340
5341 fn try_from(value: &String) -> Result<Self, &'static str> {
5342 value.parse()
5343 }
5344}
5345impl std::convert::TryFrom<String> for CheckRunRerequestedCheckRunConclusion {
5346 type Error = &'static str;
5347
5348 fn try_from(value: String) -> Result<Self, &'static str> {
5349 value.parse()
5350 }
5351}
5352#[derive(Clone, Debug, Deserialize, Serialize)]
5353#[serde(deny_unknown_fields)]
5354pub struct CheckRunRerequestedCheckRunOutput {
5355 pub annotations_count: i64,
5356 pub annotations_url: String,
5357 pub summary: Option<String>,
5358 pub text: Option<String>,
5359 #[serde(default, skip_serializing_if = "Option::is_none")]
5360 pub title: Option<String>,
5361}
5362impl From<&CheckRunRerequestedCheckRunOutput> for CheckRunRerequestedCheckRunOutput {
5363 fn from(value: &CheckRunRerequestedCheckRunOutput) -> Self {
5364 value.clone()
5365 }
5366}
5367#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5369pub enum CheckRunRerequestedCheckRunStatus {
5370 #[serde(rename = "completed")]
5371 Completed,
5372}
5373impl From<&CheckRunRerequestedCheckRunStatus> for CheckRunRerequestedCheckRunStatus {
5374 fn from(value: &CheckRunRerequestedCheckRunStatus) -> Self {
5375 value.clone()
5376 }
5377}
5378impl ToString for CheckRunRerequestedCheckRunStatus {
5379 fn to_string(&self) -> String {
5380 match *self {
5381 Self::Completed => "completed".to_string(),
5382 }
5383 }
5384}
5385impl std::str::FromStr for CheckRunRerequestedCheckRunStatus {
5386 type Err = &'static str;
5387
5388 fn from_str(value: &str) -> Result<Self, &'static str> {
5389 match value {
5390 "completed" => Ok(Self::Completed),
5391 _ => Err("invalid value"),
5392 }
5393 }
5394}
5395impl std::convert::TryFrom<&str> for CheckRunRerequestedCheckRunStatus {
5396 type Error = &'static str;
5397
5398 fn try_from(value: &str) -> Result<Self, &'static str> {
5399 value.parse()
5400 }
5401}
5402impl std::convert::TryFrom<&String> for CheckRunRerequestedCheckRunStatus {
5403 type Error = &'static str;
5404
5405 fn try_from(value: &String) -> Result<Self, &'static str> {
5406 value.parse()
5407 }
5408}
5409impl std::convert::TryFrom<String> for CheckRunRerequestedCheckRunStatus {
5410 type Error = &'static str;
5411
5412 fn try_from(value: String) -> Result<Self, &'static str> {
5413 value.parse()
5414 }
5415}
5416#[derive(Clone, Debug, Deserialize, Serialize)]
5418#[serde(deny_unknown_fields)]
5419pub struct CheckRunRerequestedRequestedAction {
5420 #[serde(default, skip_serializing_if = "Option::is_none")]
5422 pub identifier: Option<String>,
5423}
5424impl From<&CheckRunRerequestedRequestedAction> for CheckRunRerequestedRequestedAction {
5425 fn from(value: &CheckRunRerequestedRequestedAction) -> Self {
5426 value.clone()
5427 }
5428}
5429#[derive(Clone, Debug, Deserialize, Serialize)]
5430#[serde(deny_unknown_fields)]
5431pub struct CheckSuiteCompleted {
5432 pub action: CheckSuiteCompletedAction,
5433 pub check_suite: CheckSuiteCompletedCheckSuite,
5434 #[serde(default, skip_serializing_if = "Option::is_none")]
5435 pub installation: Option<InstallationLite>,
5436 #[serde(default, skip_serializing_if = "Option::is_none")]
5437 pub organization: Option<Organization>,
5438 pub repository: Repository,
5439 pub sender: User,
5440}
5441impl From<&CheckSuiteCompleted> for CheckSuiteCompleted {
5442 fn from(value: &CheckSuiteCompleted) -> Self {
5443 value.clone()
5444 }
5445}
5446#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5447pub enum CheckSuiteCompletedAction {
5448 #[serde(rename = "completed")]
5449 Completed,
5450}
5451impl From<&CheckSuiteCompletedAction> for CheckSuiteCompletedAction {
5452 fn from(value: &CheckSuiteCompletedAction) -> Self {
5453 value.clone()
5454 }
5455}
5456impl ToString for CheckSuiteCompletedAction {
5457 fn to_string(&self) -> String {
5458 match *self {
5459 Self::Completed => "completed".to_string(),
5460 }
5461 }
5462}
5463impl std::str::FromStr for CheckSuiteCompletedAction {
5464 type Err = &'static str;
5465
5466 fn from_str(value: &str) -> Result<Self, &'static str> {
5467 match value {
5468 "completed" => Ok(Self::Completed),
5469 _ => Err("invalid value"),
5470 }
5471 }
5472}
5473impl std::convert::TryFrom<&str> for CheckSuiteCompletedAction {
5474 type Error = &'static str;
5475
5476 fn try_from(value: &str) -> Result<Self, &'static str> {
5477 value.parse()
5478 }
5479}
5480impl std::convert::TryFrom<&String> for CheckSuiteCompletedAction {
5481 type Error = &'static str;
5482
5483 fn try_from(value: &String) -> Result<Self, &'static str> {
5484 value.parse()
5485 }
5486}
5487impl std::convert::TryFrom<String> for CheckSuiteCompletedAction {
5488 type Error = &'static str;
5489
5490 fn try_from(value: String) -> Result<Self, &'static str> {
5491 value.parse()
5492 }
5493}
5494#[derive(Clone, Debug, Deserialize, Serialize)]
5496#[serde(deny_unknown_fields)]
5497pub struct CheckSuiteCompletedCheckSuite {
5498 pub after: Option<String>,
5499 pub app: App,
5500 pub before: Option<String>,
5501 pub check_runs_url: String,
5502 pub conclusion: Option<CheckSuiteCompletedCheckSuiteConclusion>,
5507 pub created_at: chrono::DateTime<chrono::offset::Utc>,
5508 pub head_branch: Option<String>,
5510 pub head_commit: CommitSimple,
5511 pub head_sha: String,
5513 pub id: i64,
5514 pub latest_check_runs_count: i64,
5515 pub node_id: String,
5516 pub pull_requests: Vec<CheckRunPullRequest>,
5522 #[serde(default, skip_serializing_if = "Option::is_none")]
5523 pub rerequestable: Option<bool>,
5524 #[serde(default, skip_serializing_if = "Option::is_none")]
5525 pub runs_rerequestable: Option<bool>,
5526 pub status: Option<CheckSuiteCompletedCheckSuiteStatus>,
5529 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
5530 pub url: String,
5532}
5533impl From<&CheckSuiteCompletedCheckSuite> for CheckSuiteCompletedCheckSuite {
5534 fn from(value: &CheckSuiteCompletedCheckSuite) -> Self {
5535 value.clone()
5536 }
5537}
5538#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5543pub enum CheckSuiteCompletedCheckSuiteConclusion {
5544 #[serde(rename = "success")]
5545 Success,
5546 #[serde(rename = "failure")]
5547 Failure,
5548 #[serde(rename = "neutral")]
5549 Neutral,
5550 #[serde(rename = "cancelled")]
5551 Cancelled,
5552 #[serde(rename = "timed_out")]
5553 TimedOut,
5554 #[serde(rename = "action_required")]
5555 ActionRequired,
5556 #[serde(rename = "stale")]
5557 Stale,
5558}
5559impl From<&CheckSuiteCompletedCheckSuiteConclusion> for CheckSuiteCompletedCheckSuiteConclusion {
5560 fn from(value: &CheckSuiteCompletedCheckSuiteConclusion) -> Self {
5561 value.clone()
5562 }
5563}
5564impl ToString for CheckSuiteCompletedCheckSuiteConclusion {
5565 fn to_string(&self) -> String {
5566 match *self {
5567 Self::Success => "success".to_string(),
5568 Self::Failure => "failure".to_string(),
5569 Self::Neutral => "neutral".to_string(),
5570 Self::Cancelled => "cancelled".to_string(),
5571 Self::TimedOut => "timed_out".to_string(),
5572 Self::ActionRequired => "action_required".to_string(),
5573 Self::Stale => "stale".to_string(),
5574 }
5575 }
5576}
5577impl std::str::FromStr for CheckSuiteCompletedCheckSuiteConclusion {
5578 type Err = &'static str;
5579
5580 fn from_str(value: &str) -> Result<Self, &'static str> {
5581 match value {
5582 "success" => Ok(Self::Success),
5583 "failure" => Ok(Self::Failure),
5584 "neutral" => Ok(Self::Neutral),
5585 "cancelled" => Ok(Self::Cancelled),
5586 "timed_out" => Ok(Self::TimedOut),
5587 "action_required" => Ok(Self::ActionRequired),
5588 "stale" => Ok(Self::Stale),
5589 _ => Err("invalid value"),
5590 }
5591 }
5592}
5593impl std::convert::TryFrom<&str> for CheckSuiteCompletedCheckSuiteConclusion {
5594 type Error = &'static str;
5595
5596 fn try_from(value: &str) -> Result<Self, &'static str> {
5597 value.parse()
5598 }
5599}
5600impl std::convert::TryFrom<&String> for CheckSuiteCompletedCheckSuiteConclusion {
5601 type Error = &'static str;
5602
5603 fn try_from(value: &String) -> Result<Self, &'static str> {
5604 value.parse()
5605 }
5606}
5607impl std::convert::TryFrom<String> for CheckSuiteCompletedCheckSuiteConclusion {
5608 type Error = &'static str;
5609
5610 fn try_from(value: String) -> Result<Self, &'static str> {
5611 value.parse()
5612 }
5613}
5614#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5617pub enum CheckSuiteCompletedCheckSuiteStatus {
5618 #[serde(rename = "requested")]
5619 Requested,
5620 #[serde(rename = "in_progress")]
5621 InProgress,
5622 #[serde(rename = "completed")]
5623 Completed,
5624 #[serde(rename = "queued")]
5625 Queued,
5626}
5627impl From<&CheckSuiteCompletedCheckSuiteStatus> for CheckSuiteCompletedCheckSuiteStatus {
5628 fn from(value: &CheckSuiteCompletedCheckSuiteStatus) -> Self {
5629 value.clone()
5630 }
5631}
5632impl ToString for CheckSuiteCompletedCheckSuiteStatus {
5633 fn to_string(&self) -> String {
5634 match *self {
5635 Self::Requested => "requested".to_string(),
5636 Self::InProgress => "in_progress".to_string(),
5637 Self::Completed => "completed".to_string(),
5638 Self::Queued => "queued".to_string(),
5639 }
5640 }
5641}
5642impl std::str::FromStr for CheckSuiteCompletedCheckSuiteStatus {
5643 type Err = &'static str;
5644
5645 fn from_str(value: &str) -> Result<Self, &'static str> {
5646 match value {
5647 "requested" => Ok(Self::Requested),
5648 "in_progress" => Ok(Self::InProgress),
5649 "completed" => Ok(Self::Completed),
5650 "queued" => Ok(Self::Queued),
5651 _ => Err("invalid value"),
5652 }
5653 }
5654}
5655impl std::convert::TryFrom<&str> for CheckSuiteCompletedCheckSuiteStatus {
5656 type Error = &'static str;
5657
5658 fn try_from(value: &str) -> Result<Self, &'static str> {
5659 value.parse()
5660 }
5661}
5662impl std::convert::TryFrom<&String> for CheckSuiteCompletedCheckSuiteStatus {
5663 type Error = &'static str;
5664
5665 fn try_from(value: &String) -> Result<Self, &'static str> {
5666 value.parse()
5667 }
5668}
5669impl std::convert::TryFrom<String> for CheckSuiteCompletedCheckSuiteStatus {
5670 type Error = &'static str;
5671
5672 fn try_from(value: String) -> Result<Self, &'static str> {
5673 value.parse()
5674 }
5675}
5676#[derive(Clone, Debug, Deserialize, Serialize)]
5677#[serde(untagged)]
5678pub enum CheckSuiteEvent {
5679 Completed(CheckSuiteCompleted),
5680 Requested(CheckSuiteRequested),
5681 Rerequested(CheckSuiteRerequested),
5682}
5683impl From<&CheckSuiteEvent> for CheckSuiteEvent {
5684 fn from(value: &CheckSuiteEvent) -> Self {
5685 value.clone()
5686 }
5687}
5688impl From<CheckSuiteCompleted> for CheckSuiteEvent {
5689 fn from(value: CheckSuiteCompleted) -> Self {
5690 Self::Completed(value)
5691 }
5692}
5693impl From<CheckSuiteRequested> for CheckSuiteEvent {
5694 fn from(value: CheckSuiteRequested) -> Self {
5695 Self::Requested(value)
5696 }
5697}
5698impl From<CheckSuiteRerequested> for CheckSuiteEvent {
5699 fn from(value: CheckSuiteRerequested) -> Self {
5700 Self::Rerequested(value)
5701 }
5702}
5703#[derive(Clone, Debug, Deserialize, Serialize)]
5704#[serde(deny_unknown_fields)]
5705pub struct CheckSuiteRequested {
5706 pub action: CheckSuiteRequestedAction,
5707 pub check_suite: CheckSuiteRequestedCheckSuite,
5708 #[serde(default, skip_serializing_if = "Option::is_none")]
5709 pub installation: Option<InstallationLite>,
5710 #[serde(default, skip_serializing_if = "Option::is_none")]
5711 pub organization: Option<Organization>,
5712 pub repository: Repository,
5713 pub sender: User,
5714}
5715impl From<&CheckSuiteRequested> for CheckSuiteRequested {
5716 fn from(value: &CheckSuiteRequested) -> Self {
5717 value.clone()
5718 }
5719}
5720#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5721pub enum CheckSuiteRequestedAction {
5722 #[serde(rename = "requested")]
5723 Requested,
5724}
5725impl From<&CheckSuiteRequestedAction> for CheckSuiteRequestedAction {
5726 fn from(value: &CheckSuiteRequestedAction) -> Self {
5727 value.clone()
5728 }
5729}
5730impl ToString for CheckSuiteRequestedAction {
5731 fn to_string(&self) -> String {
5732 match *self {
5733 Self::Requested => "requested".to_string(),
5734 }
5735 }
5736}
5737impl std::str::FromStr for CheckSuiteRequestedAction {
5738 type Err = &'static str;
5739
5740 fn from_str(value: &str) -> Result<Self, &'static str> {
5741 match value {
5742 "requested" => Ok(Self::Requested),
5743 _ => Err("invalid value"),
5744 }
5745 }
5746}
5747impl std::convert::TryFrom<&str> for CheckSuiteRequestedAction {
5748 type Error = &'static str;
5749
5750 fn try_from(value: &str) -> Result<Self, &'static str> {
5751 value.parse()
5752 }
5753}
5754impl std::convert::TryFrom<&String> for CheckSuiteRequestedAction {
5755 type Error = &'static str;
5756
5757 fn try_from(value: &String) -> Result<Self, &'static str> {
5758 value.parse()
5759 }
5760}
5761impl std::convert::TryFrom<String> for CheckSuiteRequestedAction {
5762 type Error = &'static str;
5763
5764 fn try_from(value: String) -> Result<Self, &'static str> {
5765 value.parse()
5766 }
5767}
5768#[derive(Clone, Debug, Deserialize, Serialize)]
5770#[serde(deny_unknown_fields)]
5771pub struct CheckSuiteRequestedCheckSuite {
5772 pub after: Option<String>,
5773 pub app: App,
5774 pub before: Option<String>,
5775 pub check_runs_url: String,
5776 pub conclusion: Option<CheckSuiteRequestedCheckSuiteConclusion>,
5781 pub created_at: chrono::DateTime<chrono::offset::Utc>,
5782 pub head_branch: Option<String>,
5784 pub head_commit: CommitSimple,
5785 pub head_sha: String,
5787 pub id: i64,
5788 pub latest_check_runs_count: i64,
5789 pub node_id: String,
5790 pub pull_requests: Vec<CheckRunPullRequest>,
5796 #[serde(default, skip_serializing_if = "Option::is_none")]
5797 pub rerequestable: Option<bool>,
5798 #[serde(default, skip_serializing_if = "Option::is_none")]
5799 pub runs_rerequestable: Option<bool>,
5800 pub status: Option<CheckSuiteRequestedCheckSuiteStatus>,
5803 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
5804 pub url: String,
5806}
5807impl From<&CheckSuiteRequestedCheckSuite> for CheckSuiteRequestedCheckSuite {
5808 fn from(value: &CheckSuiteRequestedCheckSuite) -> Self {
5809 value.clone()
5810 }
5811}
5812#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5817pub enum CheckSuiteRequestedCheckSuiteConclusion {
5818 #[serde(rename = "success")]
5819 Success,
5820 #[serde(rename = "failure")]
5821 Failure,
5822 #[serde(rename = "neutral")]
5823 Neutral,
5824 #[serde(rename = "cancelled")]
5825 Cancelled,
5826 #[serde(rename = "timed_out")]
5827 TimedOut,
5828 #[serde(rename = "action_required")]
5829 ActionRequired,
5830 #[serde(rename = "stale")]
5831 Stale,
5832}
5833impl From<&CheckSuiteRequestedCheckSuiteConclusion> for CheckSuiteRequestedCheckSuiteConclusion {
5834 fn from(value: &CheckSuiteRequestedCheckSuiteConclusion) -> Self {
5835 value.clone()
5836 }
5837}
5838impl ToString for CheckSuiteRequestedCheckSuiteConclusion {
5839 fn to_string(&self) -> String {
5840 match *self {
5841 Self::Success => "success".to_string(),
5842 Self::Failure => "failure".to_string(),
5843 Self::Neutral => "neutral".to_string(),
5844 Self::Cancelled => "cancelled".to_string(),
5845 Self::TimedOut => "timed_out".to_string(),
5846 Self::ActionRequired => "action_required".to_string(),
5847 Self::Stale => "stale".to_string(),
5848 }
5849 }
5850}
5851impl std::str::FromStr for CheckSuiteRequestedCheckSuiteConclusion {
5852 type Err = &'static str;
5853
5854 fn from_str(value: &str) -> Result<Self, &'static str> {
5855 match value {
5856 "success" => Ok(Self::Success),
5857 "failure" => Ok(Self::Failure),
5858 "neutral" => Ok(Self::Neutral),
5859 "cancelled" => Ok(Self::Cancelled),
5860 "timed_out" => Ok(Self::TimedOut),
5861 "action_required" => Ok(Self::ActionRequired),
5862 "stale" => Ok(Self::Stale),
5863 _ => Err("invalid value"),
5864 }
5865 }
5866}
5867impl std::convert::TryFrom<&str> for CheckSuiteRequestedCheckSuiteConclusion {
5868 type Error = &'static str;
5869
5870 fn try_from(value: &str) -> Result<Self, &'static str> {
5871 value.parse()
5872 }
5873}
5874impl std::convert::TryFrom<&String> for CheckSuiteRequestedCheckSuiteConclusion {
5875 type Error = &'static str;
5876
5877 fn try_from(value: &String) -> Result<Self, &'static str> {
5878 value.parse()
5879 }
5880}
5881impl std::convert::TryFrom<String> for CheckSuiteRequestedCheckSuiteConclusion {
5882 type Error = &'static str;
5883
5884 fn try_from(value: String) -> Result<Self, &'static str> {
5885 value.parse()
5886 }
5887}
5888#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5891pub enum CheckSuiteRequestedCheckSuiteStatus {
5892 #[serde(rename = "requested")]
5893 Requested,
5894 #[serde(rename = "in_progress")]
5895 InProgress,
5896 #[serde(rename = "completed")]
5897 Completed,
5898 #[serde(rename = "queued")]
5899 Queued,
5900}
5901impl From<&CheckSuiteRequestedCheckSuiteStatus> for CheckSuiteRequestedCheckSuiteStatus {
5902 fn from(value: &CheckSuiteRequestedCheckSuiteStatus) -> Self {
5903 value.clone()
5904 }
5905}
5906impl ToString for CheckSuiteRequestedCheckSuiteStatus {
5907 fn to_string(&self) -> String {
5908 match *self {
5909 Self::Requested => "requested".to_string(),
5910 Self::InProgress => "in_progress".to_string(),
5911 Self::Completed => "completed".to_string(),
5912 Self::Queued => "queued".to_string(),
5913 }
5914 }
5915}
5916impl std::str::FromStr for CheckSuiteRequestedCheckSuiteStatus {
5917 type Err = &'static str;
5918
5919 fn from_str(value: &str) -> Result<Self, &'static str> {
5920 match value {
5921 "requested" => Ok(Self::Requested),
5922 "in_progress" => Ok(Self::InProgress),
5923 "completed" => Ok(Self::Completed),
5924 "queued" => Ok(Self::Queued),
5925 _ => Err("invalid value"),
5926 }
5927 }
5928}
5929impl std::convert::TryFrom<&str> for CheckSuiteRequestedCheckSuiteStatus {
5930 type Error = &'static str;
5931
5932 fn try_from(value: &str) -> Result<Self, &'static str> {
5933 value.parse()
5934 }
5935}
5936impl std::convert::TryFrom<&String> for CheckSuiteRequestedCheckSuiteStatus {
5937 type Error = &'static str;
5938
5939 fn try_from(value: &String) -> Result<Self, &'static str> {
5940 value.parse()
5941 }
5942}
5943impl std::convert::TryFrom<String> for CheckSuiteRequestedCheckSuiteStatus {
5944 type Error = &'static str;
5945
5946 fn try_from(value: String) -> Result<Self, &'static str> {
5947 value.parse()
5948 }
5949}
5950#[derive(Clone, Debug, Deserialize, Serialize)]
5951#[serde(deny_unknown_fields)]
5952pub struct CheckSuiteRerequested {
5953 pub action: CheckSuiteRerequestedAction,
5954 pub check_suite: CheckSuiteRerequestedCheckSuite,
5955 #[serde(default, skip_serializing_if = "Option::is_none")]
5956 pub installation: Option<InstallationLite>,
5957 #[serde(default, skip_serializing_if = "Option::is_none")]
5958 pub organization: Option<Organization>,
5959 pub repository: Repository,
5960 pub sender: User,
5961}
5962impl From<&CheckSuiteRerequested> for CheckSuiteRerequested {
5963 fn from(value: &CheckSuiteRerequested) -> Self {
5964 value.clone()
5965 }
5966}
5967#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
5968pub enum CheckSuiteRerequestedAction {
5969 #[serde(rename = "rerequested")]
5970 Rerequested,
5971}
5972impl From<&CheckSuiteRerequestedAction> for CheckSuiteRerequestedAction {
5973 fn from(value: &CheckSuiteRerequestedAction) -> Self {
5974 value.clone()
5975 }
5976}
5977impl ToString for CheckSuiteRerequestedAction {
5978 fn to_string(&self) -> String {
5979 match *self {
5980 Self::Rerequested => "rerequested".to_string(),
5981 }
5982 }
5983}
5984impl std::str::FromStr for CheckSuiteRerequestedAction {
5985 type Err = &'static str;
5986
5987 fn from_str(value: &str) -> Result<Self, &'static str> {
5988 match value {
5989 "rerequested" => Ok(Self::Rerequested),
5990 _ => Err("invalid value"),
5991 }
5992 }
5993}
5994impl std::convert::TryFrom<&str> for CheckSuiteRerequestedAction {
5995 type Error = &'static str;
5996
5997 fn try_from(value: &str) -> Result<Self, &'static str> {
5998 value.parse()
5999 }
6000}
6001impl std::convert::TryFrom<&String> for CheckSuiteRerequestedAction {
6002 type Error = &'static str;
6003
6004 fn try_from(value: &String) -> Result<Self, &'static str> {
6005 value.parse()
6006 }
6007}
6008impl std::convert::TryFrom<String> for CheckSuiteRerequestedAction {
6009 type Error = &'static str;
6010
6011 fn try_from(value: String) -> Result<Self, &'static str> {
6012 value.parse()
6013 }
6014}
6015#[derive(Clone, Debug, Deserialize, Serialize)]
6017#[serde(deny_unknown_fields)]
6018pub struct CheckSuiteRerequestedCheckSuite {
6019 pub after: Option<String>,
6020 pub app: App,
6021 pub before: Option<String>,
6022 pub check_runs_url: String,
6023 pub conclusion: Option<CheckSuiteRerequestedCheckSuiteConclusion>,
6028 pub created_at: chrono::DateTime<chrono::offset::Utc>,
6029 pub head_branch: Option<String>,
6031 pub head_commit: CommitSimple,
6032 pub head_sha: String,
6034 pub id: i64,
6035 pub latest_check_runs_count: i64,
6036 pub node_id: String,
6037 pub pull_requests: Vec<CheckRunPullRequest>,
6043 pub status: Option<CheckSuiteRerequestedCheckSuiteStatus>,
6046 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
6047 pub url: String,
6049}
6050impl From<&CheckSuiteRerequestedCheckSuite> for CheckSuiteRerequestedCheckSuite {
6051 fn from(value: &CheckSuiteRerequestedCheckSuite) -> Self {
6052 value.clone()
6053 }
6054}
6055#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6060pub enum CheckSuiteRerequestedCheckSuiteConclusion {
6061 #[serde(rename = "success")]
6062 Success,
6063 #[serde(rename = "failure")]
6064 Failure,
6065 #[serde(rename = "neutral")]
6066 Neutral,
6067 #[serde(rename = "cancelled")]
6068 Cancelled,
6069 #[serde(rename = "timed_out")]
6070 TimedOut,
6071 #[serde(rename = "action_required")]
6072 ActionRequired,
6073 #[serde(rename = "stale")]
6074 Stale,
6075}
6076impl From<&CheckSuiteRerequestedCheckSuiteConclusion>
6077 for CheckSuiteRerequestedCheckSuiteConclusion
6078{
6079 fn from(value: &CheckSuiteRerequestedCheckSuiteConclusion) -> Self {
6080 value.clone()
6081 }
6082}
6083impl ToString for CheckSuiteRerequestedCheckSuiteConclusion {
6084 fn to_string(&self) -> String {
6085 match *self {
6086 Self::Success => "success".to_string(),
6087 Self::Failure => "failure".to_string(),
6088 Self::Neutral => "neutral".to_string(),
6089 Self::Cancelled => "cancelled".to_string(),
6090 Self::TimedOut => "timed_out".to_string(),
6091 Self::ActionRequired => "action_required".to_string(),
6092 Self::Stale => "stale".to_string(),
6093 }
6094 }
6095}
6096impl std::str::FromStr for CheckSuiteRerequestedCheckSuiteConclusion {
6097 type Err = &'static str;
6098
6099 fn from_str(value: &str) -> Result<Self, &'static str> {
6100 match value {
6101 "success" => Ok(Self::Success),
6102 "failure" => Ok(Self::Failure),
6103 "neutral" => Ok(Self::Neutral),
6104 "cancelled" => Ok(Self::Cancelled),
6105 "timed_out" => Ok(Self::TimedOut),
6106 "action_required" => Ok(Self::ActionRequired),
6107 "stale" => Ok(Self::Stale),
6108 _ => Err("invalid value"),
6109 }
6110 }
6111}
6112impl std::convert::TryFrom<&str> for CheckSuiteRerequestedCheckSuiteConclusion {
6113 type Error = &'static str;
6114
6115 fn try_from(value: &str) -> Result<Self, &'static str> {
6116 value.parse()
6117 }
6118}
6119impl std::convert::TryFrom<&String> for CheckSuiteRerequestedCheckSuiteConclusion {
6120 type Error = &'static str;
6121
6122 fn try_from(value: &String) -> Result<Self, &'static str> {
6123 value.parse()
6124 }
6125}
6126impl std::convert::TryFrom<String> for CheckSuiteRerequestedCheckSuiteConclusion {
6127 type Error = &'static str;
6128
6129 fn try_from(value: String) -> Result<Self, &'static str> {
6130 value.parse()
6131 }
6132}
6133#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6136pub enum CheckSuiteRerequestedCheckSuiteStatus {
6137 #[serde(rename = "requested")]
6138 Requested,
6139 #[serde(rename = "in_progress")]
6140 InProgress,
6141 #[serde(rename = "completed")]
6142 Completed,
6143 #[serde(rename = "queued")]
6144 Queued,
6145}
6146impl From<&CheckSuiteRerequestedCheckSuiteStatus> for CheckSuiteRerequestedCheckSuiteStatus {
6147 fn from(value: &CheckSuiteRerequestedCheckSuiteStatus) -> Self {
6148 value.clone()
6149 }
6150}
6151impl ToString for CheckSuiteRerequestedCheckSuiteStatus {
6152 fn to_string(&self) -> String {
6153 match *self {
6154 Self::Requested => "requested".to_string(),
6155 Self::InProgress => "in_progress".to_string(),
6156 Self::Completed => "completed".to_string(),
6157 Self::Queued => "queued".to_string(),
6158 }
6159 }
6160}
6161impl std::str::FromStr for CheckSuiteRerequestedCheckSuiteStatus {
6162 type Err = &'static str;
6163
6164 fn from_str(value: &str) -> Result<Self, &'static str> {
6165 match value {
6166 "requested" => Ok(Self::Requested),
6167 "in_progress" => Ok(Self::InProgress),
6168 "completed" => Ok(Self::Completed),
6169 "queued" => Ok(Self::Queued),
6170 _ => Err("invalid value"),
6171 }
6172 }
6173}
6174impl std::convert::TryFrom<&str> for CheckSuiteRerequestedCheckSuiteStatus {
6175 type Error = &'static str;
6176
6177 fn try_from(value: &str) -> Result<Self, &'static str> {
6178 value.parse()
6179 }
6180}
6181impl std::convert::TryFrom<&String> for CheckSuiteRerequestedCheckSuiteStatus {
6182 type Error = &'static str;
6183
6184 fn try_from(value: &String) -> Result<Self, &'static str> {
6185 value.parse()
6186 }
6187}
6188impl std::convert::TryFrom<String> for CheckSuiteRerequestedCheckSuiteStatus {
6189 type Error = &'static str;
6190
6191 fn try_from(value: String) -> Result<Self, &'static str> {
6192 value.parse()
6193 }
6194}
6195#[derive(Clone, Debug, Deserialize, Serialize)]
6196#[serde(deny_unknown_fields)]
6197pub struct CodeScanningAlertAppearedInBranch {
6198 pub action: CodeScanningAlertAppearedInBranchAction,
6199 pub alert: CodeScanningAlertAppearedInBranchAlert,
6200 pub commit_oid: String,
6204 #[serde(default, skip_serializing_if = "Option::is_none")]
6205 pub installation: Option<InstallationLite>,
6206 #[serde(default, skip_serializing_if = "Option::is_none")]
6207 pub organization: Option<Organization>,
6208 #[serde(rename = "ref")]
6212 pub ref_: String,
6213 pub repository: Repository,
6214 pub sender: GithubOrg,
6215}
6216impl From<&CodeScanningAlertAppearedInBranch> for CodeScanningAlertAppearedInBranch {
6217 fn from(value: &CodeScanningAlertAppearedInBranch) -> Self {
6218 value.clone()
6219 }
6220}
6221#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6222pub enum CodeScanningAlertAppearedInBranchAction {
6223 #[serde(rename = "appeared_in_branch")]
6224 AppearedInBranch,
6225}
6226impl From<&CodeScanningAlertAppearedInBranchAction> for CodeScanningAlertAppearedInBranchAction {
6227 fn from(value: &CodeScanningAlertAppearedInBranchAction) -> Self {
6228 value.clone()
6229 }
6230}
6231impl ToString for CodeScanningAlertAppearedInBranchAction {
6232 fn to_string(&self) -> String {
6233 match *self {
6234 Self::AppearedInBranch => "appeared_in_branch".to_string(),
6235 }
6236 }
6237}
6238impl std::str::FromStr for CodeScanningAlertAppearedInBranchAction {
6239 type Err = &'static str;
6240
6241 fn from_str(value: &str) -> Result<Self, &'static str> {
6242 match value {
6243 "appeared_in_branch" => Ok(Self::AppearedInBranch),
6244 _ => Err("invalid value"),
6245 }
6246 }
6247}
6248impl std::convert::TryFrom<&str> for CodeScanningAlertAppearedInBranchAction {
6249 type Error = &'static str;
6250
6251 fn try_from(value: &str) -> Result<Self, &'static str> {
6252 value.parse()
6253 }
6254}
6255impl std::convert::TryFrom<&String> for CodeScanningAlertAppearedInBranchAction {
6256 type Error = &'static str;
6257
6258 fn try_from(value: &String) -> Result<Self, &'static str> {
6259 value.parse()
6260 }
6261}
6262impl std::convert::TryFrom<String> for CodeScanningAlertAppearedInBranchAction {
6263 type Error = &'static str;
6264
6265 fn try_from(value: String) -> Result<Self, &'static str> {
6266 value.parse()
6267 }
6268}
6269#[derive(Clone, Debug, Deserialize, Serialize)]
6271#[serde(deny_unknown_fields)]
6272pub struct CodeScanningAlertAppearedInBranchAlert {
6273 pub created_at: chrono::DateTime<chrono::offset::Utc>,
6276 pub dismissed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
6279 pub dismissed_by: Option<User>,
6280 pub dismissed_reason: Option<CodeScanningAlertAppearedInBranchAlertDismissedReason>,
6283 pub html_url: String,
6285 pub instances: Vec<AlertInstance>,
6286 #[serde(default, skip_serializing_if = "Option::is_none")]
6287 pub most_recent_instance: Option<AlertInstance>,
6288 pub number: i64,
6290 pub rule: CodeScanningAlertAppearedInBranchAlertRule,
6291 pub state: CodeScanningAlertAppearedInBranchAlertState,
6293 pub tool: CodeScanningAlertAppearedInBranchAlertTool,
6294 pub url: String,
6296}
6297impl From<&CodeScanningAlertAppearedInBranchAlert> for CodeScanningAlertAppearedInBranchAlert {
6298 fn from(value: &CodeScanningAlertAppearedInBranchAlert) -> Self {
6299 value.clone()
6300 }
6301}
6302#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6305pub enum CodeScanningAlertAppearedInBranchAlertDismissedReason {
6306 #[serde(rename = "false positive")]
6307 FalsePositive,
6308 #[serde(rename = "won't fix")]
6309 WontFix,
6310 #[serde(rename = "used in tests")]
6311 UsedInTests,
6312}
6313impl From<&CodeScanningAlertAppearedInBranchAlertDismissedReason>
6314 for CodeScanningAlertAppearedInBranchAlertDismissedReason
6315{
6316 fn from(value: &CodeScanningAlertAppearedInBranchAlertDismissedReason) -> Self {
6317 value.clone()
6318 }
6319}
6320impl ToString for CodeScanningAlertAppearedInBranchAlertDismissedReason {
6321 fn to_string(&self) -> String {
6322 match *self {
6323 Self::FalsePositive => "false positive".to_string(),
6324 Self::WontFix => "won't fix".to_string(),
6325 Self::UsedInTests => "used in tests".to_string(),
6326 }
6327 }
6328}
6329impl std::str::FromStr for CodeScanningAlertAppearedInBranchAlertDismissedReason {
6330 type Err = &'static str;
6331
6332 fn from_str(value: &str) -> Result<Self, &'static str> {
6333 match value {
6334 "false positive" => Ok(Self::FalsePositive),
6335 "won't fix" => Ok(Self::WontFix),
6336 "used in tests" => Ok(Self::UsedInTests),
6337 _ => Err("invalid value"),
6338 }
6339 }
6340}
6341impl std::convert::TryFrom<&str> for CodeScanningAlertAppearedInBranchAlertDismissedReason {
6342 type Error = &'static str;
6343
6344 fn try_from(value: &str) -> Result<Self, &'static str> {
6345 value.parse()
6346 }
6347}
6348impl std::convert::TryFrom<&String> for CodeScanningAlertAppearedInBranchAlertDismissedReason {
6349 type Error = &'static str;
6350
6351 fn try_from(value: &String) -> Result<Self, &'static str> {
6352 value.parse()
6353 }
6354}
6355impl std::convert::TryFrom<String> for CodeScanningAlertAppearedInBranchAlertDismissedReason {
6356 type Error = &'static str;
6357
6358 fn try_from(value: String) -> Result<Self, &'static str> {
6359 value.parse()
6360 }
6361}
6362#[derive(Clone, Debug, Deserialize, Serialize)]
6363#[serde(deny_unknown_fields)]
6364pub struct CodeScanningAlertAppearedInBranchAlertRule {
6365 pub description: String,
6367 pub id: String,
6369 pub severity: Option<CodeScanningAlertAppearedInBranchAlertRuleSeverity>,
6371}
6372impl From<&CodeScanningAlertAppearedInBranchAlertRule>
6373 for CodeScanningAlertAppearedInBranchAlertRule
6374{
6375 fn from(value: &CodeScanningAlertAppearedInBranchAlertRule) -> Self {
6376 value.clone()
6377 }
6378}
6379#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6381pub enum CodeScanningAlertAppearedInBranchAlertRuleSeverity {
6382 #[serde(rename = "none")]
6383 None,
6384 #[serde(rename = "note")]
6385 Note,
6386 #[serde(rename = "warning")]
6387 Warning,
6388 #[serde(rename = "error")]
6389 Error,
6390}
6391impl From<&CodeScanningAlertAppearedInBranchAlertRuleSeverity>
6392 for CodeScanningAlertAppearedInBranchAlertRuleSeverity
6393{
6394 fn from(value: &CodeScanningAlertAppearedInBranchAlertRuleSeverity) -> Self {
6395 value.clone()
6396 }
6397}
6398impl ToString for CodeScanningAlertAppearedInBranchAlertRuleSeverity {
6399 fn to_string(&self) -> String {
6400 match *self {
6401 Self::None => "none".to_string(),
6402 Self::Note => "note".to_string(),
6403 Self::Warning => "warning".to_string(),
6404 Self::Error => "error".to_string(),
6405 }
6406 }
6407}
6408impl std::str::FromStr for CodeScanningAlertAppearedInBranchAlertRuleSeverity {
6409 type Err = &'static str;
6410
6411 fn from_str(value: &str) -> Result<Self, &'static str> {
6412 match value {
6413 "none" => Ok(Self::None),
6414 "note" => Ok(Self::Note),
6415 "warning" => Ok(Self::Warning),
6416 "error" => Ok(Self::Error),
6417 _ => Err("invalid value"),
6418 }
6419 }
6420}
6421impl std::convert::TryFrom<&str> for CodeScanningAlertAppearedInBranchAlertRuleSeverity {
6422 type Error = &'static str;
6423
6424 fn try_from(value: &str) -> Result<Self, &'static str> {
6425 value.parse()
6426 }
6427}
6428impl std::convert::TryFrom<&String> for CodeScanningAlertAppearedInBranchAlertRuleSeverity {
6429 type Error = &'static str;
6430
6431 fn try_from(value: &String) -> Result<Self, &'static str> {
6432 value.parse()
6433 }
6434}
6435impl std::convert::TryFrom<String> for CodeScanningAlertAppearedInBranchAlertRuleSeverity {
6436 type Error = &'static str;
6437
6438 fn try_from(value: String) -> Result<Self, &'static str> {
6439 value.parse()
6440 }
6441}
6442#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6444pub enum CodeScanningAlertAppearedInBranchAlertState {
6445 #[serde(rename = "open")]
6446 Open,
6447 #[serde(rename = "dismissed")]
6448 Dismissed,
6449 #[serde(rename = "fixed")]
6450 Fixed,
6451}
6452impl From<&CodeScanningAlertAppearedInBranchAlertState>
6453 for CodeScanningAlertAppearedInBranchAlertState
6454{
6455 fn from(value: &CodeScanningAlertAppearedInBranchAlertState) -> Self {
6456 value.clone()
6457 }
6458}
6459impl ToString for CodeScanningAlertAppearedInBranchAlertState {
6460 fn to_string(&self) -> String {
6461 match *self {
6462 Self::Open => "open".to_string(),
6463 Self::Dismissed => "dismissed".to_string(),
6464 Self::Fixed => "fixed".to_string(),
6465 }
6466 }
6467}
6468impl std::str::FromStr for CodeScanningAlertAppearedInBranchAlertState {
6469 type Err = &'static str;
6470
6471 fn from_str(value: &str) -> Result<Self, &'static str> {
6472 match value {
6473 "open" => Ok(Self::Open),
6474 "dismissed" => Ok(Self::Dismissed),
6475 "fixed" => Ok(Self::Fixed),
6476 _ => Err("invalid value"),
6477 }
6478 }
6479}
6480impl std::convert::TryFrom<&str> for CodeScanningAlertAppearedInBranchAlertState {
6481 type Error = &'static str;
6482
6483 fn try_from(value: &str) -> Result<Self, &'static str> {
6484 value.parse()
6485 }
6486}
6487impl std::convert::TryFrom<&String> for CodeScanningAlertAppearedInBranchAlertState {
6488 type Error = &'static str;
6489
6490 fn try_from(value: &String) -> Result<Self, &'static str> {
6491 value.parse()
6492 }
6493}
6494impl std::convert::TryFrom<String> for CodeScanningAlertAppearedInBranchAlertState {
6495 type Error = &'static str;
6496
6497 fn try_from(value: String) -> Result<Self, &'static str> {
6498 value.parse()
6499 }
6500}
6501#[derive(Clone, Debug, Deserialize, Serialize)]
6502#[serde(deny_unknown_fields)]
6503pub struct CodeScanningAlertAppearedInBranchAlertTool {
6504 pub name: String,
6506 pub version: Option<String>,
6508}
6509impl From<&CodeScanningAlertAppearedInBranchAlertTool>
6510 for CodeScanningAlertAppearedInBranchAlertTool
6511{
6512 fn from(value: &CodeScanningAlertAppearedInBranchAlertTool) -> Self {
6513 value.clone()
6514 }
6515}
6516#[derive(Clone, Debug, Deserialize, Serialize)]
6517#[serde(deny_unknown_fields)]
6518pub struct CodeScanningAlertClosedByUser {
6519 pub action: CodeScanningAlertClosedByUserAction,
6520 pub alert: CodeScanningAlertClosedByUserAlert,
6521 pub commit_oid: String,
6525 #[serde(default, skip_serializing_if = "Option::is_none")]
6526 pub installation: Option<InstallationLite>,
6527 #[serde(default, skip_serializing_if = "Option::is_none")]
6528 pub organization: Option<Organization>,
6529 #[serde(rename = "ref")]
6533 pub ref_: String,
6534 pub repository: Repository,
6535 pub sender: User,
6536}
6537impl From<&CodeScanningAlertClosedByUser> for CodeScanningAlertClosedByUser {
6538 fn from(value: &CodeScanningAlertClosedByUser) -> Self {
6539 value.clone()
6540 }
6541}
6542#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6543pub enum CodeScanningAlertClosedByUserAction {
6544 #[serde(rename = "closed_by_user")]
6545 ClosedByUser,
6546}
6547impl From<&CodeScanningAlertClosedByUserAction> for CodeScanningAlertClosedByUserAction {
6548 fn from(value: &CodeScanningAlertClosedByUserAction) -> Self {
6549 value.clone()
6550 }
6551}
6552impl ToString for CodeScanningAlertClosedByUserAction {
6553 fn to_string(&self) -> String {
6554 match *self {
6555 Self::ClosedByUser => "closed_by_user".to_string(),
6556 }
6557 }
6558}
6559impl std::str::FromStr for CodeScanningAlertClosedByUserAction {
6560 type Err = &'static str;
6561
6562 fn from_str(value: &str) -> Result<Self, &'static str> {
6563 match value {
6564 "closed_by_user" => Ok(Self::ClosedByUser),
6565 _ => Err("invalid value"),
6566 }
6567 }
6568}
6569impl std::convert::TryFrom<&str> for CodeScanningAlertClosedByUserAction {
6570 type Error = &'static str;
6571
6572 fn try_from(value: &str) -> Result<Self, &'static str> {
6573 value.parse()
6574 }
6575}
6576impl std::convert::TryFrom<&String> for CodeScanningAlertClosedByUserAction {
6577 type Error = &'static str;
6578
6579 fn try_from(value: &String) -> Result<Self, &'static str> {
6580 value.parse()
6581 }
6582}
6583impl std::convert::TryFrom<String> for CodeScanningAlertClosedByUserAction {
6584 type Error = &'static str;
6585
6586 fn try_from(value: String) -> Result<Self, &'static str> {
6587 value.parse()
6588 }
6589}
6590#[derive(Clone, Debug, Deserialize, Serialize)]
6592#[serde(deny_unknown_fields)]
6593pub struct CodeScanningAlertClosedByUserAlert {
6594 pub created_at: chrono::DateTime<chrono::offset::Utc>,
6597 pub dismissed_at: chrono::DateTime<chrono::offset::Utc>,
6600 pub dismissed_by: User,
6601 pub dismissed_reason: Option<CodeScanningAlertClosedByUserAlertDismissedReason>,
6604 pub html_url: String,
6606 pub instances: Vec<AlertInstance>,
6607 #[serde(default, skip_serializing_if = "Option::is_none")]
6608 pub most_recent_instance: Option<AlertInstance>,
6609 pub number: i64,
6611 pub rule: CodeScanningAlertClosedByUserAlertRule,
6612 pub state: CodeScanningAlertClosedByUserAlertState,
6614 pub tool: CodeScanningAlertClosedByUserAlertTool,
6615 pub url: String,
6617}
6618impl From<&CodeScanningAlertClosedByUserAlert> for CodeScanningAlertClosedByUserAlert {
6619 fn from(value: &CodeScanningAlertClosedByUserAlert) -> Self {
6620 value.clone()
6621 }
6622}
6623#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6626pub enum CodeScanningAlertClosedByUserAlertDismissedReason {
6627 #[serde(rename = "false positive")]
6628 FalsePositive,
6629 #[serde(rename = "won't fix")]
6630 WontFix,
6631 #[serde(rename = "used in tests")]
6632 UsedInTests,
6633}
6634impl From<&CodeScanningAlertClosedByUserAlertDismissedReason>
6635 for CodeScanningAlertClosedByUserAlertDismissedReason
6636{
6637 fn from(value: &CodeScanningAlertClosedByUserAlertDismissedReason) -> Self {
6638 value.clone()
6639 }
6640}
6641impl ToString for CodeScanningAlertClosedByUserAlertDismissedReason {
6642 fn to_string(&self) -> String {
6643 match *self {
6644 Self::FalsePositive => "false positive".to_string(),
6645 Self::WontFix => "won't fix".to_string(),
6646 Self::UsedInTests => "used in tests".to_string(),
6647 }
6648 }
6649}
6650impl std::str::FromStr for CodeScanningAlertClosedByUserAlertDismissedReason {
6651 type Err = &'static str;
6652
6653 fn from_str(value: &str) -> Result<Self, &'static str> {
6654 match value {
6655 "false positive" => Ok(Self::FalsePositive),
6656 "won't fix" => Ok(Self::WontFix),
6657 "used in tests" => Ok(Self::UsedInTests),
6658 _ => Err("invalid value"),
6659 }
6660 }
6661}
6662impl std::convert::TryFrom<&str> for CodeScanningAlertClosedByUserAlertDismissedReason {
6663 type Error = &'static str;
6664
6665 fn try_from(value: &str) -> Result<Self, &'static str> {
6666 value.parse()
6667 }
6668}
6669impl std::convert::TryFrom<&String> for CodeScanningAlertClosedByUserAlertDismissedReason {
6670 type Error = &'static str;
6671
6672 fn try_from(value: &String) -> Result<Self, &'static str> {
6673 value.parse()
6674 }
6675}
6676impl std::convert::TryFrom<String> for CodeScanningAlertClosedByUserAlertDismissedReason {
6677 type Error = &'static str;
6678
6679 fn try_from(value: String) -> Result<Self, &'static str> {
6680 value.parse()
6681 }
6682}
6683#[derive(Clone, Debug, Deserialize, Serialize)]
6684#[serde(deny_unknown_fields)]
6685pub struct CodeScanningAlertClosedByUserAlertRule {
6686 pub description: String,
6688 #[serde(default, skip_serializing_if = "Option::is_none")]
6689 pub full_description: Option<String>,
6690 #[serde(default)]
6691 pub help: (),
6692 pub id: String,
6694 #[serde(default, skip_serializing_if = "Option::is_none")]
6695 pub name: Option<String>,
6696 pub severity: Option<CodeScanningAlertClosedByUserAlertRuleSeverity>,
6698 #[serde(default)]
6699 pub tags: (),
6700}
6701impl From<&CodeScanningAlertClosedByUserAlertRule> for CodeScanningAlertClosedByUserAlertRule {
6702 fn from(value: &CodeScanningAlertClosedByUserAlertRule) -> Self {
6703 value.clone()
6704 }
6705}
6706#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6708pub enum CodeScanningAlertClosedByUserAlertRuleSeverity {
6709 #[serde(rename = "none")]
6710 None,
6711 #[serde(rename = "note")]
6712 Note,
6713 #[serde(rename = "warning")]
6714 Warning,
6715 #[serde(rename = "error")]
6716 Error,
6717}
6718impl From<&CodeScanningAlertClosedByUserAlertRuleSeverity>
6719 for CodeScanningAlertClosedByUserAlertRuleSeverity
6720{
6721 fn from(value: &CodeScanningAlertClosedByUserAlertRuleSeverity) -> Self {
6722 value.clone()
6723 }
6724}
6725impl ToString for CodeScanningAlertClosedByUserAlertRuleSeverity {
6726 fn to_string(&self) -> String {
6727 match *self {
6728 Self::None => "none".to_string(),
6729 Self::Note => "note".to_string(),
6730 Self::Warning => "warning".to_string(),
6731 Self::Error => "error".to_string(),
6732 }
6733 }
6734}
6735impl std::str::FromStr for CodeScanningAlertClosedByUserAlertRuleSeverity {
6736 type Err = &'static str;
6737
6738 fn from_str(value: &str) -> Result<Self, &'static str> {
6739 match value {
6740 "none" => Ok(Self::None),
6741 "note" => Ok(Self::Note),
6742 "warning" => Ok(Self::Warning),
6743 "error" => Ok(Self::Error),
6744 _ => Err("invalid value"),
6745 }
6746 }
6747}
6748impl std::convert::TryFrom<&str> for CodeScanningAlertClosedByUserAlertRuleSeverity {
6749 type Error = &'static str;
6750
6751 fn try_from(value: &str) -> Result<Self, &'static str> {
6752 value.parse()
6753 }
6754}
6755impl std::convert::TryFrom<&String> for CodeScanningAlertClosedByUserAlertRuleSeverity {
6756 type Error = &'static str;
6757
6758 fn try_from(value: &String) -> Result<Self, &'static str> {
6759 value.parse()
6760 }
6761}
6762impl std::convert::TryFrom<String> for CodeScanningAlertClosedByUserAlertRuleSeverity {
6763 type Error = &'static str;
6764
6765 fn try_from(value: String) -> Result<Self, &'static str> {
6766 value.parse()
6767 }
6768}
6769#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6771pub enum CodeScanningAlertClosedByUserAlertState {
6772 #[serde(rename = "dismissed")]
6773 Dismissed,
6774}
6775impl From<&CodeScanningAlertClosedByUserAlertState> for CodeScanningAlertClosedByUserAlertState {
6776 fn from(value: &CodeScanningAlertClosedByUserAlertState) -> Self {
6777 value.clone()
6778 }
6779}
6780impl ToString for CodeScanningAlertClosedByUserAlertState {
6781 fn to_string(&self) -> String {
6782 match *self {
6783 Self::Dismissed => "dismissed".to_string(),
6784 }
6785 }
6786}
6787impl std::str::FromStr for CodeScanningAlertClosedByUserAlertState {
6788 type Err = &'static str;
6789
6790 fn from_str(value: &str) -> Result<Self, &'static str> {
6791 match value {
6792 "dismissed" => Ok(Self::Dismissed),
6793 _ => Err("invalid value"),
6794 }
6795 }
6796}
6797impl std::convert::TryFrom<&str> for CodeScanningAlertClosedByUserAlertState {
6798 type Error = &'static str;
6799
6800 fn try_from(value: &str) -> Result<Self, &'static str> {
6801 value.parse()
6802 }
6803}
6804impl std::convert::TryFrom<&String> for CodeScanningAlertClosedByUserAlertState {
6805 type Error = &'static str;
6806
6807 fn try_from(value: &String) -> Result<Self, &'static str> {
6808 value.parse()
6809 }
6810}
6811impl std::convert::TryFrom<String> for CodeScanningAlertClosedByUserAlertState {
6812 type Error = &'static str;
6813
6814 fn try_from(value: String) -> Result<Self, &'static str> {
6815 value.parse()
6816 }
6817}
6818#[derive(Clone, Debug, Deserialize, Serialize)]
6819#[serde(deny_unknown_fields)]
6820pub struct CodeScanningAlertClosedByUserAlertTool {
6821 #[serde(default, skip_serializing_if = "Option::is_none")]
6822 pub guid: Option<String>,
6823 pub name: String,
6825 pub version: Option<String>,
6827}
6828impl From<&CodeScanningAlertClosedByUserAlertTool> for CodeScanningAlertClosedByUserAlertTool {
6829 fn from(value: &CodeScanningAlertClosedByUserAlertTool) -> Self {
6830 value.clone()
6831 }
6832}
6833#[derive(Clone, Debug, Deserialize, Serialize)]
6834#[serde(deny_unknown_fields)]
6835pub struct CodeScanningAlertCreated {
6836 pub action: CodeScanningAlertCreatedAction,
6837 pub alert: CodeScanningAlertCreatedAlert,
6838 pub commit_oid: String,
6842 #[serde(default, skip_serializing_if = "Option::is_none")]
6843 pub installation: Option<InstallationLite>,
6844 #[serde(default, skip_serializing_if = "Option::is_none")]
6845 pub organization: Option<Organization>,
6846 #[serde(rename = "ref")]
6850 pub ref_: String,
6851 pub repository: Repository,
6852 pub sender: GithubOrg,
6853}
6854impl From<&CodeScanningAlertCreated> for CodeScanningAlertCreated {
6855 fn from(value: &CodeScanningAlertCreated) -> Self {
6856 value.clone()
6857 }
6858}
6859#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6860pub enum CodeScanningAlertCreatedAction {
6861 #[serde(rename = "created")]
6862 Created,
6863}
6864impl From<&CodeScanningAlertCreatedAction> for CodeScanningAlertCreatedAction {
6865 fn from(value: &CodeScanningAlertCreatedAction) -> Self {
6866 value.clone()
6867 }
6868}
6869impl ToString for CodeScanningAlertCreatedAction {
6870 fn to_string(&self) -> String {
6871 match *self {
6872 Self::Created => "created".to_string(),
6873 }
6874 }
6875}
6876impl std::str::FromStr for CodeScanningAlertCreatedAction {
6877 type Err = &'static str;
6878
6879 fn from_str(value: &str) -> Result<Self, &'static str> {
6880 match value {
6881 "created" => Ok(Self::Created),
6882 _ => Err("invalid value"),
6883 }
6884 }
6885}
6886impl std::convert::TryFrom<&str> for CodeScanningAlertCreatedAction {
6887 type Error = &'static str;
6888
6889 fn try_from(value: &str) -> Result<Self, &'static str> {
6890 value.parse()
6891 }
6892}
6893impl std::convert::TryFrom<&String> for CodeScanningAlertCreatedAction {
6894 type Error = &'static str;
6895
6896 fn try_from(value: &String) -> Result<Self, &'static str> {
6897 value.parse()
6898 }
6899}
6900impl std::convert::TryFrom<String> for CodeScanningAlertCreatedAction {
6901 type Error = &'static str;
6902
6903 fn try_from(value: String) -> Result<Self, &'static str> {
6904 value.parse()
6905 }
6906}
6907#[derive(Clone, Debug, Deserialize, Serialize)]
6909#[serde(deny_unknown_fields)]
6910pub struct CodeScanningAlertCreatedAlert {
6911 pub created_at: chrono::DateTime<chrono::offset::Utc>,
6914 pub dismissed_at: (),
6917 pub dismissed_by: (),
6918 pub dismissed_reason: (),
6921 pub html_url: String,
6923 pub instances: Vec<AlertInstance>,
6924 #[serde(default, skip_serializing_if = "Option::is_none")]
6925 pub most_recent_instance: Option<AlertInstance>,
6926 pub number: i64,
6928 pub rule: CodeScanningAlertCreatedAlertRule,
6929 pub state: CodeScanningAlertCreatedAlertState,
6931 pub tool: CodeScanningAlertCreatedAlertTool,
6932 pub url: String,
6934}
6935impl From<&CodeScanningAlertCreatedAlert> for CodeScanningAlertCreatedAlert {
6936 fn from(value: &CodeScanningAlertCreatedAlert) -> Self {
6937 value.clone()
6938 }
6939}
6940#[derive(Clone, Debug, Deserialize, Serialize)]
6941#[serde(deny_unknown_fields)]
6942pub struct CodeScanningAlertCreatedAlertRule {
6943 pub description: String,
6945 #[serde(default, skip_serializing_if = "Option::is_none")]
6946 pub full_description: Option<String>,
6947 #[serde(default)]
6948 pub help: (),
6949 pub id: String,
6951 #[serde(default, skip_serializing_if = "Option::is_none")]
6952 pub name: Option<String>,
6953 pub severity: Option<CodeScanningAlertCreatedAlertRuleSeverity>,
6955 #[serde(default)]
6956 pub tags: (),
6957}
6958impl From<&CodeScanningAlertCreatedAlertRule> for CodeScanningAlertCreatedAlertRule {
6959 fn from(value: &CodeScanningAlertCreatedAlertRule) -> Self {
6960 value.clone()
6961 }
6962}
6963#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
6965pub enum CodeScanningAlertCreatedAlertRuleSeverity {
6966 #[serde(rename = "none")]
6967 None,
6968 #[serde(rename = "note")]
6969 Note,
6970 #[serde(rename = "warning")]
6971 Warning,
6972 #[serde(rename = "error")]
6973 Error,
6974}
6975impl From<&CodeScanningAlertCreatedAlertRuleSeverity>
6976 for CodeScanningAlertCreatedAlertRuleSeverity
6977{
6978 fn from(value: &CodeScanningAlertCreatedAlertRuleSeverity) -> Self {
6979 value.clone()
6980 }
6981}
6982impl ToString for CodeScanningAlertCreatedAlertRuleSeverity {
6983 fn to_string(&self) -> String {
6984 match *self {
6985 Self::None => "none".to_string(),
6986 Self::Note => "note".to_string(),
6987 Self::Warning => "warning".to_string(),
6988 Self::Error => "error".to_string(),
6989 }
6990 }
6991}
6992impl std::str::FromStr for CodeScanningAlertCreatedAlertRuleSeverity {
6993 type Err = &'static str;
6994
6995 fn from_str(value: &str) -> Result<Self, &'static str> {
6996 match value {
6997 "none" => Ok(Self::None),
6998 "note" => Ok(Self::Note),
6999 "warning" => Ok(Self::Warning),
7000 "error" => Ok(Self::Error),
7001 _ => Err("invalid value"),
7002 }
7003 }
7004}
7005impl std::convert::TryFrom<&str> for CodeScanningAlertCreatedAlertRuleSeverity {
7006 type Error = &'static str;
7007
7008 fn try_from(value: &str) -> Result<Self, &'static str> {
7009 value.parse()
7010 }
7011}
7012impl std::convert::TryFrom<&String> for CodeScanningAlertCreatedAlertRuleSeverity {
7013 type Error = &'static str;
7014
7015 fn try_from(value: &String) -> Result<Self, &'static str> {
7016 value.parse()
7017 }
7018}
7019impl std::convert::TryFrom<String> for CodeScanningAlertCreatedAlertRuleSeverity {
7020 type Error = &'static str;
7021
7022 fn try_from(value: String) -> Result<Self, &'static str> {
7023 value.parse()
7024 }
7025}
7026#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7028pub enum CodeScanningAlertCreatedAlertState {
7029 #[serde(rename = "open")]
7030 Open,
7031 #[serde(rename = "dismissed")]
7032 Dismissed,
7033}
7034impl From<&CodeScanningAlertCreatedAlertState> for CodeScanningAlertCreatedAlertState {
7035 fn from(value: &CodeScanningAlertCreatedAlertState) -> Self {
7036 value.clone()
7037 }
7038}
7039impl ToString for CodeScanningAlertCreatedAlertState {
7040 fn to_string(&self) -> String {
7041 match *self {
7042 Self::Open => "open".to_string(),
7043 Self::Dismissed => "dismissed".to_string(),
7044 }
7045 }
7046}
7047impl std::str::FromStr for CodeScanningAlertCreatedAlertState {
7048 type Err = &'static str;
7049
7050 fn from_str(value: &str) -> Result<Self, &'static str> {
7051 match value {
7052 "open" => Ok(Self::Open),
7053 "dismissed" => Ok(Self::Dismissed),
7054 _ => Err("invalid value"),
7055 }
7056 }
7057}
7058impl std::convert::TryFrom<&str> for CodeScanningAlertCreatedAlertState {
7059 type Error = &'static str;
7060
7061 fn try_from(value: &str) -> Result<Self, &'static str> {
7062 value.parse()
7063 }
7064}
7065impl std::convert::TryFrom<&String> for CodeScanningAlertCreatedAlertState {
7066 type Error = &'static str;
7067
7068 fn try_from(value: &String) -> Result<Self, &'static str> {
7069 value.parse()
7070 }
7071}
7072impl std::convert::TryFrom<String> for CodeScanningAlertCreatedAlertState {
7073 type Error = &'static str;
7074
7075 fn try_from(value: String) -> Result<Self, &'static str> {
7076 value.parse()
7077 }
7078}
7079#[derive(Clone, Debug, Deserialize, Serialize)]
7080#[serde(deny_unknown_fields)]
7081pub struct CodeScanningAlertCreatedAlertTool {
7082 #[serde(default, skip_serializing_if = "Option::is_none")]
7083 pub guid: Option<String>,
7084 pub name: String,
7086 pub version: Option<String>,
7088}
7089impl From<&CodeScanningAlertCreatedAlertTool> for CodeScanningAlertCreatedAlertTool {
7090 fn from(value: &CodeScanningAlertCreatedAlertTool) -> Self {
7091 value.clone()
7092 }
7093}
7094#[derive(Clone, Debug, Deserialize, Serialize)]
7095#[serde(untagged)]
7096pub enum CodeScanningAlertEvent {
7097 AppearedInBranch(CodeScanningAlertAppearedInBranch),
7098 ClosedByUser(CodeScanningAlertClosedByUser),
7099 Created(CodeScanningAlertCreated),
7100 Fixed(CodeScanningAlertFixed),
7101 Reopened(CodeScanningAlertReopened),
7102 ReopenedByUser(CodeScanningAlertReopenedByUser),
7103}
7104impl From<&CodeScanningAlertEvent> for CodeScanningAlertEvent {
7105 fn from(value: &CodeScanningAlertEvent) -> Self {
7106 value.clone()
7107 }
7108}
7109impl From<CodeScanningAlertAppearedInBranch> for CodeScanningAlertEvent {
7110 fn from(value: CodeScanningAlertAppearedInBranch) -> Self {
7111 Self::AppearedInBranch(value)
7112 }
7113}
7114impl From<CodeScanningAlertClosedByUser> for CodeScanningAlertEvent {
7115 fn from(value: CodeScanningAlertClosedByUser) -> Self {
7116 Self::ClosedByUser(value)
7117 }
7118}
7119impl From<CodeScanningAlertCreated> for CodeScanningAlertEvent {
7120 fn from(value: CodeScanningAlertCreated) -> Self {
7121 Self::Created(value)
7122 }
7123}
7124impl From<CodeScanningAlertFixed> for CodeScanningAlertEvent {
7125 fn from(value: CodeScanningAlertFixed) -> Self {
7126 Self::Fixed(value)
7127 }
7128}
7129impl From<CodeScanningAlertReopened> for CodeScanningAlertEvent {
7130 fn from(value: CodeScanningAlertReopened) -> Self {
7131 Self::Reopened(value)
7132 }
7133}
7134impl From<CodeScanningAlertReopenedByUser> for CodeScanningAlertEvent {
7135 fn from(value: CodeScanningAlertReopenedByUser) -> Self {
7136 Self::ReopenedByUser(value)
7137 }
7138}
7139#[derive(Clone, Debug, Deserialize, Serialize)]
7140#[serde(deny_unknown_fields)]
7141pub struct CodeScanningAlertFixed {
7142 pub action: CodeScanningAlertFixedAction,
7143 pub alert: CodeScanningAlertFixedAlert,
7144 pub commit_oid: String,
7148 #[serde(default, skip_serializing_if = "Option::is_none")]
7149 pub installation: Option<InstallationLite>,
7150 #[serde(default, skip_serializing_if = "Option::is_none")]
7151 pub organization: Option<Organization>,
7152 #[serde(rename = "ref")]
7156 pub ref_: String,
7157 pub repository: Repository,
7158 pub sender: GithubOrg,
7159}
7160impl From<&CodeScanningAlertFixed> for CodeScanningAlertFixed {
7161 fn from(value: &CodeScanningAlertFixed) -> Self {
7162 value.clone()
7163 }
7164}
7165#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7166pub enum CodeScanningAlertFixedAction {
7167 #[serde(rename = "fixed")]
7168 Fixed,
7169}
7170impl From<&CodeScanningAlertFixedAction> for CodeScanningAlertFixedAction {
7171 fn from(value: &CodeScanningAlertFixedAction) -> Self {
7172 value.clone()
7173 }
7174}
7175impl ToString for CodeScanningAlertFixedAction {
7176 fn to_string(&self) -> String {
7177 match *self {
7178 Self::Fixed => "fixed".to_string(),
7179 }
7180 }
7181}
7182impl std::str::FromStr for CodeScanningAlertFixedAction {
7183 type Err = &'static str;
7184
7185 fn from_str(value: &str) -> Result<Self, &'static str> {
7186 match value {
7187 "fixed" => Ok(Self::Fixed),
7188 _ => Err("invalid value"),
7189 }
7190 }
7191}
7192impl std::convert::TryFrom<&str> for CodeScanningAlertFixedAction {
7193 type Error = &'static str;
7194
7195 fn try_from(value: &str) -> Result<Self, &'static str> {
7196 value.parse()
7197 }
7198}
7199impl std::convert::TryFrom<&String> for CodeScanningAlertFixedAction {
7200 type Error = &'static str;
7201
7202 fn try_from(value: &String) -> Result<Self, &'static str> {
7203 value.parse()
7204 }
7205}
7206impl std::convert::TryFrom<String> for CodeScanningAlertFixedAction {
7207 type Error = &'static str;
7208
7209 fn try_from(value: String) -> Result<Self, &'static str> {
7210 value.parse()
7211 }
7212}
7213#[derive(Clone, Debug, Deserialize, Serialize)]
7215#[serde(deny_unknown_fields)]
7216pub struct CodeScanningAlertFixedAlert {
7217 pub created_at: chrono::DateTime<chrono::offset::Utc>,
7220 pub dismissed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
7223 pub dismissed_by: Option<User>,
7224 pub dismissed_reason: Option<CodeScanningAlertFixedAlertDismissedReason>,
7227 pub html_url: String,
7229 pub instances: Vec<AlertInstance>,
7230 #[serde(default, skip_serializing_if = "Option::is_none")]
7231 pub instances_url: Option<String>,
7232 #[serde(default, skip_serializing_if = "Option::is_none")]
7233 pub most_recent_instance: Option<AlertInstance>,
7234 pub number: i64,
7236 pub rule: CodeScanningAlertFixedAlertRule,
7237 pub state: CodeScanningAlertFixedAlertState,
7239 pub tool: CodeScanningAlertFixedAlertTool,
7240 pub url: String,
7242}
7243impl From<&CodeScanningAlertFixedAlert> for CodeScanningAlertFixedAlert {
7244 fn from(value: &CodeScanningAlertFixedAlert) -> Self {
7245 value.clone()
7246 }
7247}
7248#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7251pub enum CodeScanningAlertFixedAlertDismissedReason {
7252 #[serde(rename = "false positive")]
7253 FalsePositive,
7254 #[serde(rename = "won't fix")]
7255 WontFix,
7256 #[serde(rename = "used in tests")]
7257 UsedInTests,
7258}
7259impl From<&CodeScanningAlertFixedAlertDismissedReason>
7260 for CodeScanningAlertFixedAlertDismissedReason
7261{
7262 fn from(value: &CodeScanningAlertFixedAlertDismissedReason) -> Self {
7263 value.clone()
7264 }
7265}
7266impl ToString for CodeScanningAlertFixedAlertDismissedReason {
7267 fn to_string(&self) -> String {
7268 match *self {
7269 Self::FalsePositive => "false positive".to_string(),
7270 Self::WontFix => "won't fix".to_string(),
7271 Self::UsedInTests => "used in tests".to_string(),
7272 }
7273 }
7274}
7275impl std::str::FromStr for CodeScanningAlertFixedAlertDismissedReason {
7276 type Err = &'static str;
7277
7278 fn from_str(value: &str) -> Result<Self, &'static str> {
7279 match value {
7280 "false positive" => Ok(Self::FalsePositive),
7281 "won't fix" => Ok(Self::WontFix),
7282 "used in tests" => Ok(Self::UsedInTests),
7283 _ => Err("invalid value"),
7284 }
7285 }
7286}
7287impl std::convert::TryFrom<&str> for CodeScanningAlertFixedAlertDismissedReason {
7288 type Error = &'static str;
7289
7290 fn try_from(value: &str) -> Result<Self, &'static str> {
7291 value.parse()
7292 }
7293}
7294impl std::convert::TryFrom<&String> for CodeScanningAlertFixedAlertDismissedReason {
7295 type Error = &'static str;
7296
7297 fn try_from(value: &String) -> Result<Self, &'static str> {
7298 value.parse()
7299 }
7300}
7301impl std::convert::TryFrom<String> for CodeScanningAlertFixedAlertDismissedReason {
7302 type Error = &'static str;
7303
7304 fn try_from(value: String) -> Result<Self, &'static str> {
7305 value.parse()
7306 }
7307}
7308#[derive(Clone, Debug, Deserialize, Serialize)]
7309#[serde(deny_unknown_fields)]
7310pub struct CodeScanningAlertFixedAlertRule {
7311 pub description: String,
7313 #[serde(default, skip_serializing_if = "Option::is_none")]
7314 pub full_description: Option<String>,
7315 #[serde(default)]
7316 pub help: (),
7317 pub id: String,
7319 #[serde(default, skip_serializing_if = "Option::is_none")]
7320 pub name: Option<String>,
7321 pub severity: Option<CodeScanningAlertFixedAlertRuleSeverity>,
7323 #[serde(default)]
7324 pub tags: (),
7325}
7326impl From<&CodeScanningAlertFixedAlertRule> for CodeScanningAlertFixedAlertRule {
7327 fn from(value: &CodeScanningAlertFixedAlertRule) -> Self {
7328 value.clone()
7329 }
7330}
7331#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7333pub enum CodeScanningAlertFixedAlertRuleSeverity {
7334 #[serde(rename = "none")]
7335 None,
7336 #[serde(rename = "note")]
7337 Note,
7338 #[serde(rename = "warning")]
7339 Warning,
7340 #[serde(rename = "error")]
7341 Error,
7342}
7343impl From<&CodeScanningAlertFixedAlertRuleSeverity> for CodeScanningAlertFixedAlertRuleSeverity {
7344 fn from(value: &CodeScanningAlertFixedAlertRuleSeverity) -> Self {
7345 value.clone()
7346 }
7347}
7348impl ToString for CodeScanningAlertFixedAlertRuleSeverity {
7349 fn to_string(&self) -> String {
7350 match *self {
7351 Self::None => "none".to_string(),
7352 Self::Note => "note".to_string(),
7353 Self::Warning => "warning".to_string(),
7354 Self::Error => "error".to_string(),
7355 }
7356 }
7357}
7358impl std::str::FromStr for CodeScanningAlertFixedAlertRuleSeverity {
7359 type Err = &'static str;
7360
7361 fn from_str(value: &str) -> Result<Self, &'static str> {
7362 match value {
7363 "none" => Ok(Self::None),
7364 "note" => Ok(Self::Note),
7365 "warning" => Ok(Self::Warning),
7366 "error" => Ok(Self::Error),
7367 _ => Err("invalid value"),
7368 }
7369 }
7370}
7371impl std::convert::TryFrom<&str> for CodeScanningAlertFixedAlertRuleSeverity {
7372 type Error = &'static str;
7373
7374 fn try_from(value: &str) -> Result<Self, &'static str> {
7375 value.parse()
7376 }
7377}
7378impl std::convert::TryFrom<&String> for CodeScanningAlertFixedAlertRuleSeverity {
7379 type Error = &'static str;
7380
7381 fn try_from(value: &String) -> Result<Self, &'static str> {
7382 value.parse()
7383 }
7384}
7385impl std::convert::TryFrom<String> for CodeScanningAlertFixedAlertRuleSeverity {
7386 type Error = &'static str;
7387
7388 fn try_from(value: String) -> Result<Self, &'static str> {
7389 value.parse()
7390 }
7391}
7392#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7394pub enum CodeScanningAlertFixedAlertState {
7395 #[serde(rename = "fixed")]
7396 Fixed,
7397}
7398impl From<&CodeScanningAlertFixedAlertState> for CodeScanningAlertFixedAlertState {
7399 fn from(value: &CodeScanningAlertFixedAlertState) -> Self {
7400 value.clone()
7401 }
7402}
7403impl ToString for CodeScanningAlertFixedAlertState {
7404 fn to_string(&self) -> String {
7405 match *self {
7406 Self::Fixed => "fixed".to_string(),
7407 }
7408 }
7409}
7410impl std::str::FromStr for CodeScanningAlertFixedAlertState {
7411 type Err = &'static str;
7412
7413 fn from_str(value: &str) -> Result<Self, &'static str> {
7414 match value {
7415 "fixed" => Ok(Self::Fixed),
7416 _ => Err("invalid value"),
7417 }
7418 }
7419}
7420impl std::convert::TryFrom<&str> for CodeScanningAlertFixedAlertState {
7421 type Error = &'static str;
7422
7423 fn try_from(value: &str) -> Result<Self, &'static str> {
7424 value.parse()
7425 }
7426}
7427impl std::convert::TryFrom<&String> for CodeScanningAlertFixedAlertState {
7428 type Error = &'static str;
7429
7430 fn try_from(value: &String) -> Result<Self, &'static str> {
7431 value.parse()
7432 }
7433}
7434impl std::convert::TryFrom<String> for CodeScanningAlertFixedAlertState {
7435 type Error = &'static str;
7436
7437 fn try_from(value: String) -> Result<Self, &'static str> {
7438 value.parse()
7439 }
7440}
7441#[derive(Clone, Debug, Deserialize, Serialize)]
7442#[serde(deny_unknown_fields)]
7443pub struct CodeScanningAlertFixedAlertTool {
7444 #[serde(default, skip_serializing_if = "Option::is_none")]
7445 pub guid: Option<String>,
7446 pub name: String,
7448 pub version: Option<String>,
7450}
7451impl From<&CodeScanningAlertFixedAlertTool> for CodeScanningAlertFixedAlertTool {
7452 fn from(value: &CodeScanningAlertFixedAlertTool) -> Self {
7453 value.clone()
7454 }
7455}
7456#[derive(Clone, Debug, Deserialize, Serialize)]
7457#[serde(deny_unknown_fields)]
7458pub struct CodeScanningAlertReopened {
7459 pub action: CodeScanningAlertReopenedAction,
7460 pub alert: CodeScanningAlertReopenedAlert,
7461 pub commit_oid: String,
7465 #[serde(default, skip_serializing_if = "Option::is_none")]
7466 pub installation: Option<InstallationLite>,
7467 #[serde(default, skip_serializing_if = "Option::is_none")]
7468 pub organization: Option<Organization>,
7469 #[serde(rename = "ref")]
7473 pub ref_: String,
7474 pub repository: Repository,
7475 pub sender: GithubOrg,
7476}
7477impl From<&CodeScanningAlertReopened> for CodeScanningAlertReopened {
7478 fn from(value: &CodeScanningAlertReopened) -> Self {
7479 value.clone()
7480 }
7481}
7482#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7483pub enum CodeScanningAlertReopenedAction {
7484 #[serde(rename = "reopened")]
7485 Reopened,
7486}
7487impl From<&CodeScanningAlertReopenedAction> for CodeScanningAlertReopenedAction {
7488 fn from(value: &CodeScanningAlertReopenedAction) -> Self {
7489 value.clone()
7490 }
7491}
7492impl ToString for CodeScanningAlertReopenedAction {
7493 fn to_string(&self) -> String {
7494 match *self {
7495 Self::Reopened => "reopened".to_string(),
7496 }
7497 }
7498}
7499impl std::str::FromStr for CodeScanningAlertReopenedAction {
7500 type Err = &'static str;
7501
7502 fn from_str(value: &str) -> Result<Self, &'static str> {
7503 match value {
7504 "reopened" => Ok(Self::Reopened),
7505 _ => Err("invalid value"),
7506 }
7507 }
7508}
7509impl std::convert::TryFrom<&str> for CodeScanningAlertReopenedAction {
7510 type Error = &'static str;
7511
7512 fn try_from(value: &str) -> Result<Self, &'static str> {
7513 value.parse()
7514 }
7515}
7516impl std::convert::TryFrom<&String> for CodeScanningAlertReopenedAction {
7517 type Error = &'static str;
7518
7519 fn try_from(value: &String) -> Result<Self, &'static str> {
7520 value.parse()
7521 }
7522}
7523impl std::convert::TryFrom<String> for CodeScanningAlertReopenedAction {
7524 type Error = &'static str;
7525
7526 fn try_from(value: String) -> Result<Self, &'static str> {
7527 value.parse()
7528 }
7529}
7530#[derive(Clone, Debug, Deserialize, Serialize)]
7532#[serde(deny_unknown_fields)]
7533pub struct CodeScanningAlertReopenedAlert {
7534 pub created_at: chrono::DateTime<chrono::offset::Utc>,
7537 pub dismissed_at: (),
7540 pub dismissed_by: (),
7541 pub dismissed_reason: (),
7544 pub html_url: String,
7546 pub instances: Vec<AlertInstance>,
7547 #[serde(default, skip_serializing_if = "Option::is_none")]
7548 pub most_recent_instance: Option<AlertInstance>,
7549 pub number: i64,
7551 pub rule: CodeScanningAlertReopenedAlertRule,
7552 pub state: CodeScanningAlertReopenedAlertState,
7554 pub tool: CodeScanningAlertReopenedAlertTool,
7555 pub url: String,
7557}
7558impl From<&CodeScanningAlertReopenedAlert> for CodeScanningAlertReopenedAlert {
7559 fn from(value: &CodeScanningAlertReopenedAlert) -> Self {
7560 value.clone()
7561 }
7562}
7563#[derive(Clone, Debug, Deserialize, Serialize)]
7564#[serde(deny_unknown_fields)]
7565pub struct CodeScanningAlertReopenedAlertRule {
7566 pub description: String,
7568 #[serde(default, skip_serializing_if = "Option::is_none")]
7569 pub full_description: Option<String>,
7570 #[serde(default)]
7571 pub help: (),
7572 pub id: String,
7574 #[serde(default, skip_serializing_if = "Option::is_none")]
7575 pub name: Option<String>,
7576 pub severity: Option<CodeScanningAlertReopenedAlertRuleSeverity>,
7578 #[serde(default)]
7579 pub tags: (),
7580}
7581impl From<&CodeScanningAlertReopenedAlertRule> for CodeScanningAlertReopenedAlertRule {
7582 fn from(value: &CodeScanningAlertReopenedAlertRule) -> Self {
7583 value.clone()
7584 }
7585}
7586#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7588pub enum CodeScanningAlertReopenedAlertRuleSeverity {
7589 #[serde(rename = "none")]
7590 None,
7591 #[serde(rename = "note")]
7592 Note,
7593 #[serde(rename = "warning")]
7594 Warning,
7595 #[serde(rename = "error")]
7596 Error,
7597}
7598impl From<&CodeScanningAlertReopenedAlertRuleSeverity>
7599 for CodeScanningAlertReopenedAlertRuleSeverity
7600{
7601 fn from(value: &CodeScanningAlertReopenedAlertRuleSeverity) -> Self {
7602 value.clone()
7603 }
7604}
7605impl ToString for CodeScanningAlertReopenedAlertRuleSeverity {
7606 fn to_string(&self) -> String {
7607 match *self {
7608 Self::None => "none".to_string(),
7609 Self::Note => "note".to_string(),
7610 Self::Warning => "warning".to_string(),
7611 Self::Error => "error".to_string(),
7612 }
7613 }
7614}
7615impl std::str::FromStr for CodeScanningAlertReopenedAlertRuleSeverity {
7616 type Err = &'static str;
7617
7618 fn from_str(value: &str) -> Result<Self, &'static str> {
7619 match value {
7620 "none" => Ok(Self::None),
7621 "note" => Ok(Self::Note),
7622 "warning" => Ok(Self::Warning),
7623 "error" => Ok(Self::Error),
7624 _ => Err("invalid value"),
7625 }
7626 }
7627}
7628impl std::convert::TryFrom<&str> for CodeScanningAlertReopenedAlertRuleSeverity {
7629 type Error = &'static str;
7630
7631 fn try_from(value: &str) -> Result<Self, &'static str> {
7632 value.parse()
7633 }
7634}
7635impl std::convert::TryFrom<&String> for CodeScanningAlertReopenedAlertRuleSeverity {
7636 type Error = &'static str;
7637
7638 fn try_from(value: &String) -> Result<Self, &'static str> {
7639 value.parse()
7640 }
7641}
7642impl std::convert::TryFrom<String> for CodeScanningAlertReopenedAlertRuleSeverity {
7643 type Error = &'static str;
7644
7645 fn try_from(value: String) -> Result<Self, &'static str> {
7646 value.parse()
7647 }
7648}
7649#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7651pub enum CodeScanningAlertReopenedAlertState {
7652 #[serde(rename = "open")]
7653 Open,
7654 #[serde(rename = "dismissed")]
7655 Dismissed,
7656 #[serde(rename = "fixed")]
7657 Fixed,
7658}
7659impl From<&CodeScanningAlertReopenedAlertState> for CodeScanningAlertReopenedAlertState {
7660 fn from(value: &CodeScanningAlertReopenedAlertState) -> Self {
7661 value.clone()
7662 }
7663}
7664impl ToString for CodeScanningAlertReopenedAlertState {
7665 fn to_string(&self) -> String {
7666 match *self {
7667 Self::Open => "open".to_string(),
7668 Self::Dismissed => "dismissed".to_string(),
7669 Self::Fixed => "fixed".to_string(),
7670 }
7671 }
7672}
7673impl std::str::FromStr for CodeScanningAlertReopenedAlertState {
7674 type Err = &'static str;
7675
7676 fn from_str(value: &str) -> Result<Self, &'static str> {
7677 match value {
7678 "open" => Ok(Self::Open),
7679 "dismissed" => Ok(Self::Dismissed),
7680 "fixed" => Ok(Self::Fixed),
7681 _ => Err("invalid value"),
7682 }
7683 }
7684}
7685impl std::convert::TryFrom<&str> for CodeScanningAlertReopenedAlertState {
7686 type Error = &'static str;
7687
7688 fn try_from(value: &str) -> Result<Self, &'static str> {
7689 value.parse()
7690 }
7691}
7692impl std::convert::TryFrom<&String> for CodeScanningAlertReopenedAlertState {
7693 type Error = &'static str;
7694
7695 fn try_from(value: &String) -> Result<Self, &'static str> {
7696 value.parse()
7697 }
7698}
7699impl std::convert::TryFrom<String> for CodeScanningAlertReopenedAlertState {
7700 type Error = &'static str;
7701
7702 fn try_from(value: String) -> Result<Self, &'static str> {
7703 value.parse()
7704 }
7705}
7706#[derive(Clone, Debug, Deserialize, Serialize)]
7707#[serde(deny_unknown_fields)]
7708pub struct CodeScanningAlertReopenedAlertTool {
7709 #[serde(default, skip_serializing_if = "Option::is_none")]
7710 pub guid: Option<String>,
7711 pub name: String,
7713 pub version: Option<String>,
7715}
7716impl From<&CodeScanningAlertReopenedAlertTool> for CodeScanningAlertReopenedAlertTool {
7717 fn from(value: &CodeScanningAlertReopenedAlertTool) -> Self {
7718 value.clone()
7719 }
7720}
7721#[derive(Clone, Debug, Deserialize, Serialize)]
7722#[serde(deny_unknown_fields)]
7723pub struct CodeScanningAlertReopenedByUser {
7724 pub action: CodeScanningAlertReopenedByUserAction,
7725 pub alert: CodeScanningAlertReopenedByUserAlert,
7726 pub commit_oid: String,
7730 #[serde(default, skip_serializing_if = "Option::is_none")]
7731 pub installation: Option<InstallationLite>,
7732 #[serde(default, skip_serializing_if = "Option::is_none")]
7733 pub organization: Option<Organization>,
7734 #[serde(rename = "ref")]
7738 pub ref_: String,
7739 pub repository: Repository,
7740 pub sender: User,
7741}
7742impl From<&CodeScanningAlertReopenedByUser> for CodeScanningAlertReopenedByUser {
7743 fn from(value: &CodeScanningAlertReopenedByUser) -> Self {
7744 value.clone()
7745 }
7746}
7747#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7748pub enum CodeScanningAlertReopenedByUserAction {
7749 #[serde(rename = "reopened_by_user")]
7750 ReopenedByUser,
7751}
7752impl From<&CodeScanningAlertReopenedByUserAction> for CodeScanningAlertReopenedByUserAction {
7753 fn from(value: &CodeScanningAlertReopenedByUserAction) -> Self {
7754 value.clone()
7755 }
7756}
7757impl ToString for CodeScanningAlertReopenedByUserAction {
7758 fn to_string(&self) -> String {
7759 match *self {
7760 Self::ReopenedByUser => "reopened_by_user".to_string(),
7761 }
7762 }
7763}
7764impl std::str::FromStr for CodeScanningAlertReopenedByUserAction {
7765 type Err = &'static str;
7766
7767 fn from_str(value: &str) -> Result<Self, &'static str> {
7768 match value {
7769 "reopened_by_user" => Ok(Self::ReopenedByUser),
7770 _ => Err("invalid value"),
7771 }
7772 }
7773}
7774impl std::convert::TryFrom<&str> for CodeScanningAlertReopenedByUserAction {
7775 type Error = &'static str;
7776
7777 fn try_from(value: &str) -> Result<Self, &'static str> {
7778 value.parse()
7779 }
7780}
7781impl std::convert::TryFrom<&String> for CodeScanningAlertReopenedByUserAction {
7782 type Error = &'static str;
7783
7784 fn try_from(value: &String) -> Result<Self, &'static str> {
7785 value.parse()
7786 }
7787}
7788impl std::convert::TryFrom<String> for CodeScanningAlertReopenedByUserAction {
7789 type Error = &'static str;
7790
7791 fn try_from(value: String) -> Result<Self, &'static str> {
7792 value.parse()
7793 }
7794}
7795#[derive(Clone, Debug, Deserialize, Serialize)]
7797#[serde(deny_unknown_fields)]
7798pub struct CodeScanningAlertReopenedByUserAlert {
7799 pub created_at: chrono::DateTime<chrono::offset::Utc>,
7802 pub dismissed_at: (),
7805 pub dismissed_by: (),
7806 pub dismissed_reason: (),
7809 pub html_url: String,
7811 pub instances: Vec<AlertInstance>,
7812 #[serde(default, skip_serializing_if = "Option::is_none")]
7813 pub most_recent_instance: Option<AlertInstance>,
7814 pub number: i64,
7816 pub rule: CodeScanningAlertReopenedByUserAlertRule,
7817 pub state: CodeScanningAlertReopenedByUserAlertState,
7819 pub tool: CodeScanningAlertReopenedByUserAlertTool,
7820 pub url: String,
7822}
7823impl From<&CodeScanningAlertReopenedByUserAlert> for CodeScanningAlertReopenedByUserAlert {
7824 fn from(value: &CodeScanningAlertReopenedByUserAlert) -> Self {
7825 value.clone()
7826 }
7827}
7828#[derive(Clone, Debug, Deserialize, Serialize)]
7829#[serde(deny_unknown_fields)]
7830pub struct CodeScanningAlertReopenedByUserAlertRule {
7831 pub description: String,
7833 pub id: String,
7835 pub severity: Option<CodeScanningAlertReopenedByUserAlertRuleSeverity>,
7837}
7838impl From<&CodeScanningAlertReopenedByUserAlertRule> for CodeScanningAlertReopenedByUserAlertRule {
7839 fn from(value: &CodeScanningAlertReopenedByUserAlertRule) -> Self {
7840 value.clone()
7841 }
7842}
7843#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7845pub enum CodeScanningAlertReopenedByUserAlertRuleSeverity {
7846 #[serde(rename = "none")]
7847 None,
7848 #[serde(rename = "note")]
7849 Note,
7850 #[serde(rename = "warning")]
7851 Warning,
7852 #[serde(rename = "error")]
7853 Error,
7854}
7855impl From<&CodeScanningAlertReopenedByUserAlertRuleSeverity>
7856 for CodeScanningAlertReopenedByUserAlertRuleSeverity
7857{
7858 fn from(value: &CodeScanningAlertReopenedByUserAlertRuleSeverity) -> Self {
7859 value.clone()
7860 }
7861}
7862impl ToString for CodeScanningAlertReopenedByUserAlertRuleSeverity {
7863 fn to_string(&self) -> String {
7864 match *self {
7865 Self::None => "none".to_string(),
7866 Self::Note => "note".to_string(),
7867 Self::Warning => "warning".to_string(),
7868 Self::Error => "error".to_string(),
7869 }
7870 }
7871}
7872impl std::str::FromStr for CodeScanningAlertReopenedByUserAlertRuleSeverity {
7873 type Err = &'static str;
7874
7875 fn from_str(value: &str) -> Result<Self, &'static str> {
7876 match value {
7877 "none" => Ok(Self::None),
7878 "note" => Ok(Self::Note),
7879 "warning" => Ok(Self::Warning),
7880 "error" => Ok(Self::Error),
7881 _ => Err("invalid value"),
7882 }
7883 }
7884}
7885impl std::convert::TryFrom<&str> for CodeScanningAlertReopenedByUserAlertRuleSeverity {
7886 type Error = &'static str;
7887
7888 fn try_from(value: &str) -> Result<Self, &'static str> {
7889 value.parse()
7890 }
7891}
7892impl std::convert::TryFrom<&String> for CodeScanningAlertReopenedByUserAlertRuleSeverity {
7893 type Error = &'static str;
7894
7895 fn try_from(value: &String) -> Result<Self, &'static str> {
7896 value.parse()
7897 }
7898}
7899impl std::convert::TryFrom<String> for CodeScanningAlertReopenedByUserAlertRuleSeverity {
7900 type Error = &'static str;
7901
7902 fn try_from(value: String) -> Result<Self, &'static str> {
7903 value.parse()
7904 }
7905}
7906#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
7908pub enum CodeScanningAlertReopenedByUserAlertState {
7909 #[serde(rename = "open")]
7910 Open,
7911}
7912impl From<&CodeScanningAlertReopenedByUserAlertState>
7913 for CodeScanningAlertReopenedByUserAlertState
7914{
7915 fn from(value: &CodeScanningAlertReopenedByUserAlertState) -> Self {
7916 value.clone()
7917 }
7918}
7919impl ToString for CodeScanningAlertReopenedByUserAlertState {
7920 fn to_string(&self) -> String {
7921 match *self {
7922 Self::Open => "open".to_string(),
7923 }
7924 }
7925}
7926impl std::str::FromStr for CodeScanningAlertReopenedByUserAlertState {
7927 type Err = &'static str;
7928
7929 fn from_str(value: &str) -> Result<Self, &'static str> {
7930 match value {
7931 "open" => Ok(Self::Open),
7932 _ => Err("invalid value"),
7933 }
7934 }
7935}
7936impl std::convert::TryFrom<&str> for CodeScanningAlertReopenedByUserAlertState {
7937 type Error = &'static str;
7938
7939 fn try_from(value: &str) -> Result<Self, &'static str> {
7940 value.parse()
7941 }
7942}
7943impl std::convert::TryFrom<&String> for CodeScanningAlertReopenedByUserAlertState {
7944 type Error = &'static str;
7945
7946 fn try_from(value: &String) -> Result<Self, &'static str> {
7947 value.parse()
7948 }
7949}
7950impl std::convert::TryFrom<String> for CodeScanningAlertReopenedByUserAlertState {
7951 type Error = &'static str;
7952
7953 fn try_from(value: String) -> Result<Self, &'static str> {
7954 value.parse()
7955 }
7956}
7957#[derive(Clone, Debug, Deserialize, Serialize)]
7958#[serde(deny_unknown_fields)]
7959pub struct CodeScanningAlertReopenedByUserAlertTool {
7960 pub name: String,
7962 pub version: Option<String>,
7964}
7965impl From<&CodeScanningAlertReopenedByUserAlertTool> for CodeScanningAlertReopenedByUserAlertTool {
7966 fn from(value: &CodeScanningAlertReopenedByUserAlertTool) -> Self {
7967 value.clone()
7968 }
7969}
7970#[derive(Clone, Debug, Deserialize, Serialize)]
7971#[serde(deny_unknown_fields)]
7972pub struct Commit {
7973 pub added: Vec<String>,
7977 pub author: Committer,
7978 pub committer: Committer,
7979 pub distinct: bool,
7981 pub id: String,
7982 pub message: String,
7984 pub modified: Vec<String>,
7988 pub removed: Vec<String>,
7992 pub timestamp: chrono::DateTime<chrono::offset::Utc>,
7994 pub tree_id: String,
7995 pub url: String,
7997}
7998impl From<&Commit> for Commit {
7999 fn from(value: &Commit) -> Self {
8000 value.clone()
8001 }
8002}
8003#[derive(Clone, Debug, Deserialize, Serialize)]
8006#[serde(deny_unknown_fields)]
8007pub struct CommitCommentCreated {
8008 pub action: CommitCommentCreatedAction,
8010 pub comment: CommitCommentCreatedComment,
8011 #[serde(default, skip_serializing_if = "Option::is_none")]
8012 pub installation: Option<InstallationLite>,
8013 #[serde(default, skip_serializing_if = "Option::is_none")]
8014 pub organization: Option<Organization>,
8015 pub repository: Repository,
8016 pub sender: User,
8017}
8018impl From<&CommitCommentCreated> for CommitCommentCreated {
8019 fn from(value: &CommitCommentCreated) -> Self {
8020 value.clone()
8021 }
8022}
8023#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8025pub enum CommitCommentCreatedAction {
8026 #[serde(rename = "created")]
8027 Created,
8028}
8029impl From<&CommitCommentCreatedAction> for CommitCommentCreatedAction {
8030 fn from(value: &CommitCommentCreatedAction) -> Self {
8031 value.clone()
8032 }
8033}
8034impl ToString for CommitCommentCreatedAction {
8035 fn to_string(&self) -> String {
8036 match *self {
8037 Self::Created => "created".to_string(),
8038 }
8039 }
8040}
8041impl std::str::FromStr for CommitCommentCreatedAction {
8042 type Err = &'static str;
8043
8044 fn from_str(value: &str) -> Result<Self, &'static str> {
8045 match value {
8046 "created" => Ok(Self::Created),
8047 _ => Err("invalid value"),
8048 }
8049 }
8050}
8051impl std::convert::TryFrom<&str> for CommitCommentCreatedAction {
8052 type Error = &'static str;
8053
8054 fn try_from(value: &str) -> Result<Self, &'static str> {
8055 value.parse()
8056 }
8057}
8058impl std::convert::TryFrom<&String> for CommitCommentCreatedAction {
8059 type Error = &'static str;
8060
8061 fn try_from(value: &String) -> Result<Self, &'static str> {
8062 value.parse()
8063 }
8064}
8065impl std::convert::TryFrom<String> for CommitCommentCreatedAction {
8066 type Error = &'static str;
8067
8068 fn try_from(value: String) -> Result<Self, &'static str> {
8069 value.parse()
8070 }
8071}
8072#[derive(Clone, Debug, Deserialize, Serialize)]
8074#[serde(deny_unknown_fields)]
8075pub struct CommitCommentCreatedComment {
8076 pub author_association: AuthorAssociation,
8077 pub body: String,
8079 pub commit_id: String,
8081 pub created_at: chrono::DateTime<chrono::offset::Utc>,
8082 pub html_url: String,
8083 pub id: i64,
8085 pub line: Option<i64>,
8088 pub node_id: String,
8090 pub path: Option<String>,
8092 pub position: Option<i64>,
8094 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
8095 pub url: String,
8096 pub user: User,
8097}
8098impl From<&CommitCommentCreatedComment> for CommitCommentCreatedComment {
8099 fn from(value: &CommitCommentCreatedComment) -> Self {
8100 value.clone()
8101 }
8102}
8103#[derive(Clone, Debug, Deserialize, Serialize)]
8104pub struct CommitCommentEvent(pub CommitCommentCreated);
8105impl std::ops::Deref for CommitCommentEvent {
8106 type Target = CommitCommentCreated;
8107
8108 fn deref(&self) -> &CommitCommentCreated {
8109 &self.0
8110 }
8111}
8112impl From<CommitCommentEvent> for CommitCommentCreated {
8113 fn from(value: CommitCommentEvent) -> Self {
8114 value.0
8115 }
8116}
8117impl From<&CommitCommentEvent> for CommitCommentEvent {
8118 fn from(value: &CommitCommentEvent) -> Self {
8119 value.clone()
8120 }
8121}
8122impl From<CommitCommentCreated> for CommitCommentEvent {
8123 fn from(value: CommitCommentCreated) -> Self {
8124 Self(value)
8125 }
8126}
8127#[derive(Clone, Debug, Deserialize, Serialize)]
8128#[serde(deny_unknown_fields)]
8129pub struct CommitSimple {
8130 pub author: Committer,
8131 pub committer: Committer,
8132 pub id: String,
8133 pub message: String,
8134 pub timestamp: String,
8135 pub tree_id: String,
8136}
8137impl From<&CommitSimple> for CommitSimple {
8138 fn from(value: &CommitSimple) -> Self {
8139 value.clone()
8140 }
8141}
8142#[derive(Clone, Debug, Deserialize, Serialize)]
8144#[serde(deny_unknown_fields)]
8145pub struct Committer {
8146 #[serde(default, skip_serializing_if = "Option::is_none")]
8147 pub date: Option<chrono::DateTime<chrono::offset::Utc>>,
8148 pub email: Option<String>,
8150 pub name: String,
8152 #[serde(default, skip_serializing_if = "Option::is_none")]
8153 pub username: Option<String>,
8154}
8155impl From<&Committer> for Committer {
8156 fn from(value: &Committer) -> Self {
8157 value.clone()
8158 }
8159}
8160#[derive(Clone, Debug, Deserialize, Serialize)]
8162#[serde(deny_unknown_fields)]
8163pub struct CreateEvent {
8164 pub description: Option<String>,
8166 #[serde(default, skip_serializing_if = "Option::is_none")]
8167 pub installation: Option<InstallationLite>,
8168 pub master_branch: String,
8170 #[serde(default, skip_serializing_if = "Option::is_none")]
8171 pub organization: Option<Organization>,
8172 pub pusher_type: String,
8174 #[serde(rename = "ref")]
8176 pub ref_: String,
8177 pub ref_type: CreateEventRefType,
8180 pub repository: Repository,
8181 pub sender: User,
8182}
8183impl From<&CreateEvent> for CreateEvent {
8184 fn from(value: &CreateEvent) -> Self {
8185 value.clone()
8186 }
8187}
8188#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8191pub enum CreateEventRefType {
8192 #[serde(rename = "tag")]
8193 Tag,
8194 #[serde(rename = "branch")]
8195 Branch,
8196}
8197impl From<&CreateEventRefType> for CreateEventRefType {
8198 fn from(value: &CreateEventRefType) -> Self {
8199 value.clone()
8200 }
8201}
8202impl ToString for CreateEventRefType {
8203 fn to_string(&self) -> String {
8204 match *self {
8205 Self::Tag => "tag".to_string(),
8206 Self::Branch => "branch".to_string(),
8207 }
8208 }
8209}
8210impl std::str::FromStr for CreateEventRefType {
8211 type Err = &'static str;
8212
8213 fn from_str(value: &str) -> Result<Self, &'static str> {
8214 match value {
8215 "tag" => Ok(Self::Tag),
8216 "branch" => Ok(Self::Branch),
8217 _ => Err("invalid value"),
8218 }
8219 }
8220}
8221impl std::convert::TryFrom<&str> for CreateEventRefType {
8222 type Error = &'static str;
8223
8224 fn try_from(value: &str) -> Result<Self, &'static str> {
8225 value.parse()
8226 }
8227}
8228impl std::convert::TryFrom<&String> for CreateEventRefType {
8229 type Error = &'static str;
8230
8231 fn try_from(value: &String) -> Result<Self, &'static str> {
8232 value.parse()
8233 }
8234}
8235impl std::convert::TryFrom<String> for CreateEventRefType {
8236 type Error = &'static str;
8237
8238 fn try_from(value: String) -> Result<Self, &'static str> {
8239 value.parse()
8240 }
8241}
8242#[derive(Clone, Debug, Deserialize, Serialize)]
8244#[serde(deny_unknown_fields)]
8245pub struct DeleteEvent {
8246 #[serde(default, skip_serializing_if = "Option::is_none")]
8247 pub installation: Option<InstallationLite>,
8248 #[serde(default, skip_serializing_if = "Option::is_none")]
8249 pub organization: Option<Organization>,
8250 pub pusher_type: String,
8252 #[serde(rename = "ref")]
8254 pub ref_: String,
8255 pub ref_type: DeleteEventRefType,
8258 pub repository: Repository,
8259 pub sender: User,
8260}
8261impl From<&DeleteEvent> for DeleteEvent {
8262 fn from(value: &DeleteEvent) -> Self {
8263 value.clone()
8264 }
8265}
8266#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8269pub enum DeleteEventRefType {
8270 #[serde(rename = "tag")]
8271 Tag,
8272 #[serde(rename = "branch")]
8273 Branch,
8274}
8275impl From<&DeleteEventRefType> for DeleteEventRefType {
8276 fn from(value: &DeleteEventRefType) -> Self {
8277 value.clone()
8278 }
8279}
8280impl ToString for DeleteEventRefType {
8281 fn to_string(&self) -> String {
8282 match *self {
8283 Self::Tag => "tag".to_string(),
8284 Self::Branch => "branch".to_string(),
8285 }
8286 }
8287}
8288impl std::str::FromStr for DeleteEventRefType {
8289 type Err = &'static str;
8290
8291 fn from_str(value: &str) -> Result<Self, &'static str> {
8292 match value {
8293 "tag" => Ok(Self::Tag),
8294 "branch" => Ok(Self::Branch),
8295 _ => Err("invalid value"),
8296 }
8297 }
8298}
8299impl std::convert::TryFrom<&str> for DeleteEventRefType {
8300 type Error = &'static str;
8301
8302 fn try_from(value: &str) -> Result<Self, &'static str> {
8303 value.parse()
8304 }
8305}
8306impl std::convert::TryFrom<&String> for DeleteEventRefType {
8307 type Error = &'static str;
8308
8309 fn try_from(value: &String) -> Result<Self, &'static str> {
8310 value.parse()
8311 }
8312}
8313impl std::convert::TryFrom<String> for DeleteEventRefType {
8314 type Error = &'static str;
8315
8316 fn try_from(value: String) -> Result<Self, &'static str> {
8317 value.parse()
8318 }
8319}
8320#[derive(Clone, Debug, Deserialize, Serialize)]
8322#[serde(deny_unknown_fields)]
8323pub struct DependabotAlert {
8324 pub created_at: chrono::DateTime<chrono::offset::Utc>,
8327 pub dependency: DependabotAlertDependency,
8328 pub dismissed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
8331 pub dismissed_by: Option<User>,
8332 pub dismissed_comment: Option<String>,
8334 pub dismissed_reason: Option<DependabotAlertDismissedReason>,
8336 pub fixed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
8339 pub html_url: String,
8341 pub number: i64,
8343 pub security_advisory: DependabotAlertSecurityAdvisory,
8344 pub security_vulnerability: DependabotAlertSecurityVulnerability,
8345 pub state: DependabotAlertState,
8347 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
8350 pub url: String,
8352}
8353impl From<&DependabotAlert> for DependabotAlert {
8354 fn from(value: &DependabotAlert) -> Self {
8355 value.clone()
8356 }
8357}
8358#[derive(Clone, Debug, Deserialize, Serialize)]
8359#[serde(deny_unknown_fields)]
8360pub struct DependabotAlertCreated {
8361 pub action: DependabotAlertCreatedAction,
8362 pub alert: DependabotAlert,
8363 #[serde(default, skip_serializing_if = "Option::is_none")]
8364 pub installation: Option<InstallationLite>,
8365 #[serde(default, skip_serializing_if = "Option::is_none")]
8366 pub organization: Option<Organization>,
8367 pub repository: Repository,
8368 pub sender: GithubOrg,
8369}
8370impl From<&DependabotAlertCreated> for DependabotAlertCreated {
8371 fn from(value: &DependabotAlertCreated) -> Self {
8372 value.clone()
8373 }
8374}
8375#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8376pub enum DependabotAlertCreatedAction {
8377 #[serde(rename = "created")]
8378 Created,
8379}
8380impl From<&DependabotAlertCreatedAction> for DependabotAlertCreatedAction {
8381 fn from(value: &DependabotAlertCreatedAction) -> Self {
8382 value.clone()
8383 }
8384}
8385impl ToString for DependabotAlertCreatedAction {
8386 fn to_string(&self) -> String {
8387 match *self {
8388 Self::Created => "created".to_string(),
8389 }
8390 }
8391}
8392impl std::str::FromStr for DependabotAlertCreatedAction {
8393 type Err = &'static str;
8394
8395 fn from_str(value: &str) -> Result<Self, &'static str> {
8396 match value {
8397 "created" => Ok(Self::Created),
8398 _ => Err("invalid value"),
8399 }
8400 }
8401}
8402impl std::convert::TryFrom<&str> for DependabotAlertCreatedAction {
8403 type Error = &'static str;
8404
8405 fn try_from(value: &str) -> Result<Self, &'static str> {
8406 value.parse()
8407 }
8408}
8409impl std::convert::TryFrom<&String> for DependabotAlertCreatedAction {
8410 type Error = &'static str;
8411
8412 fn try_from(value: &String) -> Result<Self, &'static str> {
8413 value.parse()
8414 }
8415}
8416impl std::convert::TryFrom<String> for DependabotAlertCreatedAction {
8417 type Error = &'static str;
8418
8419 fn try_from(value: String) -> Result<Self, &'static str> {
8420 value.parse()
8421 }
8422}
8423#[derive(Clone, Debug, Deserialize, Serialize)]
8425#[serde(deny_unknown_fields)]
8426pub struct DependabotAlertDependency {
8427 pub manifest_path: String,
8430 pub package: DependabotAlertPackage,
8431 pub scope: Option<DependabotAlertDependencyScope>,
8433}
8434impl From<&DependabotAlertDependency> for DependabotAlertDependency {
8435 fn from(value: &DependabotAlertDependency) -> Self {
8436 value.clone()
8437 }
8438}
8439#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8441pub enum DependabotAlertDependencyScope {
8442 #[serde(rename = "development")]
8443 Development,
8444 #[serde(rename = "runtime")]
8445 Runtime,
8446}
8447impl From<&DependabotAlertDependencyScope> for DependabotAlertDependencyScope {
8448 fn from(value: &DependabotAlertDependencyScope) -> Self {
8449 value.clone()
8450 }
8451}
8452impl ToString for DependabotAlertDependencyScope {
8453 fn to_string(&self) -> String {
8454 match *self {
8455 Self::Development => "development".to_string(),
8456 Self::Runtime => "runtime".to_string(),
8457 }
8458 }
8459}
8460impl std::str::FromStr for DependabotAlertDependencyScope {
8461 type Err = &'static str;
8462
8463 fn from_str(value: &str) -> Result<Self, &'static str> {
8464 match value {
8465 "development" => Ok(Self::Development),
8466 "runtime" => Ok(Self::Runtime),
8467 _ => Err("invalid value"),
8468 }
8469 }
8470}
8471impl std::convert::TryFrom<&str> for DependabotAlertDependencyScope {
8472 type Error = &'static str;
8473
8474 fn try_from(value: &str) -> Result<Self, &'static str> {
8475 value.parse()
8476 }
8477}
8478impl std::convert::TryFrom<&String> for DependabotAlertDependencyScope {
8479 type Error = &'static str;
8480
8481 fn try_from(value: &String) -> Result<Self, &'static str> {
8482 value.parse()
8483 }
8484}
8485impl std::convert::TryFrom<String> for DependabotAlertDependencyScope {
8486 type Error = &'static str;
8487
8488 fn try_from(value: String) -> Result<Self, &'static str> {
8489 value.parse()
8490 }
8491}
8492#[derive(Clone, Debug, Deserialize, Serialize)]
8493#[serde(deny_unknown_fields)]
8494pub struct DependabotAlertDismissed {
8495 pub action: DependabotAlertDismissedAction,
8496 pub alert: DependabotAlert,
8497 #[serde(default, skip_serializing_if = "Option::is_none")]
8498 pub installation: Option<InstallationLite>,
8499 #[serde(default, skip_serializing_if = "Option::is_none")]
8500 pub organization: Option<Organization>,
8501 pub repository: Repository,
8502 pub sender: User,
8503}
8504impl From<&DependabotAlertDismissed> for DependabotAlertDismissed {
8505 fn from(value: &DependabotAlertDismissed) -> Self {
8506 value.clone()
8507 }
8508}
8509#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8510pub enum DependabotAlertDismissedAction {
8511 #[serde(rename = "dismissed")]
8512 Dismissed,
8513}
8514impl From<&DependabotAlertDismissedAction> for DependabotAlertDismissedAction {
8515 fn from(value: &DependabotAlertDismissedAction) -> Self {
8516 value.clone()
8517 }
8518}
8519impl ToString for DependabotAlertDismissedAction {
8520 fn to_string(&self) -> String {
8521 match *self {
8522 Self::Dismissed => "dismissed".to_string(),
8523 }
8524 }
8525}
8526impl std::str::FromStr for DependabotAlertDismissedAction {
8527 type Err = &'static str;
8528
8529 fn from_str(value: &str) -> Result<Self, &'static str> {
8530 match value {
8531 "dismissed" => Ok(Self::Dismissed),
8532 _ => Err("invalid value"),
8533 }
8534 }
8535}
8536impl std::convert::TryFrom<&str> for DependabotAlertDismissedAction {
8537 type Error = &'static str;
8538
8539 fn try_from(value: &str) -> Result<Self, &'static str> {
8540 value.parse()
8541 }
8542}
8543impl std::convert::TryFrom<&String> for DependabotAlertDismissedAction {
8544 type Error = &'static str;
8545
8546 fn try_from(value: &String) -> Result<Self, &'static str> {
8547 value.parse()
8548 }
8549}
8550impl std::convert::TryFrom<String> for DependabotAlertDismissedAction {
8551 type Error = &'static str;
8552
8553 fn try_from(value: String) -> Result<Self, &'static str> {
8554 value.parse()
8555 }
8556}
8557#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8559pub enum DependabotAlertDismissedReason {
8560 #[serde(rename = "fix_started")]
8561 FixStarted,
8562 #[serde(rename = "inaccurate")]
8563 Inaccurate,
8564 #[serde(rename = "no_bandwidth")]
8565 NoBandwidth,
8566 #[serde(rename = "not_used")]
8567 NotUsed,
8568 #[serde(rename = "tolerable_risk")]
8569 TolerableRisk,
8570}
8571impl From<&DependabotAlertDismissedReason> for DependabotAlertDismissedReason {
8572 fn from(value: &DependabotAlertDismissedReason) -> Self {
8573 value.clone()
8574 }
8575}
8576impl ToString for DependabotAlertDismissedReason {
8577 fn to_string(&self) -> String {
8578 match *self {
8579 Self::FixStarted => "fix_started".to_string(),
8580 Self::Inaccurate => "inaccurate".to_string(),
8581 Self::NoBandwidth => "no_bandwidth".to_string(),
8582 Self::NotUsed => "not_used".to_string(),
8583 Self::TolerableRisk => "tolerable_risk".to_string(),
8584 }
8585 }
8586}
8587impl std::str::FromStr for DependabotAlertDismissedReason {
8588 type Err = &'static str;
8589
8590 fn from_str(value: &str) -> Result<Self, &'static str> {
8591 match value {
8592 "fix_started" => Ok(Self::FixStarted),
8593 "inaccurate" => Ok(Self::Inaccurate),
8594 "no_bandwidth" => Ok(Self::NoBandwidth),
8595 "not_used" => Ok(Self::NotUsed),
8596 "tolerable_risk" => Ok(Self::TolerableRisk),
8597 _ => Err("invalid value"),
8598 }
8599 }
8600}
8601impl std::convert::TryFrom<&str> for DependabotAlertDismissedReason {
8602 type Error = &'static str;
8603
8604 fn try_from(value: &str) -> Result<Self, &'static str> {
8605 value.parse()
8606 }
8607}
8608impl std::convert::TryFrom<&String> for DependabotAlertDismissedReason {
8609 type Error = &'static str;
8610
8611 fn try_from(value: &String) -> Result<Self, &'static str> {
8612 value.parse()
8613 }
8614}
8615impl std::convert::TryFrom<String> for DependabotAlertDismissedReason {
8616 type Error = &'static str;
8617
8618 fn try_from(value: String) -> Result<Self, &'static str> {
8619 value.parse()
8620 }
8621}
8622#[derive(Clone, Debug, Deserialize, Serialize)]
8623#[serde(untagged)]
8624pub enum DependabotAlertEvent {
8625 Created(DependabotAlertCreated),
8626 Dismissed(DependabotAlertDismissed),
8627 Fixed(DependabotAlertFixed),
8628 Reintroduced(DependabotAlertReintroduced),
8629 Reopened(DependabotAlertReopened),
8630}
8631impl From<&DependabotAlertEvent> for DependabotAlertEvent {
8632 fn from(value: &DependabotAlertEvent) -> Self {
8633 value.clone()
8634 }
8635}
8636impl From<DependabotAlertCreated> for DependabotAlertEvent {
8637 fn from(value: DependabotAlertCreated) -> Self {
8638 Self::Created(value)
8639 }
8640}
8641impl From<DependabotAlertDismissed> for DependabotAlertEvent {
8642 fn from(value: DependabotAlertDismissed) -> Self {
8643 Self::Dismissed(value)
8644 }
8645}
8646impl From<DependabotAlertFixed> for DependabotAlertEvent {
8647 fn from(value: DependabotAlertFixed) -> Self {
8648 Self::Fixed(value)
8649 }
8650}
8651impl From<DependabotAlertReintroduced> for DependabotAlertEvent {
8652 fn from(value: DependabotAlertReintroduced) -> Self {
8653 Self::Reintroduced(value)
8654 }
8655}
8656impl From<DependabotAlertReopened> for DependabotAlertEvent {
8657 fn from(value: DependabotAlertReopened) -> Self {
8658 Self::Reopened(value)
8659 }
8660}
8661#[derive(Clone, Debug, Deserialize, Serialize)]
8662#[serde(deny_unknown_fields)]
8663pub struct DependabotAlertFixed {
8664 pub action: DependabotAlertFixedAction,
8665 pub alert: DependabotAlert,
8666 #[serde(default, skip_serializing_if = "Option::is_none")]
8667 pub installation: Option<InstallationLite>,
8668 #[serde(default, skip_serializing_if = "Option::is_none")]
8669 pub organization: Option<Organization>,
8670 pub repository: Repository,
8671 pub sender: GithubOrg,
8672}
8673impl From<&DependabotAlertFixed> for DependabotAlertFixed {
8674 fn from(value: &DependabotAlertFixed) -> Self {
8675 value.clone()
8676 }
8677}
8678#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8679pub enum DependabotAlertFixedAction {
8680 #[serde(rename = "fixed")]
8681 Fixed,
8682}
8683impl From<&DependabotAlertFixedAction> for DependabotAlertFixedAction {
8684 fn from(value: &DependabotAlertFixedAction) -> Self {
8685 value.clone()
8686 }
8687}
8688impl ToString for DependabotAlertFixedAction {
8689 fn to_string(&self) -> String {
8690 match *self {
8691 Self::Fixed => "fixed".to_string(),
8692 }
8693 }
8694}
8695impl std::str::FromStr for DependabotAlertFixedAction {
8696 type Err = &'static str;
8697
8698 fn from_str(value: &str) -> Result<Self, &'static str> {
8699 match value {
8700 "fixed" => Ok(Self::Fixed),
8701 _ => Err("invalid value"),
8702 }
8703 }
8704}
8705impl std::convert::TryFrom<&str> for DependabotAlertFixedAction {
8706 type Error = &'static str;
8707
8708 fn try_from(value: &str) -> Result<Self, &'static str> {
8709 value.parse()
8710 }
8711}
8712impl std::convert::TryFrom<&String> for DependabotAlertFixedAction {
8713 type Error = &'static str;
8714
8715 fn try_from(value: &String) -> Result<Self, &'static str> {
8716 value.parse()
8717 }
8718}
8719impl std::convert::TryFrom<String> for DependabotAlertFixedAction {
8720 type Error = &'static str;
8721
8722 fn try_from(value: String) -> Result<Self, &'static str> {
8723 value.parse()
8724 }
8725}
8726#[derive(Clone, Debug, Deserialize, Serialize)]
8728#[serde(deny_unknown_fields)]
8729pub struct DependabotAlertPackage {
8730 pub ecosystem: String,
8732 pub name: String,
8734}
8735impl From<&DependabotAlertPackage> for DependabotAlertPackage {
8736 fn from(value: &DependabotAlertPackage) -> Self {
8737 value.clone()
8738 }
8739}
8740#[derive(Clone, Debug, Deserialize, Serialize)]
8741#[serde(deny_unknown_fields)]
8742pub struct DependabotAlertReintroduced {
8743 pub action: DependabotAlertReintroducedAction,
8744 pub alert: DependabotAlert,
8745 #[serde(default, skip_serializing_if = "Option::is_none")]
8746 pub installation: Option<InstallationLite>,
8747 #[serde(default, skip_serializing_if = "Option::is_none")]
8748 pub organization: Option<Organization>,
8749 pub repository: Repository,
8750 pub sender: GithubOrg,
8751}
8752impl From<&DependabotAlertReintroduced> for DependabotAlertReintroduced {
8753 fn from(value: &DependabotAlertReintroduced) -> Self {
8754 value.clone()
8755 }
8756}
8757#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8758pub enum DependabotAlertReintroducedAction {
8759 #[serde(rename = "reintroduced")]
8760 Reintroduced,
8761}
8762impl From<&DependabotAlertReintroducedAction> for DependabotAlertReintroducedAction {
8763 fn from(value: &DependabotAlertReintroducedAction) -> Self {
8764 value.clone()
8765 }
8766}
8767impl ToString for DependabotAlertReintroducedAction {
8768 fn to_string(&self) -> String {
8769 match *self {
8770 Self::Reintroduced => "reintroduced".to_string(),
8771 }
8772 }
8773}
8774impl std::str::FromStr for DependabotAlertReintroducedAction {
8775 type Err = &'static str;
8776
8777 fn from_str(value: &str) -> Result<Self, &'static str> {
8778 match value {
8779 "reintroduced" => Ok(Self::Reintroduced),
8780 _ => Err("invalid value"),
8781 }
8782 }
8783}
8784impl std::convert::TryFrom<&str> for DependabotAlertReintroducedAction {
8785 type Error = &'static str;
8786
8787 fn try_from(value: &str) -> Result<Self, &'static str> {
8788 value.parse()
8789 }
8790}
8791impl std::convert::TryFrom<&String> for DependabotAlertReintroducedAction {
8792 type Error = &'static str;
8793
8794 fn try_from(value: &String) -> Result<Self, &'static str> {
8795 value.parse()
8796 }
8797}
8798impl std::convert::TryFrom<String> for DependabotAlertReintroducedAction {
8799 type Error = &'static str;
8800
8801 fn try_from(value: String) -> Result<Self, &'static str> {
8802 value.parse()
8803 }
8804}
8805#[derive(Clone, Debug, Deserialize, Serialize)]
8806#[serde(deny_unknown_fields)]
8807pub struct DependabotAlertReopened {
8808 pub action: DependabotAlertReopenedAction,
8809 pub alert: DependabotAlert,
8810 #[serde(default, skip_serializing_if = "Option::is_none")]
8811 pub installation: Option<InstallationLite>,
8812 #[serde(default, skip_serializing_if = "Option::is_none")]
8813 pub organization: Option<Organization>,
8814 pub repository: Repository,
8815 pub sender: User,
8816}
8817impl From<&DependabotAlertReopened> for DependabotAlertReopened {
8818 fn from(value: &DependabotAlertReopened) -> Self {
8819 value.clone()
8820 }
8821}
8822#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8823pub enum DependabotAlertReopenedAction {
8824 #[serde(rename = "reopened")]
8825 Reopened,
8826}
8827impl From<&DependabotAlertReopenedAction> for DependabotAlertReopenedAction {
8828 fn from(value: &DependabotAlertReopenedAction) -> Self {
8829 value.clone()
8830 }
8831}
8832impl ToString for DependabotAlertReopenedAction {
8833 fn to_string(&self) -> String {
8834 match *self {
8835 Self::Reopened => "reopened".to_string(),
8836 }
8837 }
8838}
8839impl std::str::FromStr for DependabotAlertReopenedAction {
8840 type Err = &'static str;
8841
8842 fn from_str(value: &str) -> Result<Self, &'static str> {
8843 match value {
8844 "reopened" => Ok(Self::Reopened),
8845 _ => Err("invalid value"),
8846 }
8847 }
8848}
8849impl std::convert::TryFrom<&str> for DependabotAlertReopenedAction {
8850 type Error = &'static str;
8851
8852 fn try_from(value: &str) -> Result<Self, &'static str> {
8853 value.parse()
8854 }
8855}
8856impl std::convert::TryFrom<&String> for DependabotAlertReopenedAction {
8857 type Error = &'static str;
8858
8859 fn try_from(value: &String) -> Result<Self, &'static str> {
8860 value.parse()
8861 }
8862}
8863impl std::convert::TryFrom<String> for DependabotAlertReopenedAction {
8864 type Error = &'static str;
8865
8866 fn try_from(value: String) -> Result<Self, &'static str> {
8867 value.parse()
8868 }
8869}
8870#[derive(Clone, Debug, Deserialize, Serialize)]
8872#[serde(deny_unknown_fields)]
8873pub struct DependabotAlertSecurityAdvisory {
8874 pub cve_id: Option<String>,
8876 pub cvss: SecurityAdvisoryCvss,
8877 pub cwes: Vec<SecurityAdvisoryCwes>,
8879 pub description: String,
8881 pub ghsa_id: String,
8883 pub identifiers: Vec<DependabotAlertSecurityAdvisoryIdentifiersItem>,
8885 pub published_at: chrono::DateTime<chrono::offset::Utc>,
8888 pub references: Vec<DependabotAlertSecurityAdvisoryReferencesItem>,
8890 pub severity: DependabotAlertSecurityAdvisorySeverity,
8892 pub summary: String,
8894 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
8897 pub vulnerabilities: Vec<DependabotAlertSecurityAdvisoryVulnerabilitiesItem>,
8899 pub withdrawn_at: Option<chrono::DateTime<chrono::offset::Utc>>,
8902}
8903impl From<&DependabotAlertSecurityAdvisory> for DependabotAlertSecurityAdvisory {
8904 fn from(value: &DependabotAlertSecurityAdvisory) -> Self {
8905 value.clone()
8906 }
8907}
8908#[derive(Clone, Debug, Deserialize, Serialize)]
8910#[serde(deny_unknown_fields)]
8911pub struct DependabotAlertSecurityAdvisoryIdentifiersItem {
8912 #[serde(rename = "type")]
8914 pub type_: DependabotAlertSecurityAdvisoryIdentifiersItemType,
8915 pub value: String,
8917}
8918impl From<&DependabotAlertSecurityAdvisoryIdentifiersItem>
8919 for DependabotAlertSecurityAdvisoryIdentifiersItem
8920{
8921 fn from(value: &DependabotAlertSecurityAdvisoryIdentifiersItem) -> Self {
8922 value.clone()
8923 }
8924}
8925#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8927pub enum DependabotAlertSecurityAdvisoryIdentifiersItemType {
8928 #[serde(rename = "CVE")]
8929 Cve,
8930 #[serde(rename = "GHSA")]
8931 Ghsa,
8932}
8933impl From<&DependabotAlertSecurityAdvisoryIdentifiersItemType>
8934 for DependabotAlertSecurityAdvisoryIdentifiersItemType
8935{
8936 fn from(value: &DependabotAlertSecurityAdvisoryIdentifiersItemType) -> Self {
8937 value.clone()
8938 }
8939}
8940impl ToString for DependabotAlertSecurityAdvisoryIdentifiersItemType {
8941 fn to_string(&self) -> String {
8942 match *self {
8943 Self::Cve => "CVE".to_string(),
8944 Self::Ghsa => "GHSA".to_string(),
8945 }
8946 }
8947}
8948impl std::str::FromStr for DependabotAlertSecurityAdvisoryIdentifiersItemType {
8949 type Err = &'static str;
8950
8951 fn from_str(value: &str) -> Result<Self, &'static str> {
8952 match value {
8953 "CVE" => Ok(Self::Cve),
8954 "GHSA" => Ok(Self::Ghsa),
8955 _ => Err("invalid value"),
8956 }
8957 }
8958}
8959impl std::convert::TryFrom<&str> for DependabotAlertSecurityAdvisoryIdentifiersItemType {
8960 type Error = &'static str;
8961
8962 fn try_from(value: &str) -> Result<Self, &'static str> {
8963 value.parse()
8964 }
8965}
8966impl std::convert::TryFrom<&String> for DependabotAlertSecurityAdvisoryIdentifiersItemType {
8967 type Error = &'static str;
8968
8969 fn try_from(value: &String) -> Result<Self, &'static str> {
8970 value.parse()
8971 }
8972}
8973impl std::convert::TryFrom<String> for DependabotAlertSecurityAdvisoryIdentifiersItemType {
8974 type Error = &'static str;
8975
8976 fn try_from(value: String) -> Result<Self, &'static str> {
8977 value.parse()
8978 }
8979}
8980#[derive(Clone, Debug, Deserialize, Serialize)]
8981#[serde(deny_unknown_fields)]
8982pub struct DependabotAlertSecurityAdvisoryReferencesItem {
8983 pub url: String,
8985}
8986impl From<&DependabotAlertSecurityAdvisoryReferencesItem>
8987 for DependabotAlertSecurityAdvisoryReferencesItem
8988{
8989 fn from(value: &DependabotAlertSecurityAdvisoryReferencesItem) -> Self {
8990 value.clone()
8991 }
8992}
8993#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
8995pub enum DependabotAlertSecurityAdvisorySeverity {
8996 #[serde(rename = "low")]
8997 Low,
8998 #[serde(rename = "medium")]
8999 Medium,
9000 #[serde(rename = "high")]
9001 High,
9002 #[serde(rename = "critical")]
9003 Critical,
9004}
9005impl From<&DependabotAlertSecurityAdvisorySeverity> for DependabotAlertSecurityAdvisorySeverity {
9006 fn from(value: &DependabotAlertSecurityAdvisorySeverity) -> Self {
9007 value.clone()
9008 }
9009}
9010impl ToString for DependabotAlertSecurityAdvisorySeverity {
9011 fn to_string(&self) -> String {
9012 match *self {
9013 Self::Low => "low".to_string(),
9014 Self::Medium => "medium".to_string(),
9015 Self::High => "high".to_string(),
9016 Self::Critical => "critical".to_string(),
9017 }
9018 }
9019}
9020impl std::str::FromStr for DependabotAlertSecurityAdvisorySeverity {
9021 type Err = &'static str;
9022
9023 fn from_str(value: &str) -> Result<Self, &'static str> {
9024 match value {
9025 "low" => Ok(Self::Low),
9026 "medium" => Ok(Self::Medium),
9027 "high" => Ok(Self::High),
9028 "critical" => Ok(Self::Critical),
9029 _ => Err("invalid value"),
9030 }
9031 }
9032}
9033impl std::convert::TryFrom<&str> for DependabotAlertSecurityAdvisorySeverity {
9034 type Error = &'static str;
9035
9036 fn try_from(value: &str) -> Result<Self, &'static str> {
9037 value.parse()
9038 }
9039}
9040impl std::convert::TryFrom<&String> for DependabotAlertSecurityAdvisorySeverity {
9041 type Error = &'static str;
9042
9043 fn try_from(value: &String) -> Result<Self, &'static str> {
9044 value.parse()
9045 }
9046}
9047impl std::convert::TryFrom<String> for DependabotAlertSecurityAdvisorySeverity {
9048 type Error = &'static str;
9049
9050 fn try_from(value: String) -> Result<Self, &'static str> {
9051 value.parse()
9052 }
9053}
9054#[derive(Clone, Debug, Deserialize, Serialize)]
9056#[serde(deny_unknown_fields)]
9057pub struct DependabotAlertSecurityAdvisoryVulnerabilitiesItem {
9058 pub first_patched_version:
9059 DependabotAlertSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion,
9060 pub package: DependabotAlertPackage,
9061 pub severity: DependabotAlertSecurityAdvisoryVulnerabilitiesItemSeverity,
9063 pub vulnerable_version_range: String,
9066}
9067impl From<&DependabotAlertSecurityAdvisoryVulnerabilitiesItem>
9068 for DependabotAlertSecurityAdvisoryVulnerabilitiesItem
9069{
9070 fn from(value: &DependabotAlertSecurityAdvisoryVulnerabilitiesItem) -> Self {
9071 value.clone()
9072 }
9073}
9074#[derive(Clone, Debug, Deserialize, Serialize)]
9076#[serde(deny_unknown_fields)]
9077pub struct DependabotAlertSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion {
9078 pub identifier: String,
9080}
9081impl From<&DependabotAlertSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion>
9082 for DependabotAlertSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion
9083{
9084 fn from(value: &DependabotAlertSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion) -> Self {
9085 value.clone()
9086 }
9087}
9088#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
9090pub enum DependabotAlertSecurityAdvisoryVulnerabilitiesItemSeverity {
9091 #[serde(rename = "low")]
9092 Low,
9093 #[serde(rename = "medium")]
9094 Medium,
9095 #[serde(rename = "high")]
9096 High,
9097 #[serde(rename = "critical")]
9098 Critical,
9099}
9100impl From<&DependabotAlertSecurityAdvisoryVulnerabilitiesItemSeverity>
9101 for DependabotAlertSecurityAdvisoryVulnerabilitiesItemSeverity
9102{
9103 fn from(value: &DependabotAlertSecurityAdvisoryVulnerabilitiesItemSeverity) -> Self {
9104 value.clone()
9105 }
9106}
9107impl ToString for DependabotAlertSecurityAdvisoryVulnerabilitiesItemSeverity {
9108 fn to_string(&self) -> String {
9109 match *self {
9110 Self::Low => "low".to_string(),
9111 Self::Medium => "medium".to_string(),
9112 Self::High => "high".to_string(),
9113 Self::Critical => "critical".to_string(),
9114 }
9115 }
9116}
9117impl std::str::FromStr for DependabotAlertSecurityAdvisoryVulnerabilitiesItemSeverity {
9118 type Err = &'static str;
9119
9120 fn from_str(value: &str) -> Result<Self, &'static str> {
9121 match value {
9122 "low" => Ok(Self::Low),
9123 "medium" => Ok(Self::Medium),
9124 "high" => Ok(Self::High),
9125 "critical" => Ok(Self::Critical),
9126 _ => Err("invalid value"),
9127 }
9128 }
9129}
9130impl std::convert::TryFrom<&str> for DependabotAlertSecurityAdvisoryVulnerabilitiesItemSeverity {
9131 type Error = &'static str;
9132
9133 fn try_from(value: &str) -> Result<Self, &'static str> {
9134 value.parse()
9135 }
9136}
9137impl std::convert::TryFrom<&String> for DependabotAlertSecurityAdvisoryVulnerabilitiesItemSeverity {
9138 type Error = &'static str;
9139
9140 fn try_from(value: &String) -> Result<Self, &'static str> {
9141 value.parse()
9142 }
9143}
9144impl std::convert::TryFrom<String> for DependabotAlertSecurityAdvisoryVulnerabilitiesItemSeverity {
9145 type Error = &'static str;
9146
9147 fn try_from(value: String) -> Result<Self, &'static str> {
9148 value.parse()
9149 }
9150}
9151#[derive(Clone, Debug, Deserialize, Serialize)]
9153#[serde(deny_unknown_fields)]
9154pub struct DependabotAlertSecurityVulnerability {
9155 pub first_patched_version: DependabotAlertSecurityVulnerabilityFirstPatchedVersion,
9156 pub package: DependabotAlertPackage,
9157 pub severity: DependabotAlertSecurityVulnerabilitySeverity,
9159 pub vulnerable_version_range: String,
9162}
9163impl From<&DependabotAlertSecurityVulnerability> for DependabotAlertSecurityVulnerability {
9164 fn from(value: &DependabotAlertSecurityVulnerability) -> Self {
9165 value.clone()
9166 }
9167}
9168#[derive(Clone, Debug, Deserialize, Serialize)]
9170#[serde(deny_unknown_fields)]
9171pub struct DependabotAlertSecurityVulnerabilityFirstPatchedVersion {
9172 pub identifier: String,
9174}
9175impl From<&DependabotAlertSecurityVulnerabilityFirstPatchedVersion>
9176 for DependabotAlertSecurityVulnerabilityFirstPatchedVersion
9177{
9178 fn from(value: &DependabotAlertSecurityVulnerabilityFirstPatchedVersion) -> Self {
9179 value.clone()
9180 }
9181}
9182#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
9184pub enum DependabotAlertSecurityVulnerabilitySeverity {
9185 #[serde(rename = "low")]
9186 Low,
9187 #[serde(rename = "medium")]
9188 Medium,
9189 #[serde(rename = "high")]
9190 High,
9191 #[serde(rename = "critical")]
9192 Critical,
9193}
9194impl From<&DependabotAlertSecurityVulnerabilitySeverity>
9195 for DependabotAlertSecurityVulnerabilitySeverity
9196{
9197 fn from(value: &DependabotAlertSecurityVulnerabilitySeverity) -> Self {
9198 value.clone()
9199 }
9200}
9201impl ToString for DependabotAlertSecurityVulnerabilitySeverity {
9202 fn to_string(&self) -> String {
9203 match *self {
9204 Self::Low => "low".to_string(),
9205 Self::Medium => "medium".to_string(),
9206 Self::High => "high".to_string(),
9207 Self::Critical => "critical".to_string(),
9208 }
9209 }
9210}
9211impl std::str::FromStr for DependabotAlertSecurityVulnerabilitySeverity {
9212 type Err = &'static str;
9213
9214 fn from_str(value: &str) -> Result<Self, &'static str> {
9215 match value {
9216 "low" => Ok(Self::Low),
9217 "medium" => Ok(Self::Medium),
9218 "high" => Ok(Self::High),
9219 "critical" => Ok(Self::Critical),
9220 _ => Err("invalid value"),
9221 }
9222 }
9223}
9224impl std::convert::TryFrom<&str> for DependabotAlertSecurityVulnerabilitySeverity {
9225 type Error = &'static str;
9226
9227 fn try_from(value: &str) -> Result<Self, &'static str> {
9228 value.parse()
9229 }
9230}
9231impl std::convert::TryFrom<&String> for DependabotAlertSecurityVulnerabilitySeverity {
9232 type Error = &'static str;
9233
9234 fn try_from(value: &String) -> Result<Self, &'static str> {
9235 value.parse()
9236 }
9237}
9238impl std::convert::TryFrom<String> for DependabotAlertSecurityVulnerabilitySeverity {
9239 type Error = &'static str;
9240
9241 fn try_from(value: String) -> Result<Self, &'static str> {
9242 value.parse()
9243 }
9244}
9245#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
9247pub enum DependabotAlertState {
9248 #[serde(rename = "dismissed")]
9249 Dismissed,
9250 #[serde(rename = "fixed")]
9251 Fixed,
9252 #[serde(rename = "open")]
9253 Open,
9254}
9255impl From<&DependabotAlertState> for DependabotAlertState {
9256 fn from(value: &DependabotAlertState) -> Self {
9257 value.clone()
9258 }
9259}
9260impl ToString for DependabotAlertState {
9261 fn to_string(&self) -> String {
9262 match *self {
9263 Self::Dismissed => "dismissed".to_string(),
9264 Self::Fixed => "fixed".to_string(),
9265 Self::Open => "open".to_string(),
9266 }
9267 }
9268}
9269impl std::str::FromStr for DependabotAlertState {
9270 type Err = &'static str;
9271
9272 fn from_str(value: &str) -> Result<Self, &'static str> {
9273 match value {
9274 "dismissed" => Ok(Self::Dismissed),
9275 "fixed" => Ok(Self::Fixed),
9276 "open" => Ok(Self::Open),
9277 _ => Err("invalid value"),
9278 }
9279 }
9280}
9281impl std::convert::TryFrom<&str> for DependabotAlertState {
9282 type Error = &'static str;
9283
9284 fn try_from(value: &str) -> Result<Self, &'static str> {
9285 value.parse()
9286 }
9287}
9288impl std::convert::TryFrom<&String> for DependabotAlertState {
9289 type Error = &'static str;
9290
9291 fn try_from(value: &String) -> Result<Self, &'static str> {
9292 value.parse()
9293 }
9294}
9295impl std::convert::TryFrom<String> for DependabotAlertState {
9296 type Error = &'static str;
9297
9298 fn try_from(value: String) -> Result<Self, &'static str> {
9299 value.parse()
9300 }
9301}
9302#[derive(Clone, Debug, Deserialize, Serialize)]
9303#[serde(deny_unknown_fields)]
9304pub struct DeployKeyCreated {
9305 pub action: DeployKeyCreatedAction,
9306 #[serde(default, skip_serializing_if = "Option::is_none")]
9307 pub installation: Option<InstallationLite>,
9308 pub key: DeployKeyCreatedKey,
9309 #[serde(default, skip_serializing_if = "Option::is_none")]
9310 pub organization: Option<Organization>,
9311 pub repository: Repository,
9312 pub sender: User,
9313}
9314impl From<&DeployKeyCreated> for DeployKeyCreated {
9315 fn from(value: &DeployKeyCreated) -> Self {
9316 value.clone()
9317 }
9318}
9319#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
9320pub enum DeployKeyCreatedAction {
9321 #[serde(rename = "created")]
9322 Created,
9323}
9324impl From<&DeployKeyCreatedAction> for DeployKeyCreatedAction {
9325 fn from(value: &DeployKeyCreatedAction) -> Self {
9326 value.clone()
9327 }
9328}
9329impl ToString for DeployKeyCreatedAction {
9330 fn to_string(&self) -> String {
9331 match *self {
9332 Self::Created => "created".to_string(),
9333 }
9334 }
9335}
9336impl std::str::FromStr for DeployKeyCreatedAction {
9337 type Err = &'static str;
9338
9339 fn from_str(value: &str) -> Result<Self, &'static str> {
9340 match value {
9341 "created" => Ok(Self::Created),
9342 _ => Err("invalid value"),
9343 }
9344 }
9345}
9346impl std::convert::TryFrom<&str> for DeployKeyCreatedAction {
9347 type Error = &'static str;
9348
9349 fn try_from(value: &str) -> Result<Self, &'static str> {
9350 value.parse()
9351 }
9352}
9353impl std::convert::TryFrom<&String> for DeployKeyCreatedAction {
9354 type Error = &'static str;
9355
9356 fn try_from(value: &String) -> Result<Self, &'static str> {
9357 value.parse()
9358 }
9359}
9360impl std::convert::TryFrom<String> for DeployKeyCreatedAction {
9361 type Error = &'static str;
9362
9363 fn try_from(value: String) -> Result<Self, &'static str> {
9364 value.parse()
9365 }
9366}
9367#[derive(Clone, Debug, Deserialize, Serialize)]
9369#[serde(deny_unknown_fields)]
9370pub struct DeployKeyCreatedKey {
9371 pub created_at: chrono::DateTime<chrono::offset::Utc>,
9372 pub id: i64,
9373 pub key: String,
9374 pub read_only: bool,
9375 pub title: String,
9376 pub url: String,
9377 pub verified: bool,
9378}
9379impl From<&DeployKeyCreatedKey> for DeployKeyCreatedKey {
9380 fn from(value: &DeployKeyCreatedKey) -> Self {
9381 value.clone()
9382 }
9383}
9384#[derive(Clone, Debug, Deserialize, Serialize)]
9385#[serde(deny_unknown_fields)]
9386pub struct DeployKeyDeleted {
9387 pub action: DeployKeyDeletedAction,
9388 #[serde(default, skip_serializing_if = "Option::is_none")]
9389 pub installation: Option<InstallationLite>,
9390 pub key: DeployKeyDeletedKey,
9391 #[serde(default, skip_serializing_if = "Option::is_none")]
9392 pub organization: Option<Organization>,
9393 pub repository: Repository,
9394 pub sender: User,
9395}
9396impl From<&DeployKeyDeleted> for DeployKeyDeleted {
9397 fn from(value: &DeployKeyDeleted) -> Self {
9398 value.clone()
9399 }
9400}
9401#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
9402pub enum DeployKeyDeletedAction {
9403 #[serde(rename = "deleted")]
9404 Deleted,
9405}
9406impl From<&DeployKeyDeletedAction> for DeployKeyDeletedAction {
9407 fn from(value: &DeployKeyDeletedAction) -> Self {
9408 value.clone()
9409 }
9410}
9411impl ToString for DeployKeyDeletedAction {
9412 fn to_string(&self) -> String {
9413 match *self {
9414 Self::Deleted => "deleted".to_string(),
9415 }
9416 }
9417}
9418impl std::str::FromStr for DeployKeyDeletedAction {
9419 type Err = &'static str;
9420
9421 fn from_str(value: &str) -> Result<Self, &'static str> {
9422 match value {
9423 "deleted" => Ok(Self::Deleted),
9424 _ => Err("invalid value"),
9425 }
9426 }
9427}
9428impl std::convert::TryFrom<&str> for DeployKeyDeletedAction {
9429 type Error = &'static str;
9430
9431 fn try_from(value: &str) -> Result<Self, &'static str> {
9432 value.parse()
9433 }
9434}
9435impl std::convert::TryFrom<&String> for DeployKeyDeletedAction {
9436 type Error = &'static str;
9437
9438 fn try_from(value: &String) -> Result<Self, &'static str> {
9439 value.parse()
9440 }
9441}
9442impl std::convert::TryFrom<String> for DeployKeyDeletedAction {
9443 type Error = &'static str;
9444
9445 fn try_from(value: String) -> Result<Self, &'static str> {
9446 value.parse()
9447 }
9448}
9449#[derive(Clone, Debug, Deserialize, Serialize)]
9451#[serde(deny_unknown_fields)]
9452pub struct DeployKeyDeletedKey {
9453 pub created_at: chrono::DateTime<chrono::offset::Utc>,
9454 pub id: i64,
9455 pub key: String,
9456 pub read_only: bool,
9457 pub title: String,
9458 pub url: String,
9459 pub verified: bool,
9460}
9461impl From<&DeployKeyDeletedKey> for DeployKeyDeletedKey {
9462 fn from(value: &DeployKeyDeletedKey) -> Self {
9463 value.clone()
9464 }
9465}
9466#[derive(Clone, Debug, Deserialize, Serialize)]
9467#[serde(untagged)]
9468pub enum DeployKeyEvent {
9469 Created(DeployKeyCreated),
9470 Deleted(DeployKeyDeleted),
9471}
9472impl From<&DeployKeyEvent> for DeployKeyEvent {
9473 fn from(value: &DeployKeyEvent) -> Self {
9474 value.clone()
9475 }
9476}
9477impl From<DeployKeyCreated> for DeployKeyEvent {
9478 fn from(value: DeployKeyCreated) -> Self {
9479 Self::Created(value)
9480 }
9481}
9482impl From<DeployKeyDeleted> for DeployKeyEvent {
9483 fn from(value: DeployKeyDeleted) -> Self {
9484 Self::Deleted(value)
9485 }
9486}
9487#[derive(Clone, Debug, Deserialize, Serialize)]
9489#[serde(deny_unknown_fields)]
9490pub struct Deployment {
9491 pub created_at: chrono::DateTime<chrono::offset::Utc>,
9492 pub creator: User,
9493 pub description: Option<String>,
9494 pub environment: String,
9496 pub id: i64,
9498 pub node_id: String,
9499 pub original_environment: String,
9500 pub payload: std::collections::HashMap<String, serde_json::Value>,
9501 #[serde(default, skip_serializing_if = "Option::is_none")]
9502 pub performed_via_github_app: Option<App>,
9503 #[serde(default, skip_serializing_if = "Option::is_none")]
9506 pub production_environment: Option<bool>,
9507 #[serde(rename = "ref")]
9509 pub ref_: String,
9510 pub repository_url: String,
9511 pub sha: String,
9512 pub statuses_url: String,
9513 pub task: String,
9515 #[serde(default, skip_serializing_if = "Option::is_none")]
9518 pub transient_environment: Option<bool>,
9519 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
9520 pub url: String,
9521}
9522impl From<&Deployment> for Deployment {
9523 fn from(value: &Deployment) -> Self {
9524 value.clone()
9525 }
9526}
9527#[derive(Clone, Debug, Deserialize, Serialize)]
9528#[serde(deny_unknown_fields)]
9529pub struct DeploymentCreated {
9530 pub action: DeploymentCreatedAction,
9531 pub deployment: Deployment,
9532 #[serde(default, skip_serializing_if = "Option::is_none")]
9533 pub installation: Option<InstallationLite>,
9534 #[serde(default, skip_serializing_if = "Option::is_none")]
9535 pub organization: Option<Organization>,
9536 pub repository: Repository,
9537 pub sender: User,
9538 pub workflow: Option<Workflow>,
9539 pub workflow_run: Option<DeploymentWorkflowRun>,
9540}
9541impl From<&DeploymentCreated> for DeploymentCreated {
9542 fn from(value: &DeploymentCreated) -> Self {
9543 value.clone()
9544 }
9545}
9546#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
9547pub enum DeploymentCreatedAction {
9548 #[serde(rename = "created")]
9549 Created,
9550}
9551impl From<&DeploymentCreatedAction> for DeploymentCreatedAction {
9552 fn from(value: &DeploymentCreatedAction) -> Self {
9553 value.clone()
9554 }
9555}
9556impl ToString for DeploymentCreatedAction {
9557 fn to_string(&self) -> String {
9558 match *self {
9559 Self::Created => "created".to_string(),
9560 }
9561 }
9562}
9563impl std::str::FromStr for DeploymentCreatedAction {
9564 type Err = &'static str;
9565
9566 fn from_str(value: &str) -> Result<Self, &'static str> {
9567 match value {
9568 "created" => Ok(Self::Created),
9569 _ => Err("invalid value"),
9570 }
9571 }
9572}
9573impl std::convert::TryFrom<&str> for DeploymentCreatedAction {
9574 type Error = &'static str;
9575
9576 fn try_from(value: &str) -> Result<Self, &'static str> {
9577 value.parse()
9578 }
9579}
9580impl std::convert::TryFrom<&String> for DeploymentCreatedAction {
9581 type Error = &'static str;
9582
9583 fn try_from(value: &String) -> Result<Self, &'static str> {
9584 value.parse()
9585 }
9586}
9587impl std::convert::TryFrom<String> for DeploymentCreatedAction {
9588 type Error = &'static str;
9589
9590 fn try_from(value: String) -> Result<Self, &'static str> {
9591 value.parse()
9592 }
9593}
9594#[derive(Clone, Debug, Deserialize, Serialize)]
9595pub struct DeploymentEvent(pub DeploymentCreated);
9596impl std::ops::Deref for DeploymentEvent {
9597 type Target = DeploymentCreated;
9598
9599 fn deref(&self) -> &DeploymentCreated {
9600 &self.0
9601 }
9602}
9603impl From<DeploymentEvent> for DeploymentCreated {
9604 fn from(value: DeploymentEvent) -> Self {
9605 value.0
9606 }
9607}
9608impl From<&DeploymentEvent> for DeploymentEvent {
9609 fn from(value: &DeploymentEvent) -> Self {
9610 value.clone()
9611 }
9612}
9613impl From<DeploymentCreated> for DeploymentEvent {
9614 fn from(value: DeploymentCreated) -> Self {
9615 Self(value)
9616 }
9617}
9618#[derive(Clone, Debug, Deserialize, Serialize)]
9619#[serde(deny_unknown_fields)]
9620pub struct DeploymentStatusCreated {
9621 pub action: DeploymentStatusCreatedAction,
9622 #[serde(default, skip_serializing_if = "Option::is_none")]
9623 pub check_run: Option<DeploymentStatusCreatedCheckRun>,
9624 pub deployment: Deployment,
9625 pub deployment_status: DeploymentStatusCreatedDeploymentStatus,
9626 #[serde(default, skip_serializing_if = "Option::is_none")]
9627 pub installation: Option<InstallationLite>,
9628 #[serde(default, skip_serializing_if = "Option::is_none")]
9629 pub organization: Option<Organization>,
9630 pub repository: Repository,
9631 pub sender: User,
9632 #[serde(default, skip_serializing_if = "Option::is_none")]
9633 pub workflow: Option<Workflow>,
9634 #[serde(default, skip_serializing_if = "Option::is_none")]
9635 pub workflow_run: Option<DeploymentWorkflowRun>,
9636}
9637impl From<&DeploymentStatusCreated> for DeploymentStatusCreated {
9638 fn from(value: &DeploymentStatusCreated) -> Self {
9639 value.clone()
9640 }
9641}
9642#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
9643pub enum DeploymentStatusCreatedAction {
9644 #[serde(rename = "created")]
9645 Created,
9646}
9647impl From<&DeploymentStatusCreatedAction> for DeploymentStatusCreatedAction {
9648 fn from(value: &DeploymentStatusCreatedAction) -> Self {
9649 value.clone()
9650 }
9651}
9652impl ToString for DeploymentStatusCreatedAction {
9653 fn to_string(&self) -> String {
9654 match *self {
9655 Self::Created => "created".to_string(),
9656 }
9657 }
9658}
9659impl std::str::FromStr for DeploymentStatusCreatedAction {
9660 type Err = &'static str;
9661
9662 fn from_str(value: &str) -> Result<Self, &'static str> {
9663 match value {
9664 "created" => Ok(Self::Created),
9665 _ => Err("invalid value"),
9666 }
9667 }
9668}
9669impl std::convert::TryFrom<&str> for DeploymentStatusCreatedAction {
9670 type Error = &'static str;
9671
9672 fn try_from(value: &str) -> Result<Self, &'static str> {
9673 value.parse()
9674 }
9675}
9676impl std::convert::TryFrom<&String> for DeploymentStatusCreatedAction {
9677 type Error = &'static str;
9678
9679 fn try_from(value: &String) -> Result<Self, &'static str> {
9680 value.parse()
9681 }
9682}
9683impl std::convert::TryFrom<String> for DeploymentStatusCreatedAction {
9684 type Error = &'static str;
9685
9686 fn try_from(value: String) -> Result<Self, &'static str> {
9687 value.parse()
9688 }
9689}
9690#[derive(Clone, Debug, Deserialize, Serialize)]
9691#[serde(deny_unknown_fields)]
9692pub struct DeploymentStatusCreatedCheckRun {
9693 pub completed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
9694 pub conclusion: Option<DeploymentStatusCreatedCheckRunConclusion>,
9698 pub details_url: String,
9699 pub external_id: String,
9700 pub head_sha: String,
9702 pub html_url: String,
9703 pub id: i64,
9705 pub name: String,
9707 pub node_id: String,
9708 pub started_at: chrono::DateTime<chrono::offset::Utc>,
9709 pub status: DeploymentStatusCreatedCheckRunStatus,
9712 pub url: String,
9713}
9714impl From<&DeploymentStatusCreatedCheckRun> for DeploymentStatusCreatedCheckRun {
9715 fn from(value: &DeploymentStatusCreatedCheckRun) -> Self {
9716 value.clone()
9717 }
9718}
9719#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
9723pub enum DeploymentStatusCreatedCheckRunConclusion {
9724 #[serde(rename = "success")]
9725 Success,
9726 #[serde(rename = "failure")]
9727 Failure,
9728 #[serde(rename = "neutral")]
9729 Neutral,
9730 #[serde(rename = "cancelled")]
9731 Cancelled,
9732 #[serde(rename = "timed_out")]
9733 TimedOut,
9734 #[serde(rename = "action_required")]
9735 ActionRequired,
9736 #[serde(rename = "stale")]
9737 Stale,
9738 #[serde(rename = "skipped")]
9739 Skipped,
9740}
9741impl From<&DeploymentStatusCreatedCheckRunConclusion>
9742 for DeploymentStatusCreatedCheckRunConclusion
9743{
9744 fn from(value: &DeploymentStatusCreatedCheckRunConclusion) -> Self {
9745 value.clone()
9746 }
9747}
9748impl ToString for DeploymentStatusCreatedCheckRunConclusion {
9749 fn to_string(&self) -> String {
9750 match *self {
9751 Self::Success => "success".to_string(),
9752 Self::Failure => "failure".to_string(),
9753 Self::Neutral => "neutral".to_string(),
9754 Self::Cancelled => "cancelled".to_string(),
9755 Self::TimedOut => "timed_out".to_string(),
9756 Self::ActionRequired => "action_required".to_string(),
9757 Self::Stale => "stale".to_string(),
9758 Self::Skipped => "skipped".to_string(),
9759 }
9760 }
9761}
9762impl std::str::FromStr for DeploymentStatusCreatedCheckRunConclusion {
9763 type Err = &'static str;
9764
9765 fn from_str(value: &str) -> Result<Self, &'static str> {
9766 match value {
9767 "success" => Ok(Self::Success),
9768 "failure" => Ok(Self::Failure),
9769 "neutral" => Ok(Self::Neutral),
9770 "cancelled" => Ok(Self::Cancelled),
9771 "timed_out" => Ok(Self::TimedOut),
9772 "action_required" => Ok(Self::ActionRequired),
9773 "stale" => Ok(Self::Stale),
9774 "skipped" => Ok(Self::Skipped),
9775 _ => Err("invalid value"),
9776 }
9777 }
9778}
9779impl std::convert::TryFrom<&str> for DeploymentStatusCreatedCheckRunConclusion {
9780 type Error = &'static str;
9781
9782 fn try_from(value: &str) -> Result<Self, &'static str> {
9783 value.parse()
9784 }
9785}
9786impl std::convert::TryFrom<&String> for DeploymentStatusCreatedCheckRunConclusion {
9787 type Error = &'static str;
9788
9789 fn try_from(value: &String) -> Result<Self, &'static str> {
9790 value.parse()
9791 }
9792}
9793impl std::convert::TryFrom<String> for DeploymentStatusCreatedCheckRunConclusion {
9794 type Error = &'static str;
9795
9796 fn try_from(value: String) -> Result<Self, &'static str> {
9797 value.parse()
9798 }
9799}
9800#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
9803pub enum DeploymentStatusCreatedCheckRunStatus {
9804 #[serde(rename = "queued")]
9805 Queued,
9806 #[serde(rename = "in_progress")]
9807 InProgress,
9808 #[serde(rename = "completed")]
9809 Completed,
9810 #[serde(rename = "waiting")]
9811 Waiting,
9812}
9813impl From<&DeploymentStatusCreatedCheckRunStatus> for DeploymentStatusCreatedCheckRunStatus {
9814 fn from(value: &DeploymentStatusCreatedCheckRunStatus) -> Self {
9815 value.clone()
9816 }
9817}
9818impl ToString for DeploymentStatusCreatedCheckRunStatus {
9819 fn to_string(&self) -> String {
9820 match *self {
9821 Self::Queued => "queued".to_string(),
9822 Self::InProgress => "in_progress".to_string(),
9823 Self::Completed => "completed".to_string(),
9824 Self::Waiting => "waiting".to_string(),
9825 }
9826 }
9827}
9828impl std::str::FromStr for DeploymentStatusCreatedCheckRunStatus {
9829 type Err = &'static str;
9830
9831 fn from_str(value: &str) -> Result<Self, &'static str> {
9832 match value {
9833 "queued" => Ok(Self::Queued),
9834 "in_progress" => Ok(Self::InProgress),
9835 "completed" => Ok(Self::Completed),
9836 "waiting" => Ok(Self::Waiting),
9837 _ => Err("invalid value"),
9838 }
9839 }
9840}
9841impl std::convert::TryFrom<&str> for DeploymentStatusCreatedCheckRunStatus {
9842 type Error = &'static str;
9843
9844 fn try_from(value: &str) -> Result<Self, &'static str> {
9845 value.parse()
9846 }
9847}
9848impl std::convert::TryFrom<&String> for DeploymentStatusCreatedCheckRunStatus {
9849 type Error = &'static str;
9850
9851 fn try_from(value: &String) -> Result<Self, &'static str> {
9852 value.parse()
9853 }
9854}
9855impl std::convert::TryFrom<String> for DeploymentStatusCreatedCheckRunStatus {
9856 type Error = &'static str;
9857
9858 fn try_from(value: String) -> Result<Self, &'static str> {
9859 value.parse()
9860 }
9861}
9862#[derive(Clone, Debug, Deserialize, Serialize)]
9864#[serde(deny_unknown_fields)]
9865pub struct DeploymentStatusCreatedDeploymentStatus {
9866 pub created_at: chrono::DateTime<chrono::offset::Utc>,
9867 pub creator: User,
9868 pub deployment_url: String,
9869 pub description: String,
9871 pub environment: String,
9872 #[serde(default, skip_serializing_if = "Option::is_none")]
9873 pub environment_url: Option<DeploymentStatusCreatedDeploymentStatusEnvironmentUrl>,
9874 pub id: i64,
9875 #[serde(default, skip_serializing_if = "Option::is_none")]
9876 pub log_url: Option<String>,
9877 pub node_id: String,
9878 #[serde(default, skip_serializing_if = "Option::is_none")]
9879 pub performed_via_github_app: Option<App>,
9880 pub repository_url: String,
9881 pub state: String,
9883 pub target_url: String,
9885 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
9886 pub url: String,
9887}
9888impl From<&DeploymentStatusCreatedDeploymentStatus> for DeploymentStatusCreatedDeploymentStatus {
9889 fn from(value: &DeploymentStatusCreatedDeploymentStatus) -> Self {
9890 value.clone()
9891 }
9892}
9893#[derive(Clone, Debug, Deserialize, Serialize)]
9894#[serde(untagged)]
9895pub enum DeploymentStatusCreatedDeploymentStatusEnvironmentUrl {
9896 Variant0(String),
9897 Variant1(DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1),
9898}
9899impl From<&DeploymentStatusCreatedDeploymentStatusEnvironmentUrl>
9900 for DeploymentStatusCreatedDeploymentStatusEnvironmentUrl
9901{
9902 fn from(value: &DeploymentStatusCreatedDeploymentStatusEnvironmentUrl) -> Self {
9903 value.clone()
9904 }
9905}
9906impl std::str::FromStr for DeploymentStatusCreatedDeploymentStatusEnvironmentUrl {
9907 type Err = &'static str;
9908
9909 fn from_str(value: &str) -> Result<Self, &'static str> {
9910 if let Ok(v) = value.parse() {
9911 Ok(Self::Variant0(v))
9912 } else if let Ok(v) = value.parse() {
9913 Ok(Self::Variant1(v))
9914 } else {
9915 Err("string conversion failed for all variants")
9916 }
9917 }
9918}
9919impl std::convert::TryFrom<&str> for DeploymentStatusCreatedDeploymentStatusEnvironmentUrl {
9920 type Error = &'static str;
9921
9922 fn try_from(value: &str) -> Result<Self, &'static str> {
9923 value.parse()
9924 }
9925}
9926impl std::convert::TryFrom<&String> for DeploymentStatusCreatedDeploymentStatusEnvironmentUrl {
9927 type Error = &'static str;
9928
9929 fn try_from(value: &String) -> Result<Self, &'static str> {
9930 value.parse()
9931 }
9932}
9933impl std::convert::TryFrom<String> for DeploymentStatusCreatedDeploymentStatusEnvironmentUrl {
9934 type Error = &'static str;
9935
9936 fn try_from(value: String) -> Result<Self, &'static str> {
9937 value.parse()
9938 }
9939}
9940impl ToString for DeploymentStatusCreatedDeploymentStatusEnvironmentUrl {
9941 fn to_string(&self) -> String {
9942 match self {
9943 Self::Variant0(x) => x.to_string(),
9944 Self::Variant1(x) => x.to_string(),
9945 }
9946 }
9947}
9948impl From<DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1>
9949 for DeploymentStatusCreatedDeploymentStatusEnvironmentUrl
9950{
9951 fn from(value: DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1) -> Self {
9952 Self::Variant1(value)
9953 }
9954}
9955#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
9956pub enum DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1 {
9957 #[serde(rename = "")]
9958 X,
9959}
9960impl From<&DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1>
9961 for DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1
9962{
9963 fn from(value: &DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1) -> Self {
9964 value.clone()
9965 }
9966}
9967impl ToString for DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1 {
9968 fn to_string(&self) -> String {
9969 match *self {
9970 Self::X => "".to_string(),
9971 }
9972 }
9973}
9974impl std::str::FromStr for DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1 {
9975 type Err = &'static str;
9976
9977 fn from_str(value: &str) -> Result<Self, &'static str> {
9978 match value {
9979 "" => Ok(Self::X),
9980 _ => Err("invalid value"),
9981 }
9982 }
9983}
9984impl std::convert::TryFrom<&str> for DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1 {
9985 type Error = &'static str;
9986
9987 fn try_from(value: &str) -> Result<Self, &'static str> {
9988 value.parse()
9989 }
9990}
9991impl std::convert::TryFrom<&String>
9992 for DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1
9993{
9994 type Error = &'static str;
9995
9996 fn try_from(value: &String) -> Result<Self, &'static str> {
9997 value.parse()
9998 }
9999}
10000impl std::convert::TryFrom<String>
10001 for DeploymentStatusCreatedDeploymentStatusEnvironmentUrlVariant1
10002{
10003 type Error = &'static str;
10004
10005 fn try_from(value: String) -> Result<Self, &'static str> {
10006 value.parse()
10007 }
10008}
10009#[derive(Clone, Debug, Deserialize, Serialize)]
10010pub struct DeploymentStatusEvent(pub DeploymentStatusCreated);
10011impl std::ops::Deref for DeploymentStatusEvent {
10012 type Target = DeploymentStatusCreated;
10013
10014 fn deref(&self) -> &DeploymentStatusCreated {
10015 &self.0
10016 }
10017}
10018impl From<DeploymentStatusEvent> for DeploymentStatusCreated {
10019 fn from(value: DeploymentStatusEvent) -> Self {
10020 value.0
10021 }
10022}
10023impl From<&DeploymentStatusEvent> for DeploymentStatusEvent {
10024 fn from(value: &DeploymentStatusEvent) -> Self {
10025 value.clone()
10026 }
10027}
10028impl From<DeploymentStatusCreated> for DeploymentStatusEvent {
10029 fn from(value: DeploymentStatusCreated) -> Self {
10030 Self(value)
10031 }
10032}
10033#[derive(Clone, Debug, Deserialize, Serialize)]
10034#[serde(deny_unknown_fields)]
10035pub struct DeploymentWorkflowRun {
10036 pub actor: User,
10037 pub check_suite_id: i64,
10038 pub check_suite_node_id: String,
10039 pub conclusion: Option<DeploymentWorkflowRunConclusion>,
10040 pub created_at: chrono::DateTime<chrono::offset::Utc>,
10041 #[serde(default, skip_serializing_if = "Option::is_none")]
10042 pub display_title: Option<String>,
10043 pub event: String,
10044 pub head_branch: String,
10045 pub head_sha: String,
10046 pub html_url: String,
10047 pub id: i64,
10048 pub name: String,
10049 pub node_id: String,
10050 #[serde(default, skip_serializing_if = "Option::is_none")]
10051 pub path: Option<String>,
10052 pub pull_requests: Vec<CheckRunPullRequest>,
10053 #[serde(default, skip_serializing_if = "Vec::is_empty")]
10054 pub referenced_workflows: Vec<ReferencedWorkflow>,
10055 pub run_attempt: i64,
10056 pub run_number: i64,
10057 pub run_started_at: chrono::DateTime<chrono::offset::Utc>,
10058 pub status: DeploymentWorkflowRunStatus,
10059 pub triggering_actor: User,
10060 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
10061 pub url: String,
10062 pub workflow_id: i64,
10063}
10064impl From<&DeploymentWorkflowRun> for DeploymentWorkflowRun {
10065 fn from(value: &DeploymentWorkflowRun) -> Self {
10066 value.clone()
10067 }
10068}
10069#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
10070pub enum DeploymentWorkflowRunConclusion {
10071 #[serde(rename = "success")]
10072 Success,
10073 #[serde(rename = "failure")]
10074 Failure,
10075 #[serde(rename = "neutral")]
10076 Neutral,
10077 #[serde(rename = "cancelled")]
10078 Cancelled,
10079 #[serde(rename = "timed_out")]
10080 TimedOut,
10081 #[serde(rename = "action_required")]
10082 ActionRequired,
10083 #[serde(rename = "stale")]
10084 Stale,
10085}
10086impl From<&DeploymentWorkflowRunConclusion> for DeploymentWorkflowRunConclusion {
10087 fn from(value: &DeploymentWorkflowRunConclusion) -> Self {
10088 value.clone()
10089 }
10090}
10091impl ToString for DeploymentWorkflowRunConclusion {
10092 fn to_string(&self) -> String {
10093 match *self {
10094 Self::Success => "success".to_string(),
10095 Self::Failure => "failure".to_string(),
10096 Self::Neutral => "neutral".to_string(),
10097 Self::Cancelled => "cancelled".to_string(),
10098 Self::TimedOut => "timed_out".to_string(),
10099 Self::ActionRequired => "action_required".to_string(),
10100 Self::Stale => "stale".to_string(),
10101 }
10102 }
10103}
10104impl std::str::FromStr for DeploymentWorkflowRunConclusion {
10105 type Err = &'static str;
10106
10107 fn from_str(value: &str) -> Result<Self, &'static str> {
10108 match value {
10109 "success" => Ok(Self::Success),
10110 "failure" => Ok(Self::Failure),
10111 "neutral" => Ok(Self::Neutral),
10112 "cancelled" => Ok(Self::Cancelled),
10113 "timed_out" => Ok(Self::TimedOut),
10114 "action_required" => Ok(Self::ActionRequired),
10115 "stale" => Ok(Self::Stale),
10116 _ => Err("invalid value"),
10117 }
10118 }
10119}
10120impl std::convert::TryFrom<&str> for DeploymentWorkflowRunConclusion {
10121 type Error = &'static str;
10122
10123 fn try_from(value: &str) -> Result<Self, &'static str> {
10124 value.parse()
10125 }
10126}
10127impl std::convert::TryFrom<&String> for DeploymentWorkflowRunConclusion {
10128 type Error = &'static str;
10129
10130 fn try_from(value: &String) -> Result<Self, &'static str> {
10131 value.parse()
10132 }
10133}
10134impl std::convert::TryFrom<String> for DeploymentWorkflowRunConclusion {
10135 type Error = &'static str;
10136
10137 fn try_from(value: String) -> Result<Self, &'static str> {
10138 value.parse()
10139 }
10140}
10141#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
10142pub enum DeploymentWorkflowRunStatus {
10143 #[serde(rename = "requested")]
10144 Requested,
10145 #[serde(rename = "in_progress")]
10146 InProgress,
10147 #[serde(rename = "completed")]
10148 Completed,
10149 #[serde(rename = "queued")]
10150 Queued,
10151}
10152impl From<&DeploymentWorkflowRunStatus> for DeploymentWorkflowRunStatus {
10153 fn from(value: &DeploymentWorkflowRunStatus) -> Self {
10154 value.clone()
10155 }
10156}
10157impl ToString for DeploymentWorkflowRunStatus {
10158 fn to_string(&self) -> String {
10159 match *self {
10160 Self::Requested => "requested".to_string(),
10161 Self::InProgress => "in_progress".to_string(),
10162 Self::Completed => "completed".to_string(),
10163 Self::Queued => "queued".to_string(),
10164 }
10165 }
10166}
10167impl std::str::FromStr for DeploymentWorkflowRunStatus {
10168 type Err = &'static str;
10169
10170 fn from_str(value: &str) -> Result<Self, &'static str> {
10171 match value {
10172 "requested" => Ok(Self::Requested),
10173 "in_progress" => Ok(Self::InProgress),
10174 "completed" => Ok(Self::Completed),
10175 "queued" => Ok(Self::Queued),
10176 _ => Err("invalid value"),
10177 }
10178 }
10179}
10180impl std::convert::TryFrom<&str> for DeploymentWorkflowRunStatus {
10181 type Error = &'static str;
10182
10183 fn try_from(value: &str) -> Result<Self, &'static str> {
10184 value.parse()
10185 }
10186}
10187impl std::convert::TryFrom<&String> for DeploymentWorkflowRunStatus {
10188 type Error = &'static str;
10189
10190 fn try_from(value: &String) -> Result<Self, &'static str> {
10191 value.parse()
10192 }
10193}
10194impl std::convert::TryFrom<String> for DeploymentWorkflowRunStatus {
10195 type Error = &'static str;
10196
10197 fn try_from(value: String) -> Result<Self, &'static str> {
10198 value.parse()
10199 }
10200}
10201#[derive(Clone, Debug, Deserialize, Serialize)]
10202#[serde(deny_unknown_fields)]
10203pub struct Discussion {
10204 pub active_lock_reason: Option<String>,
10205 pub answer_chosen_at: Option<chrono::DateTime<chrono::offset::Utc>>,
10206 pub answer_chosen_by: Option<User>,
10207 pub answer_html_url: Option<String>,
10208 pub author_association: AuthorAssociation,
10209 pub body: String,
10211 pub category: DiscussionCategory,
10212 pub comments: i64,
10213 pub created_at: chrono::DateTime<chrono::offset::Utc>,
10214 pub html_url: String,
10215 pub id: i64,
10216 pub locked: bool,
10217 pub node_id: String,
10218 pub number: i64,
10219 #[serde(default, skip_serializing_if = "Option::is_none")]
10220 pub reactions: Option<Reactions>,
10221 pub repository_url: String,
10222 pub state: DiscussionState,
10223 pub title: String,
10225 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
10226 pub user: User,
10227}
10228impl From<&Discussion> for Discussion {
10229 fn from(value: &Discussion) -> Self {
10230 value.clone()
10231 }
10232}
10233#[derive(Clone, Debug, Deserialize, Serialize)]
10234#[serde(deny_unknown_fields)]
10235pub struct DiscussionAnswered {
10236 pub action: DiscussionAnsweredAction,
10237 pub answer: DiscussionAnsweredAnswer,
10238 pub discussion: Discussion,
10239 #[serde(default, skip_serializing_if = "Option::is_none")]
10240 pub installation: Option<InstallationLite>,
10241 #[serde(default, skip_serializing_if = "Option::is_none")]
10242 pub organization: Option<Organization>,
10243 pub repository: Repository,
10244 pub sender: User,
10245}
10246impl From<&DiscussionAnswered> for DiscussionAnswered {
10247 fn from(value: &DiscussionAnswered) -> Self {
10248 value.clone()
10249 }
10250}
10251#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
10252pub enum DiscussionAnsweredAction {
10253 #[serde(rename = "answered")]
10254 Answered,
10255}
10256impl From<&DiscussionAnsweredAction> for DiscussionAnsweredAction {
10257 fn from(value: &DiscussionAnsweredAction) -> Self {
10258 value.clone()
10259 }
10260}
10261impl ToString for DiscussionAnsweredAction {
10262 fn to_string(&self) -> String {
10263 match *self {
10264 Self::Answered => "answered".to_string(),
10265 }
10266 }
10267}
10268impl std::str::FromStr for DiscussionAnsweredAction {
10269 type Err = &'static str;
10270
10271 fn from_str(value: &str) -> Result<Self, &'static str> {
10272 match value {
10273 "answered" => Ok(Self::Answered),
10274 _ => Err("invalid value"),
10275 }
10276 }
10277}
10278impl std::convert::TryFrom<&str> for DiscussionAnsweredAction {
10279 type Error = &'static str;
10280
10281 fn try_from(value: &str) -> Result<Self, &'static str> {
10282 value.parse()
10283 }
10284}
10285impl std::convert::TryFrom<&String> for DiscussionAnsweredAction {
10286 type Error = &'static str;
10287
10288 fn try_from(value: &String) -> Result<Self, &'static str> {
10289 value.parse()
10290 }
10291}
10292impl std::convert::TryFrom<String> for DiscussionAnsweredAction {
10293 type Error = &'static str;
10294
10295 fn try_from(value: String) -> Result<Self, &'static str> {
10296 value.parse()
10297 }
10298}
10299#[derive(Clone, Debug, Deserialize, Serialize)]
10300#[serde(deny_unknown_fields)]
10301pub struct DiscussionAnsweredAnswer {
10302 pub author_association: AuthorAssociation,
10303 pub body: String,
10304 pub child_comment_count: i64,
10305 pub created_at: chrono::DateTime<chrono::offset::Utc>,
10306 pub discussion_id: i64,
10307 pub html_url: String,
10308 pub id: i64,
10309 pub node_id: String,
10310 pub parent_id: (),
10311 pub repository_url: String,
10312 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
10313 pub user: User,
10314}
10315impl From<&DiscussionAnsweredAnswer> for DiscussionAnsweredAnswer {
10316 fn from(value: &DiscussionAnsweredAnswer) -> Self {
10317 value.clone()
10318 }
10319}
10320#[derive(Clone, Debug, Deserialize, Serialize)]
10321#[serde(deny_unknown_fields)]
10322pub struct DiscussionCategory {
10323 pub created_at: chrono::DateTime<chrono::offset::Utc>,
10324 pub description: String,
10325 pub emoji: String,
10326 pub id: i64,
10327 pub is_answerable: bool,
10328 pub name: String,
10329 pub repository_id: i64,
10330 pub slug: String,
10331 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
10332}
10333impl From<&DiscussionCategory> for DiscussionCategory {
10334 fn from(value: &DiscussionCategory) -> Self {
10335 value.clone()
10336 }
10337}
10338#[derive(Clone, Debug, Deserialize, Serialize)]
10339#[serde(deny_unknown_fields)]
10340pub struct DiscussionCategoryChanged {
10341 pub action: DiscussionCategoryChangedAction,
10342 pub changes: DiscussionCategoryChangedChanges,
10343 pub discussion: Discussion,
10344 #[serde(default, skip_serializing_if = "Option::is_none")]
10345 pub installation: Option<InstallationLite>,
10346 #[serde(default, skip_serializing_if = "Option::is_none")]
10347 pub organization: Option<Organization>,
10348 pub repository: Repository,
10349 pub sender: User,
10350}
10351impl From<&DiscussionCategoryChanged> for DiscussionCategoryChanged {
10352 fn from(value: &DiscussionCategoryChanged) -> Self {
10353 value.clone()
10354 }
10355}
10356#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
10357pub enum DiscussionCategoryChangedAction {
10358 #[serde(rename = "category_changed")]
10359 CategoryChanged,
10360}
10361impl From<&DiscussionCategoryChangedAction> for DiscussionCategoryChangedAction {
10362 fn from(value: &DiscussionCategoryChangedAction) -> Self {
10363 value.clone()
10364 }
10365}
10366impl ToString for DiscussionCategoryChangedAction {
10367 fn to_string(&self) -> String {
10368 match *self {
10369 Self::CategoryChanged => "category_changed".to_string(),
10370 }
10371 }
10372}
10373impl std::str::FromStr for DiscussionCategoryChangedAction {
10374 type Err = &'static str;
10375
10376 fn from_str(value: &str) -> Result<Self, &'static str> {
10377 match value {
10378 "category_changed" => Ok(Self::CategoryChanged),
10379 _ => Err("invalid value"),
10380 }
10381 }
10382}
10383impl std::convert::TryFrom<&str> for DiscussionCategoryChangedAction {
10384 type Error = &'static str;
10385
10386 fn try_from(value: &str) -> Result<Self, &'static str> {
10387 value.parse()
10388 }
10389}
10390impl std::convert::TryFrom<&String> for DiscussionCategoryChangedAction {
10391 type Error = &'static str;
10392
10393 fn try_from(value: &String) -> Result<Self, &'static str> {
10394 value.parse()
10395 }
10396}
10397impl std::convert::TryFrom<String> for DiscussionCategoryChangedAction {
10398 type Error = &'static str;
10399
10400 fn try_from(value: String) -> Result<Self, &'static str> {
10401 value.parse()
10402 }
10403}
10404#[derive(Clone, Debug, Deserialize, Serialize)]
10405#[serde(deny_unknown_fields)]
10406pub struct DiscussionCategoryChangedChanges {
10407 pub category: DiscussionCategoryChangedChangesCategory,
10408}
10409impl From<&DiscussionCategoryChangedChanges> for DiscussionCategoryChangedChanges {
10410 fn from(value: &DiscussionCategoryChangedChanges) -> Self {
10411 value.clone()
10412 }
10413}
10414#[derive(Clone, Debug, Deserialize, Serialize)]
10415#[serde(deny_unknown_fields)]
10416pub struct DiscussionCategoryChangedChangesCategory {
10417 pub from: DiscussionCategoryChangedChangesCategoryFrom,
10418}
10419impl From<&DiscussionCategoryChangedChangesCategory> for DiscussionCategoryChangedChangesCategory {
10420 fn from(value: &DiscussionCategoryChangedChangesCategory) -> Self {
10421 value.clone()
10422 }
10423}
10424#[derive(Clone, Debug, Deserialize, Serialize)]
10425#[serde(deny_unknown_fields)]
10426pub struct DiscussionCategoryChangedChangesCategoryFrom {
10427 pub created_at: chrono::DateTime<chrono::offset::Utc>,
10428 pub description: String,
10429 pub emoji: String,
10430 pub id: i64,
10431 pub is_answerable: bool,
10432 pub name: String,
10433 pub repository_id: i64,
10434 pub slug: String,
10435 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
10436}
10437impl From<&DiscussionCategoryChangedChangesCategoryFrom>
10438 for DiscussionCategoryChangedChangesCategoryFrom
10439{
10440 fn from(value: &DiscussionCategoryChangedChangesCategoryFrom) -> Self {
10441 value.clone()
10442 }
10443}
10444#[derive(Clone, Debug, Deserialize, Serialize)]
10445#[serde(deny_unknown_fields)]
10446pub struct DiscussionCommentCreated {
10447 pub action: DiscussionCommentCreatedAction,
10448 pub comment: DiscussionCommentCreatedComment,
10449 pub discussion: Discussion,
10450 pub installation: InstallationLite,
10451 #[serde(default, skip_serializing_if = "Option::is_none")]
10452 pub organization: Option<Organization>,
10453 pub repository: Repository,
10454 pub sender: User,
10455}
10456impl From<&DiscussionCommentCreated> for DiscussionCommentCreated {
10457 fn from(value: &DiscussionCommentCreated) -> Self {
10458 value.clone()
10459 }
10460}
10461#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
10462pub enum DiscussionCommentCreatedAction {
10463 #[serde(rename = "created")]
10464 Created,
10465}
10466impl From<&DiscussionCommentCreatedAction> for DiscussionCommentCreatedAction {
10467 fn from(value: &DiscussionCommentCreatedAction) -> Self {
10468 value.clone()
10469 }
10470}
10471impl ToString for DiscussionCommentCreatedAction {
10472 fn to_string(&self) -> String {
10473 match *self {
10474 Self::Created => "created".to_string(),
10475 }
10476 }
10477}
10478impl std::str::FromStr for DiscussionCommentCreatedAction {
10479 type Err = &'static str;
10480
10481 fn from_str(value: &str) -> Result<Self, &'static str> {
10482 match value {
10483 "created" => Ok(Self::Created),
10484 _ => Err("invalid value"),
10485 }
10486 }
10487}
10488impl std::convert::TryFrom<&str> for DiscussionCommentCreatedAction {
10489 type Error = &'static str;
10490
10491 fn try_from(value: &str) -> Result<Self, &'static str> {
10492 value.parse()
10493 }
10494}
10495impl std::convert::TryFrom<&String> for DiscussionCommentCreatedAction {
10496 type Error = &'static str;
10497
10498 fn try_from(value: &String) -> Result<Self, &'static str> {
10499 value.parse()
10500 }
10501}
10502impl std::convert::TryFrom<String> for DiscussionCommentCreatedAction {
10503 type Error = &'static str;
10504
10505 fn try_from(value: String) -> Result<Self, &'static str> {
10506 value.parse()
10507 }
10508}
10509#[derive(Clone, Debug, Deserialize, Serialize)]
10510#[serde(deny_unknown_fields)]
10511pub struct DiscussionCommentCreatedComment {
10512 pub author_association: AuthorAssociation,
10513 pub body: String,
10515 pub child_comment_count: i64,
10516 pub created_at: chrono::DateTime<chrono::offset::Utc>,
10517 pub discussion_id: i64,
10518 pub html_url: String,
10519 pub id: i64,
10520 pub node_id: String,
10521 pub parent_id: Option<i64>,
10522 pub reactions: Reactions,
10523 pub repository_url: String,
10524 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
10525 pub user: User,
10526}
10527impl From<&DiscussionCommentCreatedComment> for DiscussionCommentCreatedComment {
10528 fn from(value: &DiscussionCommentCreatedComment) -> Self {
10529 value.clone()
10530 }
10531}
10532#[derive(Clone, Debug, Deserialize, Serialize)]
10533#[serde(deny_unknown_fields)]
10534pub struct DiscussionCommentDeleted {
10535 pub action: DiscussionCommentDeletedAction,
10536 pub comment: DiscussionCommentDeletedComment,
10537 pub discussion: Discussion,
10538 pub installation: InstallationLite,
10539 #[serde(default, skip_serializing_if = "Option::is_none")]
10540 pub organization: Option<Organization>,
10541 pub repository: Repository,
10542 pub sender: User,
10543}
10544impl From<&DiscussionCommentDeleted> for DiscussionCommentDeleted {
10545 fn from(value: &DiscussionCommentDeleted) -> Self {
10546 value.clone()
10547 }
10548}
10549#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
10550pub enum DiscussionCommentDeletedAction {
10551 #[serde(rename = "deleted")]
10552 Deleted,
10553}
10554impl From<&DiscussionCommentDeletedAction> for DiscussionCommentDeletedAction {
10555 fn from(value: &DiscussionCommentDeletedAction) -> Self {
10556 value.clone()
10557 }
10558}
10559impl ToString for DiscussionCommentDeletedAction {
10560 fn to_string(&self) -> String {
10561 match *self {
10562 Self::Deleted => "deleted".to_string(),
10563 }
10564 }
10565}
10566impl std::str::FromStr for DiscussionCommentDeletedAction {
10567 type Err = &'static str;
10568
10569 fn from_str(value: &str) -> Result<Self, &'static str> {
10570 match value {
10571 "deleted" => Ok(Self::Deleted),
10572 _ => Err("invalid value"),
10573 }
10574 }
10575}
10576impl std::convert::TryFrom<&str> for DiscussionCommentDeletedAction {
10577 type Error = &'static str;
10578
10579 fn try_from(value: &str) -> Result<Self, &'static str> {
10580 value.parse()
10581 }
10582}
10583impl std::convert::TryFrom<&String> for DiscussionCommentDeletedAction {
10584 type Error = &'static str;
10585
10586 fn try_from(value: &String) -> Result<Self, &'static str> {
10587 value.parse()
10588 }
10589}
10590impl std::convert::TryFrom<String> for DiscussionCommentDeletedAction {
10591 type Error = &'static str;
10592
10593 fn try_from(value: String) -> Result<Self, &'static str> {
10594 value.parse()
10595 }
10596}
10597#[derive(Clone, Debug, Deserialize, Serialize)]
10598#[serde(deny_unknown_fields)]
10599pub struct DiscussionCommentDeletedComment {
10600 pub author_association: AuthorAssociation,
10601 pub body: String,
10603 pub child_comment_count: i64,
10604 pub created_at: chrono::DateTime<chrono::offset::Utc>,
10605 pub discussion_id: i64,
10606 pub html_url: String,
10607 pub id: i64,
10608 pub node_id: String,
10609 pub parent_id: Option<i64>,
10610 pub reactions: Reactions,
10611 pub repository_url: String,
10612 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
10613 pub user: User,
10614}
10615impl From<&DiscussionCommentDeletedComment> for DiscussionCommentDeletedComment {
10616 fn from(value: &DiscussionCommentDeletedComment) -> Self {
10617 value.clone()
10618 }
10619}
10620#[derive(Clone, Debug, Deserialize, Serialize)]
10621#[serde(deny_unknown_fields)]
10622pub struct DiscussionCommentEdited {
10623 pub action: DiscussionCommentEditedAction,
10624 pub changes: DiscussionCommentEditedChanges,
10625 pub comment: DiscussionCommentEditedComment,
10626 pub discussion: Discussion,
10627 pub installation: InstallationLite,
10628 #[serde(default, skip_serializing_if = "Option::is_none")]
10629 pub organization: Option<Organization>,
10630 pub repository: Repository,
10631 pub sender: User,
10632}
10633impl From<&DiscussionCommentEdited> for DiscussionCommentEdited {
10634 fn from(value: &DiscussionCommentEdited) -> Self {
10635 value.clone()
10636 }
10637}
10638#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
10639pub enum DiscussionCommentEditedAction {
10640 #[serde(rename = "edited")]
10641 Edited,
10642}
10643impl From<&DiscussionCommentEditedAction> for DiscussionCommentEditedAction {
10644 fn from(value: &DiscussionCommentEditedAction) -> Self {
10645 value.clone()
10646 }
10647}
10648impl ToString for DiscussionCommentEditedAction {
10649 fn to_string(&self) -> String {
10650 match *self {
10651 Self::Edited => "edited".to_string(),
10652 }
10653 }
10654}
10655impl std::str::FromStr for DiscussionCommentEditedAction {
10656 type Err = &'static str;
10657
10658 fn from_str(value: &str) -> Result<Self, &'static str> {
10659 match value {
10660 "edited" => Ok(Self::Edited),
10661 _ => Err("invalid value"),
10662 }
10663 }
10664}
10665impl std::convert::TryFrom<&str> for DiscussionCommentEditedAction {
10666 type Error = &'static str;
10667
10668 fn try_from(value: &str) -> Result<Self, &'static str> {
10669 value.parse()
10670 }
10671}
10672impl std::convert::TryFrom<&String> for DiscussionCommentEditedAction {
10673 type Error = &'static str;
10674
10675 fn try_from(value: &String) -> Result<Self, &'static str> {
10676 value.parse()
10677 }
10678}
10679impl std::convert::TryFrom<String> for DiscussionCommentEditedAction {
10680 type Error = &'static str;
10681
10682 fn try_from(value: String) -> Result<Self, &'static str> {
10683 value.parse()
10684 }
10685}
10686#[derive(Clone, Debug, Deserialize, Serialize)]
10687#[serde(deny_unknown_fields)]
10688pub struct DiscussionCommentEditedChanges {
10689 pub body: DiscussionCommentEditedChangesBody,
10690}
10691impl From<&DiscussionCommentEditedChanges> for DiscussionCommentEditedChanges {
10692 fn from(value: &DiscussionCommentEditedChanges) -> Self {
10693 value.clone()
10694 }
10695}
10696#[derive(Clone, Debug, Deserialize, Serialize)]
10697#[serde(deny_unknown_fields)]
10698pub struct DiscussionCommentEditedChangesBody {
10699 pub from: String,
10700}
10701impl From<&DiscussionCommentEditedChangesBody> for DiscussionCommentEditedChangesBody {
10702 fn from(value: &DiscussionCommentEditedChangesBody) -> Self {
10703 value.clone()
10704 }
10705}
10706#[derive(Clone, Debug, Deserialize, Serialize)]
10707#[serde(deny_unknown_fields)]
10708pub struct DiscussionCommentEditedComment {
10709 pub author_association: AuthorAssociation,
10710 pub body: String,
10712 pub child_comment_count: i64,
10713 pub created_at: chrono::DateTime<chrono::offset::Utc>,
10714 pub discussion_id: i64,
10715 pub html_url: String,
10716 pub id: i64,
10717 pub node_id: String,
10718 pub parent_id: Option<i64>,
10719 pub reactions: Reactions,
10720 pub repository_url: String,
10721 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
10722 pub user: User,
10723}
10724impl From<&DiscussionCommentEditedComment> for DiscussionCommentEditedComment {
10725 fn from(value: &DiscussionCommentEditedComment) -> Self {
10726 value.clone()
10727 }
10728}
10729#[derive(Clone, Debug, Deserialize, Serialize)]
10730#[serde(untagged)]
10731pub enum DiscussionCommentEvent {
10732 Created(DiscussionCommentCreated),
10733 Deleted(DiscussionCommentDeleted),
10734 Edited(DiscussionCommentEdited),
10735}
10736impl From<&DiscussionCommentEvent> for DiscussionCommentEvent {
10737 fn from(value: &DiscussionCommentEvent) -> Self {
10738 value.clone()
10739 }
10740}
10741impl From<DiscussionCommentCreated> for DiscussionCommentEvent {
10742 fn from(value: DiscussionCommentCreated) -> Self {
10743 Self::Created(value)
10744 }
10745}
10746impl From<DiscussionCommentDeleted> for DiscussionCommentEvent {
10747 fn from(value: DiscussionCommentDeleted) -> Self {
10748 Self::Deleted(value)
10749 }
10750}
10751impl From<DiscussionCommentEdited> for DiscussionCommentEvent {
10752 fn from(value: DiscussionCommentEdited) -> Self {
10753 Self::Edited(value)
10754 }
10755}
10756#[derive(Clone, Debug, Deserialize, Serialize)]
10757#[serde(deny_unknown_fields)]
10758pub struct DiscussionCreated {
10759 pub action: DiscussionCreatedAction,
10760 pub discussion: Discussion,
10761 #[serde(default, skip_serializing_if = "Option::is_none")]
10762 pub installation: Option<InstallationLite>,
10763 #[serde(default, skip_serializing_if = "Option::is_none")]
10764 pub organization: Option<Organization>,
10765 pub repository: Repository,
10766 pub sender: User,
10767}
10768impl From<&DiscussionCreated> for DiscussionCreated {
10769 fn from(value: &DiscussionCreated) -> Self {
10770 value.clone()
10771 }
10772}
10773#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
10774pub enum DiscussionCreatedAction {
10775 #[serde(rename = "created")]
10776 Created,
10777}
10778impl From<&DiscussionCreatedAction> for DiscussionCreatedAction {
10779 fn from(value: &DiscussionCreatedAction) -> Self {
10780 value.clone()
10781 }
10782}
10783impl ToString for DiscussionCreatedAction {
10784 fn to_string(&self) -> String {
10785 match *self {
10786 Self::Created => "created".to_string(),
10787 }
10788 }
10789}
10790impl std::str::FromStr for DiscussionCreatedAction {
10791 type Err = &'static str;
10792
10793 fn from_str(value: &str) -> Result<Self, &'static str> {
10794 match value {
10795 "created" => Ok(Self::Created),
10796 _ => Err("invalid value"),
10797 }
10798 }
10799}
10800impl std::convert::TryFrom<&str> for DiscussionCreatedAction {
10801 type Error = &'static str;
10802
10803 fn try_from(value: &str) -> Result<Self, &'static str> {
10804 value.parse()
10805 }
10806}
10807impl std::convert::TryFrom<&String> for DiscussionCreatedAction {
10808 type Error = &'static str;
10809
10810 fn try_from(value: &String) -> Result<Self, &'static str> {
10811 value.parse()
10812 }
10813}
10814impl std::convert::TryFrom<String> for DiscussionCreatedAction {
10815 type Error = &'static str;
10816
10817 fn try_from(value: String) -> Result<Self, &'static str> {
10818 value.parse()
10819 }
10820}
10821#[derive(Clone, Debug, Deserialize, Serialize)]
10822#[serde(deny_unknown_fields)]
10823pub struct DiscussionDeleted {
10824 pub action: DiscussionDeletedAction,
10825 pub discussion: Discussion,
10826 #[serde(default, skip_serializing_if = "Option::is_none")]
10827 pub installation: Option<InstallationLite>,
10828 #[serde(default, skip_serializing_if = "Option::is_none")]
10829 pub organization: Option<Organization>,
10830 pub repository: Repository,
10831 pub sender: User,
10832}
10833impl From<&DiscussionDeleted> for DiscussionDeleted {
10834 fn from(value: &DiscussionDeleted) -> Self {
10835 value.clone()
10836 }
10837}
10838#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
10839pub enum DiscussionDeletedAction {
10840 #[serde(rename = "deleted")]
10841 Deleted,
10842}
10843impl From<&DiscussionDeletedAction> for DiscussionDeletedAction {
10844 fn from(value: &DiscussionDeletedAction) -> Self {
10845 value.clone()
10846 }
10847}
10848impl ToString for DiscussionDeletedAction {
10849 fn to_string(&self) -> String {
10850 match *self {
10851 Self::Deleted => "deleted".to_string(),
10852 }
10853 }
10854}
10855impl std::str::FromStr for DiscussionDeletedAction {
10856 type Err = &'static str;
10857
10858 fn from_str(value: &str) -> Result<Self, &'static str> {
10859 match value {
10860 "deleted" => Ok(Self::Deleted),
10861 _ => Err("invalid value"),
10862 }
10863 }
10864}
10865impl std::convert::TryFrom<&str> for DiscussionDeletedAction {
10866 type Error = &'static str;
10867
10868 fn try_from(value: &str) -> Result<Self, &'static str> {
10869 value.parse()
10870 }
10871}
10872impl std::convert::TryFrom<&String> for DiscussionDeletedAction {
10873 type Error = &'static str;
10874
10875 fn try_from(value: &String) -> Result<Self, &'static str> {
10876 value.parse()
10877 }
10878}
10879impl std::convert::TryFrom<String> for DiscussionDeletedAction {
10880 type Error = &'static str;
10881
10882 fn try_from(value: String) -> Result<Self, &'static str> {
10883 value.parse()
10884 }
10885}
10886#[derive(Clone, Debug, Deserialize, Serialize)]
10887#[serde(deny_unknown_fields)]
10888pub struct DiscussionEdited {
10889 pub action: DiscussionEditedAction,
10890 #[serde(default, skip_serializing_if = "Option::is_none")]
10891 pub changes: Option<DiscussionEditedChanges>,
10892 pub discussion: Discussion,
10893 #[serde(default, skip_serializing_if = "Option::is_none")]
10894 pub installation: Option<InstallationLite>,
10895 #[serde(default, skip_serializing_if = "Option::is_none")]
10896 pub organization: Option<Organization>,
10897 pub repository: Repository,
10898 pub sender: User,
10899}
10900impl From<&DiscussionEdited> for DiscussionEdited {
10901 fn from(value: &DiscussionEdited) -> Self {
10902 value.clone()
10903 }
10904}
10905#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
10906pub enum DiscussionEditedAction {
10907 #[serde(rename = "edited")]
10908 Edited,
10909}
10910impl From<&DiscussionEditedAction> for DiscussionEditedAction {
10911 fn from(value: &DiscussionEditedAction) -> Self {
10912 value.clone()
10913 }
10914}
10915impl ToString for DiscussionEditedAction {
10916 fn to_string(&self) -> String {
10917 match *self {
10918 Self::Edited => "edited".to_string(),
10919 }
10920 }
10921}
10922impl std::str::FromStr for DiscussionEditedAction {
10923 type Err = &'static str;
10924
10925 fn from_str(value: &str) -> Result<Self, &'static str> {
10926 match value {
10927 "edited" => Ok(Self::Edited),
10928 _ => Err("invalid value"),
10929 }
10930 }
10931}
10932impl std::convert::TryFrom<&str> for DiscussionEditedAction {
10933 type Error = &'static str;
10934
10935 fn try_from(value: &str) -> Result<Self, &'static str> {
10936 value.parse()
10937 }
10938}
10939impl std::convert::TryFrom<&String> for DiscussionEditedAction {
10940 type Error = &'static str;
10941
10942 fn try_from(value: &String) -> Result<Self, &'static str> {
10943 value.parse()
10944 }
10945}
10946impl std::convert::TryFrom<String> for DiscussionEditedAction {
10947 type Error = &'static str;
10948
10949 fn try_from(value: String) -> Result<Self, &'static str> {
10950 value.parse()
10951 }
10952}
10953#[derive(Clone, Debug, Deserialize, Serialize)]
10954#[serde(deny_unknown_fields)]
10955pub struct DiscussionEditedChanges {
10956 #[serde(default, skip_serializing_if = "Option::is_none")]
10957 pub body: Option<DiscussionEditedChangesBody>,
10958 #[serde(default, skip_serializing_if = "Option::is_none")]
10959 pub title: Option<DiscussionEditedChangesTitle>,
10960}
10961impl From<&DiscussionEditedChanges> for DiscussionEditedChanges {
10962 fn from(value: &DiscussionEditedChanges) -> Self {
10963 value.clone()
10964 }
10965}
10966#[derive(Clone, Debug, Deserialize, Serialize)]
10967#[serde(deny_unknown_fields)]
10968pub struct DiscussionEditedChangesBody {
10969 pub from: String,
10970}
10971impl From<&DiscussionEditedChangesBody> for DiscussionEditedChangesBody {
10972 fn from(value: &DiscussionEditedChangesBody) -> Self {
10973 value.clone()
10974 }
10975}
10976#[derive(Clone, Debug, Deserialize, Serialize)]
10977#[serde(deny_unknown_fields)]
10978pub struct DiscussionEditedChangesTitle {
10979 pub from: String,
10980}
10981impl From<&DiscussionEditedChangesTitle> for DiscussionEditedChangesTitle {
10982 fn from(value: &DiscussionEditedChangesTitle) -> Self {
10983 value.clone()
10984 }
10985}
10986#[derive(Clone, Debug, Deserialize, Serialize)]
10987#[serde(untagged)]
10988pub enum DiscussionEvent {
10989 Answered(DiscussionAnswered),
10990 CategoryChanged(DiscussionCategoryChanged),
10991 Created(DiscussionCreated),
10992 Deleted(DiscussionDeleted),
10993 Edited(DiscussionEdited),
10994 Labeled(DiscussionLabeled),
10995 Locked(DiscussionLocked),
10996 Pinned(DiscussionPinned),
10997 Transferred(DiscussionTransferred),
10998 Unanswered(DiscussionUnanswered),
10999 Unlabeled(DiscussionUnlabeled),
11000 Unlocked(DiscussionUnlocked),
11001 Unpinned(DiscussionUnpinned),
11002}
11003impl From<&DiscussionEvent> for DiscussionEvent {
11004 fn from(value: &DiscussionEvent) -> Self {
11005 value.clone()
11006 }
11007}
11008impl From<DiscussionAnswered> for DiscussionEvent {
11009 fn from(value: DiscussionAnswered) -> Self {
11010 Self::Answered(value)
11011 }
11012}
11013impl From<DiscussionCategoryChanged> for DiscussionEvent {
11014 fn from(value: DiscussionCategoryChanged) -> Self {
11015 Self::CategoryChanged(value)
11016 }
11017}
11018impl From<DiscussionCreated> for DiscussionEvent {
11019 fn from(value: DiscussionCreated) -> Self {
11020 Self::Created(value)
11021 }
11022}
11023impl From<DiscussionDeleted> for DiscussionEvent {
11024 fn from(value: DiscussionDeleted) -> Self {
11025 Self::Deleted(value)
11026 }
11027}
11028impl From<DiscussionEdited> for DiscussionEvent {
11029 fn from(value: DiscussionEdited) -> Self {
11030 Self::Edited(value)
11031 }
11032}
11033impl From<DiscussionLabeled> for DiscussionEvent {
11034 fn from(value: DiscussionLabeled) -> Self {
11035 Self::Labeled(value)
11036 }
11037}
11038impl From<DiscussionLocked> for DiscussionEvent {
11039 fn from(value: DiscussionLocked) -> Self {
11040 Self::Locked(value)
11041 }
11042}
11043impl From<DiscussionPinned> for DiscussionEvent {
11044 fn from(value: DiscussionPinned) -> Self {
11045 Self::Pinned(value)
11046 }
11047}
11048impl From<DiscussionTransferred> for DiscussionEvent {
11049 fn from(value: DiscussionTransferred) -> Self {
11050 Self::Transferred(value)
11051 }
11052}
11053impl From<DiscussionUnanswered> for DiscussionEvent {
11054 fn from(value: DiscussionUnanswered) -> Self {
11055 Self::Unanswered(value)
11056 }
11057}
11058impl From<DiscussionUnlabeled> for DiscussionEvent {
11059 fn from(value: DiscussionUnlabeled) -> Self {
11060 Self::Unlabeled(value)
11061 }
11062}
11063impl From<DiscussionUnlocked> for DiscussionEvent {
11064 fn from(value: DiscussionUnlocked) -> Self {
11065 Self::Unlocked(value)
11066 }
11067}
11068impl From<DiscussionUnpinned> for DiscussionEvent {
11069 fn from(value: DiscussionUnpinned) -> Self {
11070 Self::Unpinned(value)
11071 }
11072}
11073#[derive(Clone, Debug, Deserialize, Serialize)]
11074#[serde(deny_unknown_fields)]
11075pub struct DiscussionLabeled {
11076 pub action: DiscussionLabeledAction,
11077 pub discussion: Discussion,
11078 #[serde(default, skip_serializing_if = "Option::is_none")]
11079 pub installation: Option<InstallationLite>,
11080 pub label: Label,
11081 #[serde(default, skip_serializing_if = "Option::is_none")]
11082 pub organization: Option<Organization>,
11083 pub repository: Repository,
11084 pub sender: User,
11085}
11086impl From<&DiscussionLabeled> for DiscussionLabeled {
11087 fn from(value: &DiscussionLabeled) -> Self {
11088 value.clone()
11089 }
11090}
11091#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11092pub enum DiscussionLabeledAction {
11093 #[serde(rename = "labeled")]
11094 Labeled,
11095}
11096impl From<&DiscussionLabeledAction> for DiscussionLabeledAction {
11097 fn from(value: &DiscussionLabeledAction) -> Self {
11098 value.clone()
11099 }
11100}
11101impl ToString for DiscussionLabeledAction {
11102 fn to_string(&self) -> String {
11103 match *self {
11104 Self::Labeled => "labeled".to_string(),
11105 }
11106 }
11107}
11108impl std::str::FromStr for DiscussionLabeledAction {
11109 type Err = &'static str;
11110
11111 fn from_str(value: &str) -> Result<Self, &'static str> {
11112 match value {
11113 "labeled" => Ok(Self::Labeled),
11114 _ => Err("invalid value"),
11115 }
11116 }
11117}
11118impl std::convert::TryFrom<&str> for DiscussionLabeledAction {
11119 type Error = &'static str;
11120
11121 fn try_from(value: &str) -> Result<Self, &'static str> {
11122 value.parse()
11123 }
11124}
11125impl std::convert::TryFrom<&String> for DiscussionLabeledAction {
11126 type Error = &'static str;
11127
11128 fn try_from(value: &String) -> Result<Self, &'static str> {
11129 value.parse()
11130 }
11131}
11132impl std::convert::TryFrom<String> for DiscussionLabeledAction {
11133 type Error = &'static str;
11134
11135 fn try_from(value: String) -> Result<Self, &'static str> {
11136 value.parse()
11137 }
11138}
11139#[derive(Clone, Debug, Deserialize, Serialize)]
11140#[serde(deny_unknown_fields)]
11141pub struct DiscussionLocked {
11142 pub action: DiscussionLockedAction,
11143 pub discussion: Discussion,
11144 #[serde(default, skip_serializing_if = "Option::is_none")]
11145 pub installation: Option<InstallationLite>,
11146 #[serde(default, skip_serializing_if = "Option::is_none")]
11147 pub organization: Option<Organization>,
11148 pub repository: Repository,
11149 pub sender: User,
11150}
11151impl From<&DiscussionLocked> for DiscussionLocked {
11152 fn from(value: &DiscussionLocked) -> Self {
11153 value.clone()
11154 }
11155}
11156#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11157pub enum DiscussionLockedAction {
11158 #[serde(rename = "locked")]
11159 Locked,
11160}
11161impl From<&DiscussionLockedAction> for DiscussionLockedAction {
11162 fn from(value: &DiscussionLockedAction) -> Self {
11163 value.clone()
11164 }
11165}
11166impl ToString for DiscussionLockedAction {
11167 fn to_string(&self) -> String {
11168 match *self {
11169 Self::Locked => "locked".to_string(),
11170 }
11171 }
11172}
11173impl std::str::FromStr for DiscussionLockedAction {
11174 type Err = &'static str;
11175
11176 fn from_str(value: &str) -> Result<Self, &'static str> {
11177 match value {
11178 "locked" => Ok(Self::Locked),
11179 _ => Err("invalid value"),
11180 }
11181 }
11182}
11183impl std::convert::TryFrom<&str> for DiscussionLockedAction {
11184 type Error = &'static str;
11185
11186 fn try_from(value: &str) -> Result<Self, &'static str> {
11187 value.parse()
11188 }
11189}
11190impl std::convert::TryFrom<&String> for DiscussionLockedAction {
11191 type Error = &'static str;
11192
11193 fn try_from(value: &String) -> Result<Self, &'static str> {
11194 value.parse()
11195 }
11196}
11197impl std::convert::TryFrom<String> for DiscussionLockedAction {
11198 type Error = &'static str;
11199
11200 fn try_from(value: String) -> Result<Self, &'static str> {
11201 value.parse()
11202 }
11203}
11204#[derive(Clone, Debug, Deserialize, Serialize)]
11205#[serde(deny_unknown_fields)]
11206pub struct DiscussionPinned {
11207 pub action: DiscussionPinnedAction,
11208 pub discussion: Discussion,
11209 #[serde(default, skip_serializing_if = "Option::is_none")]
11210 pub installation: Option<InstallationLite>,
11211 #[serde(default, skip_serializing_if = "Option::is_none")]
11212 pub organization: Option<Organization>,
11213 pub repository: Repository,
11214 pub sender: User,
11215}
11216impl From<&DiscussionPinned> for DiscussionPinned {
11217 fn from(value: &DiscussionPinned) -> Self {
11218 value.clone()
11219 }
11220}
11221#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11222pub enum DiscussionPinnedAction {
11223 #[serde(rename = "pinned")]
11224 Pinned,
11225}
11226impl From<&DiscussionPinnedAction> for DiscussionPinnedAction {
11227 fn from(value: &DiscussionPinnedAction) -> Self {
11228 value.clone()
11229 }
11230}
11231impl ToString for DiscussionPinnedAction {
11232 fn to_string(&self) -> String {
11233 match *self {
11234 Self::Pinned => "pinned".to_string(),
11235 }
11236 }
11237}
11238impl std::str::FromStr for DiscussionPinnedAction {
11239 type Err = &'static str;
11240
11241 fn from_str(value: &str) -> Result<Self, &'static str> {
11242 match value {
11243 "pinned" => Ok(Self::Pinned),
11244 _ => Err("invalid value"),
11245 }
11246 }
11247}
11248impl std::convert::TryFrom<&str> for DiscussionPinnedAction {
11249 type Error = &'static str;
11250
11251 fn try_from(value: &str) -> Result<Self, &'static str> {
11252 value.parse()
11253 }
11254}
11255impl std::convert::TryFrom<&String> for DiscussionPinnedAction {
11256 type Error = &'static str;
11257
11258 fn try_from(value: &String) -> Result<Self, &'static str> {
11259 value.parse()
11260 }
11261}
11262impl std::convert::TryFrom<String> for DiscussionPinnedAction {
11263 type Error = &'static str;
11264
11265 fn try_from(value: String) -> Result<Self, &'static str> {
11266 value.parse()
11267 }
11268}
11269#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11270pub enum DiscussionState {
11271 #[serde(rename = "open")]
11272 Open,
11273 #[serde(rename = "locked")]
11274 Locked,
11275 #[serde(rename = "converting")]
11276 Converting,
11277}
11278impl From<&DiscussionState> for DiscussionState {
11279 fn from(value: &DiscussionState) -> Self {
11280 value.clone()
11281 }
11282}
11283impl ToString for DiscussionState {
11284 fn to_string(&self) -> String {
11285 match *self {
11286 Self::Open => "open".to_string(),
11287 Self::Locked => "locked".to_string(),
11288 Self::Converting => "converting".to_string(),
11289 }
11290 }
11291}
11292impl std::str::FromStr for DiscussionState {
11293 type Err = &'static str;
11294
11295 fn from_str(value: &str) -> Result<Self, &'static str> {
11296 match value {
11297 "open" => Ok(Self::Open),
11298 "locked" => Ok(Self::Locked),
11299 "converting" => Ok(Self::Converting),
11300 _ => Err("invalid value"),
11301 }
11302 }
11303}
11304impl std::convert::TryFrom<&str> for DiscussionState {
11305 type Error = &'static str;
11306
11307 fn try_from(value: &str) -> Result<Self, &'static str> {
11308 value.parse()
11309 }
11310}
11311impl std::convert::TryFrom<&String> for DiscussionState {
11312 type Error = &'static str;
11313
11314 fn try_from(value: &String) -> Result<Self, &'static str> {
11315 value.parse()
11316 }
11317}
11318impl std::convert::TryFrom<String> for DiscussionState {
11319 type Error = &'static str;
11320
11321 fn try_from(value: String) -> Result<Self, &'static str> {
11322 value.parse()
11323 }
11324}
11325#[derive(Clone, Debug, Deserialize, Serialize)]
11326#[serde(deny_unknown_fields)]
11327pub struct DiscussionTransferred {
11328 pub action: DiscussionTransferredAction,
11329 pub changes: DiscussionTransferredChanges,
11330 pub discussion: Discussion,
11331 #[serde(default, skip_serializing_if = "Option::is_none")]
11332 pub installation: Option<InstallationLite>,
11333 #[serde(default, skip_serializing_if = "Option::is_none")]
11334 pub organization: Option<Organization>,
11335 pub repository: Repository,
11336 pub sender: User,
11337}
11338impl From<&DiscussionTransferred> for DiscussionTransferred {
11339 fn from(value: &DiscussionTransferred) -> Self {
11340 value.clone()
11341 }
11342}
11343#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11344pub enum DiscussionTransferredAction {
11345 #[serde(rename = "transferred")]
11346 Transferred,
11347}
11348impl From<&DiscussionTransferredAction> for DiscussionTransferredAction {
11349 fn from(value: &DiscussionTransferredAction) -> Self {
11350 value.clone()
11351 }
11352}
11353impl ToString for DiscussionTransferredAction {
11354 fn to_string(&self) -> String {
11355 match *self {
11356 Self::Transferred => "transferred".to_string(),
11357 }
11358 }
11359}
11360impl std::str::FromStr for DiscussionTransferredAction {
11361 type Err = &'static str;
11362
11363 fn from_str(value: &str) -> Result<Self, &'static str> {
11364 match value {
11365 "transferred" => Ok(Self::Transferred),
11366 _ => Err("invalid value"),
11367 }
11368 }
11369}
11370impl std::convert::TryFrom<&str> for DiscussionTransferredAction {
11371 type Error = &'static str;
11372
11373 fn try_from(value: &str) -> Result<Self, &'static str> {
11374 value.parse()
11375 }
11376}
11377impl std::convert::TryFrom<&String> for DiscussionTransferredAction {
11378 type Error = &'static str;
11379
11380 fn try_from(value: &String) -> Result<Self, &'static str> {
11381 value.parse()
11382 }
11383}
11384impl std::convert::TryFrom<String> for DiscussionTransferredAction {
11385 type Error = &'static str;
11386
11387 fn try_from(value: String) -> Result<Self, &'static str> {
11388 value.parse()
11389 }
11390}
11391#[derive(Clone, Debug, Deserialize, Serialize)]
11392#[serde(deny_unknown_fields)]
11393pub struct DiscussionTransferredChanges {
11394 pub new_discussion: Discussion,
11395 pub new_repository: Repository,
11396}
11397impl From<&DiscussionTransferredChanges> for DiscussionTransferredChanges {
11398 fn from(value: &DiscussionTransferredChanges) -> Self {
11399 value.clone()
11400 }
11401}
11402#[derive(Clone, Debug, Deserialize, Serialize)]
11403#[serde(deny_unknown_fields)]
11404pub struct DiscussionUnanswered {
11405 pub action: DiscussionUnansweredAction,
11406 pub discussion: Discussion,
11407 #[serde(default, skip_serializing_if = "Option::is_none")]
11408 pub installation: Option<InstallationLite>,
11409 pub old_answer: DiscussionUnansweredOldAnswer,
11410 #[serde(default, skip_serializing_if = "Option::is_none")]
11411 pub organization: Option<Organization>,
11412 pub repository: Repository,
11413 pub sender: User,
11414}
11415impl From<&DiscussionUnanswered> for DiscussionUnanswered {
11416 fn from(value: &DiscussionUnanswered) -> Self {
11417 value.clone()
11418 }
11419}
11420#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11421pub enum DiscussionUnansweredAction {
11422 #[serde(rename = "unanswered")]
11423 Unanswered,
11424}
11425impl From<&DiscussionUnansweredAction> for DiscussionUnansweredAction {
11426 fn from(value: &DiscussionUnansweredAction) -> Self {
11427 value.clone()
11428 }
11429}
11430impl ToString for DiscussionUnansweredAction {
11431 fn to_string(&self) -> String {
11432 match *self {
11433 Self::Unanswered => "unanswered".to_string(),
11434 }
11435 }
11436}
11437impl std::str::FromStr for DiscussionUnansweredAction {
11438 type Err = &'static str;
11439
11440 fn from_str(value: &str) -> Result<Self, &'static str> {
11441 match value {
11442 "unanswered" => Ok(Self::Unanswered),
11443 _ => Err("invalid value"),
11444 }
11445 }
11446}
11447impl std::convert::TryFrom<&str> for DiscussionUnansweredAction {
11448 type Error = &'static str;
11449
11450 fn try_from(value: &str) -> Result<Self, &'static str> {
11451 value.parse()
11452 }
11453}
11454impl std::convert::TryFrom<&String> for DiscussionUnansweredAction {
11455 type Error = &'static str;
11456
11457 fn try_from(value: &String) -> Result<Self, &'static str> {
11458 value.parse()
11459 }
11460}
11461impl std::convert::TryFrom<String> for DiscussionUnansweredAction {
11462 type Error = &'static str;
11463
11464 fn try_from(value: String) -> Result<Self, &'static str> {
11465 value.parse()
11466 }
11467}
11468#[derive(Clone, Debug, Deserialize, Serialize)]
11469#[serde(deny_unknown_fields)]
11470pub struct DiscussionUnansweredOldAnswer {
11471 pub author_association: AuthorAssociation,
11472 pub body: String,
11473 pub child_comment_count: i64,
11474 pub created_at: chrono::DateTime<chrono::offset::Utc>,
11475 pub discussion_id: i64,
11476 pub html_url: String,
11477 pub id: i64,
11478 pub node_id: String,
11479 pub parent_id: (),
11480 pub repository_url: String,
11481 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
11482 pub user: User,
11483}
11484impl From<&DiscussionUnansweredOldAnswer> for DiscussionUnansweredOldAnswer {
11485 fn from(value: &DiscussionUnansweredOldAnswer) -> Self {
11486 value.clone()
11487 }
11488}
11489#[derive(Clone, Debug, Deserialize, Serialize)]
11490#[serde(deny_unknown_fields)]
11491pub struct DiscussionUnlabeled {
11492 pub action: DiscussionUnlabeledAction,
11493 pub discussion: Discussion,
11494 #[serde(default, skip_serializing_if = "Option::is_none")]
11495 pub installation: Option<InstallationLite>,
11496 pub label: Label,
11497 #[serde(default, skip_serializing_if = "Option::is_none")]
11498 pub organization: Option<Organization>,
11499 pub repository: Repository,
11500 pub sender: User,
11501}
11502impl From<&DiscussionUnlabeled> for DiscussionUnlabeled {
11503 fn from(value: &DiscussionUnlabeled) -> Self {
11504 value.clone()
11505 }
11506}
11507#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11508pub enum DiscussionUnlabeledAction {
11509 #[serde(rename = "unlabeled")]
11510 Unlabeled,
11511}
11512impl From<&DiscussionUnlabeledAction> for DiscussionUnlabeledAction {
11513 fn from(value: &DiscussionUnlabeledAction) -> Self {
11514 value.clone()
11515 }
11516}
11517impl ToString for DiscussionUnlabeledAction {
11518 fn to_string(&self) -> String {
11519 match *self {
11520 Self::Unlabeled => "unlabeled".to_string(),
11521 }
11522 }
11523}
11524impl std::str::FromStr for DiscussionUnlabeledAction {
11525 type Err = &'static str;
11526
11527 fn from_str(value: &str) -> Result<Self, &'static str> {
11528 match value {
11529 "unlabeled" => Ok(Self::Unlabeled),
11530 _ => Err("invalid value"),
11531 }
11532 }
11533}
11534impl std::convert::TryFrom<&str> for DiscussionUnlabeledAction {
11535 type Error = &'static str;
11536
11537 fn try_from(value: &str) -> Result<Self, &'static str> {
11538 value.parse()
11539 }
11540}
11541impl std::convert::TryFrom<&String> for DiscussionUnlabeledAction {
11542 type Error = &'static str;
11543
11544 fn try_from(value: &String) -> Result<Self, &'static str> {
11545 value.parse()
11546 }
11547}
11548impl std::convert::TryFrom<String> for DiscussionUnlabeledAction {
11549 type Error = &'static str;
11550
11551 fn try_from(value: String) -> Result<Self, &'static str> {
11552 value.parse()
11553 }
11554}
11555#[derive(Clone, Debug, Deserialize, Serialize)]
11556#[serde(deny_unknown_fields)]
11557pub struct DiscussionUnlocked {
11558 pub action: DiscussionUnlockedAction,
11559 pub discussion: Discussion,
11560 #[serde(default, skip_serializing_if = "Option::is_none")]
11561 pub installation: Option<InstallationLite>,
11562 #[serde(default, skip_serializing_if = "Option::is_none")]
11563 pub organization: Option<Organization>,
11564 pub repository: Repository,
11565 pub sender: User,
11566}
11567impl From<&DiscussionUnlocked> for DiscussionUnlocked {
11568 fn from(value: &DiscussionUnlocked) -> Self {
11569 value.clone()
11570 }
11571}
11572#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11573pub enum DiscussionUnlockedAction {
11574 #[serde(rename = "unlocked")]
11575 Unlocked,
11576}
11577impl From<&DiscussionUnlockedAction> for DiscussionUnlockedAction {
11578 fn from(value: &DiscussionUnlockedAction) -> Self {
11579 value.clone()
11580 }
11581}
11582impl ToString for DiscussionUnlockedAction {
11583 fn to_string(&self) -> String {
11584 match *self {
11585 Self::Unlocked => "unlocked".to_string(),
11586 }
11587 }
11588}
11589impl std::str::FromStr for DiscussionUnlockedAction {
11590 type Err = &'static str;
11591
11592 fn from_str(value: &str) -> Result<Self, &'static str> {
11593 match value {
11594 "unlocked" => Ok(Self::Unlocked),
11595 _ => Err("invalid value"),
11596 }
11597 }
11598}
11599impl std::convert::TryFrom<&str> for DiscussionUnlockedAction {
11600 type Error = &'static str;
11601
11602 fn try_from(value: &str) -> Result<Self, &'static str> {
11603 value.parse()
11604 }
11605}
11606impl std::convert::TryFrom<&String> for DiscussionUnlockedAction {
11607 type Error = &'static str;
11608
11609 fn try_from(value: &String) -> Result<Self, &'static str> {
11610 value.parse()
11611 }
11612}
11613impl std::convert::TryFrom<String> for DiscussionUnlockedAction {
11614 type Error = &'static str;
11615
11616 fn try_from(value: String) -> Result<Self, &'static str> {
11617 value.parse()
11618 }
11619}
11620#[derive(Clone, Debug, Deserialize, Serialize)]
11621#[serde(deny_unknown_fields)]
11622pub struct DiscussionUnpinned {
11623 pub action: DiscussionUnpinnedAction,
11624 pub discussion: Discussion,
11625 #[serde(default, skip_serializing_if = "Option::is_none")]
11626 pub installation: Option<InstallationLite>,
11627 #[serde(default, skip_serializing_if = "Option::is_none")]
11628 pub organization: Option<Organization>,
11629 pub repository: Repository,
11630 pub sender: User,
11631}
11632impl From<&DiscussionUnpinned> for DiscussionUnpinned {
11633 fn from(value: &DiscussionUnpinned) -> Self {
11634 value.clone()
11635 }
11636}
11637#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11638pub enum DiscussionUnpinnedAction {
11639 #[serde(rename = "unpinned")]
11640 Unpinned,
11641}
11642impl From<&DiscussionUnpinnedAction> for DiscussionUnpinnedAction {
11643 fn from(value: &DiscussionUnpinnedAction) -> Self {
11644 value.clone()
11645 }
11646}
11647impl ToString for DiscussionUnpinnedAction {
11648 fn to_string(&self) -> String {
11649 match *self {
11650 Self::Unpinned => "unpinned".to_string(),
11651 }
11652 }
11653}
11654impl std::str::FromStr for DiscussionUnpinnedAction {
11655 type Err = &'static str;
11656
11657 fn from_str(value: &str) -> Result<Self, &'static str> {
11658 match value {
11659 "unpinned" => Ok(Self::Unpinned),
11660 _ => Err("invalid value"),
11661 }
11662 }
11663}
11664impl std::convert::TryFrom<&str> for DiscussionUnpinnedAction {
11665 type Error = &'static str;
11666
11667 fn try_from(value: &str) -> Result<Self, &'static str> {
11668 value.parse()
11669 }
11670}
11671impl std::convert::TryFrom<&String> for DiscussionUnpinnedAction {
11672 type Error = &'static str;
11673
11674 fn try_from(value: &String) -> Result<Self, &'static str> {
11675 value.parse()
11676 }
11677}
11678impl std::convert::TryFrom<String> for DiscussionUnpinnedAction {
11679 type Error = &'static str;
11680
11681 fn try_from(value: String) -> Result<Self, &'static str> {
11682 value.parse()
11683 }
11684}
11685#[derive(Clone, Debug, Deserialize, Serialize)]
11687#[serde(deny_unknown_fields)]
11688pub struct ForkEvent {
11689 pub forkee: Repository,
11691 #[serde(default, skip_serializing_if = "Option::is_none")]
11692 pub installation: Option<InstallationLite>,
11693 #[serde(default, skip_serializing_if = "Option::is_none")]
11694 pub organization: Option<Organization>,
11695 pub repository: Repository,
11696 pub sender: User,
11697}
11698impl From<&ForkEvent> for ForkEvent {
11699 fn from(value: &ForkEvent) -> Self {
11700 value.clone()
11701 }
11702}
11703#[derive(Clone, Debug, Deserialize, Serialize)]
11704pub struct GithubAppAuthorizationEvent(pub GithubAppAuthorizationRevoked);
11705impl std::ops::Deref for GithubAppAuthorizationEvent {
11706 type Target = GithubAppAuthorizationRevoked;
11707
11708 fn deref(&self) -> &GithubAppAuthorizationRevoked {
11709 &self.0
11710 }
11711}
11712impl From<GithubAppAuthorizationEvent> for GithubAppAuthorizationRevoked {
11713 fn from(value: GithubAppAuthorizationEvent) -> Self {
11714 value.0
11715 }
11716}
11717impl From<&GithubAppAuthorizationEvent> for GithubAppAuthorizationEvent {
11718 fn from(value: &GithubAppAuthorizationEvent) -> Self {
11719 value.clone()
11720 }
11721}
11722impl From<GithubAppAuthorizationRevoked> for GithubAppAuthorizationEvent {
11723 fn from(value: GithubAppAuthorizationRevoked) -> Self {
11724 Self(value)
11725 }
11726}
11727#[derive(Clone, Debug, Deserialize, Serialize)]
11728#[serde(deny_unknown_fields)]
11729pub struct GithubAppAuthorizationRevoked {
11730 pub action: GithubAppAuthorizationRevokedAction,
11731 pub sender: User,
11732}
11733impl From<&GithubAppAuthorizationRevoked> for GithubAppAuthorizationRevoked {
11734 fn from(value: &GithubAppAuthorizationRevoked) -> Self {
11735 value.clone()
11736 }
11737}
11738#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11739pub enum GithubAppAuthorizationRevokedAction {
11740 #[serde(rename = "revoked")]
11741 Revoked,
11742}
11743impl From<&GithubAppAuthorizationRevokedAction> for GithubAppAuthorizationRevokedAction {
11744 fn from(value: &GithubAppAuthorizationRevokedAction) -> Self {
11745 value.clone()
11746 }
11747}
11748impl ToString for GithubAppAuthorizationRevokedAction {
11749 fn to_string(&self) -> String {
11750 match *self {
11751 Self::Revoked => "revoked".to_string(),
11752 }
11753 }
11754}
11755impl std::str::FromStr for GithubAppAuthorizationRevokedAction {
11756 type Err = &'static str;
11757
11758 fn from_str(value: &str) -> Result<Self, &'static str> {
11759 match value {
11760 "revoked" => Ok(Self::Revoked),
11761 _ => Err("invalid value"),
11762 }
11763 }
11764}
11765impl std::convert::TryFrom<&str> for GithubAppAuthorizationRevokedAction {
11766 type Error = &'static str;
11767
11768 fn try_from(value: &str) -> Result<Self, &'static str> {
11769 value.parse()
11770 }
11771}
11772impl std::convert::TryFrom<&String> for GithubAppAuthorizationRevokedAction {
11773 type Error = &'static str;
11774
11775 fn try_from(value: &String) -> Result<Self, &'static str> {
11776 value.parse()
11777 }
11778}
11779impl std::convert::TryFrom<String> for GithubAppAuthorizationRevokedAction {
11780 type Error = &'static str;
11781
11782 fn try_from(value: String) -> Result<Self, &'static str> {
11783 value.parse()
11784 }
11785}
11786#[derive(Clone, Debug, Deserialize, Serialize)]
11787#[serde(deny_unknown_fields)]
11788pub struct GithubOrg {
11789 pub avatar_url: String,
11790 #[serde(default)]
11791 pub email: (),
11792 pub events_url: String,
11793 pub followers_url: String,
11794 pub following_url: String,
11795 pub gists_url: String,
11796 pub gravatar_id: String,
11797 pub html_url: String,
11798 pub id: i64,
11799 pub login: String,
11800 #[serde(default, skip_serializing_if = "Option::is_none")]
11801 pub name: Option<String>,
11802 pub node_id: String,
11803 pub organizations_url: String,
11804 pub received_events_url: String,
11805 pub repos_url: String,
11806 pub site_admin: bool,
11807 pub starred_url: String,
11808 pub subscriptions_url: String,
11809 #[serde(rename = "type")]
11810 pub type_: String,
11811 pub url: String,
11812}
11813impl From<&GithubOrg> for GithubOrg {
11814 fn from(value: &GithubOrg) -> Self {
11815 value.clone()
11816 }
11817}
11818#[derive(Clone, Debug, Deserialize, Serialize)]
11820#[serde(deny_unknown_fields)]
11821pub struct GollumEvent {
11822 #[serde(default, skip_serializing_if = "Option::is_none")]
11823 pub installation: Option<InstallationLite>,
11824 #[serde(default, skip_serializing_if = "Option::is_none")]
11825 pub organization: Option<Organization>,
11826 pub pages: Vec<GollumEventPagesItem>,
11828 pub repository: Repository,
11829 pub sender: User,
11830}
11831impl From<&GollumEvent> for GollumEvent {
11832 fn from(value: &GollumEvent) -> Self {
11833 value.clone()
11834 }
11835}
11836#[derive(Clone, Debug, Deserialize, Serialize)]
11837#[serde(deny_unknown_fields)]
11838pub struct GollumEventPagesItem {
11839 pub action: GollumEventPagesItemAction,
11841 pub html_url: String,
11843 pub page_name: String,
11845 pub sha: String,
11847 pub summary: (),
11848 pub title: String,
11850}
11851impl From<&GollumEventPagesItem> for GollumEventPagesItem {
11852 fn from(value: &GollumEventPagesItem) -> Self {
11853 value.clone()
11854 }
11855}
11856#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11858pub enum GollumEventPagesItemAction {
11859 #[serde(rename = "created")]
11860 Created,
11861 #[serde(rename = "edited")]
11862 Edited,
11863}
11864impl From<&GollumEventPagesItemAction> for GollumEventPagesItemAction {
11865 fn from(value: &GollumEventPagesItemAction) -> Self {
11866 value.clone()
11867 }
11868}
11869impl ToString for GollumEventPagesItemAction {
11870 fn to_string(&self) -> String {
11871 match *self {
11872 Self::Created => "created".to_string(),
11873 Self::Edited => "edited".to_string(),
11874 }
11875 }
11876}
11877impl std::str::FromStr for GollumEventPagesItemAction {
11878 type Err = &'static str;
11879
11880 fn from_str(value: &str) -> Result<Self, &'static str> {
11881 match value {
11882 "created" => Ok(Self::Created),
11883 "edited" => Ok(Self::Edited),
11884 _ => Err("invalid value"),
11885 }
11886 }
11887}
11888impl std::convert::TryFrom<&str> for GollumEventPagesItemAction {
11889 type Error = &'static str;
11890
11891 fn try_from(value: &str) -> Result<Self, &'static str> {
11892 value.parse()
11893 }
11894}
11895impl std::convert::TryFrom<&String> for GollumEventPagesItemAction {
11896 type Error = &'static str;
11897
11898 fn try_from(value: &String) -> Result<Self, &'static str> {
11899 value.parse()
11900 }
11901}
11902impl std::convert::TryFrom<String> for GollumEventPagesItemAction {
11903 type Error = &'static str;
11904
11905 fn try_from(value: String) -> Result<Self, &'static str> {
11906 value.parse()
11907 }
11908}
11909#[derive(Clone, Debug, Deserialize, Serialize)]
11911#[serde(deny_unknown_fields)]
11912pub struct Installation {
11913 pub access_tokens_url: String,
11914 pub account: User,
11915 pub app_id: i64,
11916 #[serde(default, skip_serializing_if = "Option::is_none")]
11917 pub app_slug: Option<String>,
11918 pub created_at: InstallationCreatedAt,
11919 pub events: Vec<InstallationEventsItem>,
11920 #[serde(default, skip_serializing_if = "Option::is_none")]
11921 pub has_multiple_single_files: Option<bool>,
11922 pub html_url: String,
11923 pub id: i64,
11925 pub permissions: InstallationPermissions,
11926 pub repositories_url: String,
11927 pub repository_selection: InstallationRepositorySelection,
11930 pub single_file_name: Option<String>,
11931 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11932 pub single_file_paths: Vec<String>,
11933 pub suspended_at: Option<chrono::DateTime<chrono::offset::Utc>>,
11934 pub suspended_by: Option<User>,
11935 pub target_id: i64,
11937 pub target_type: InstallationTargetType,
11938 pub updated_at: InstallationUpdatedAt,
11939}
11940impl From<&Installation> for Installation {
11941 fn from(value: &Installation) -> Self {
11942 value.clone()
11943 }
11944}
11945#[derive(Clone, Debug, Deserialize, Serialize)]
11946#[serde(deny_unknown_fields)]
11947pub struct InstallationCreated {
11948 pub action: InstallationCreatedAction,
11949 pub installation: Installation,
11950 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11952 pub repositories: Vec<InstallationCreatedRepositoriesItem>,
11953 #[serde(default, skip_serializing_if = "Option::is_none")]
11954 pub requester: Option<User>,
11955 pub sender: User,
11956}
11957impl From<&InstallationCreated> for InstallationCreated {
11958 fn from(value: &InstallationCreated) -> Self {
11959 value.clone()
11960 }
11961}
11962#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
11963pub enum InstallationCreatedAction {
11964 #[serde(rename = "created")]
11965 Created,
11966}
11967impl From<&InstallationCreatedAction> for InstallationCreatedAction {
11968 fn from(value: &InstallationCreatedAction) -> Self {
11969 value.clone()
11970 }
11971}
11972impl ToString for InstallationCreatedAction {
11973 fn to_string(&self) -> String {
11974 match *self {
11975 Self::Created => "created".to_string(),
11976 }
11977 }
11978}
11979impl std::str::FromStr for InstallationCreatedAction {
11980 type Err = &'static str;
11981
11982 fn from_str(value: &str) -> Result<Self, &'static str> {
11983 match value {
11984 "created" => Ok(Self::Created),
11985 _ => Err("invalid value"),
11986 }
11987 }
11988}
11989impl std::convert::TryFrom<&str> for InstallationCreatedAction {
11990 type Error = &'static str;
11991
11992 fn try_from(value: &str) -> Result<Self, &'static str> {
11993 value.parse()
11994 }
11995}
11996impl std::convert::TryFrom<&String> for InstallationCreatedAction {
11997 type Error = &'static str;
11998
11999 fn try_from(value: &String) -> Result<Self, &'static str> {
12000 value.parse()
12001 }
12002}
12003impl std::convert::TryFrom<String> for InstallationCreatedAction {
12004 type Error = &'static str;
12005
12006 fn try_from(value: String) -> Result<Self, &'static str> {
12007 value.parse()
12008 }
12009}
12010#[derive(Clone, Debug, Deserialize, Serialize)]
12011#[serde(untagged)]
12012pub enum InstallationCreatedAt {
12013 Variant0(chrono::DateTime<chrono::offset::Utc>),
12014 Variant1(i64),
12015}
12016impl From<&InstallationCreatedAt> for InstallationCreatedAt {
12017 fn from(value: &InstallationCreatedAt) -> Self {
12018 value.clone()
12019 }
12020}
12021impl std::str::FromStr for InstallationCreatedAt {
12022 type Err = &'static str;
12023
12024 fn from_str(value: &str) -> Result<Self, &'static str> {
12025 if let Ok(v) = value.parse() {
12026 Ok(Self::Variant0(v))
12027 } else if let Ok(v) = value.parse() {
12028 Ok(Self::Variant1(v))
12029 } else {
12030 Err("string conversion failed for all variants")
12031 }
12032 }
12033}
12034impl std::convert::TryFrom<&str> for InstallationCreatedAt {
12035 type Error = &'static str;
12036
12037 fn try_from(value: &str) -> Result<Self, &'static str> {
12038 value.parse()
12039 }
12040}
12041impl std::convert::TryFrom<&String> for InstallationCreatedAt {
12042 type Error = &'static str;
12043
12044 fn try_from(value: &String) -> Result<Self, &'static str> {
12045 value.parse()
12046 }
12047}
12048impl std::convert::TryFrom<String> for InstallationCreatedAt {
12049 type Error = &'static str;
12050
12051 fn try_from(value: String) -> Result<Self, &'static str> {
12052 value.parse()
12053 }
12054}
12055impl ToString for InstallationCreatedAt {
12056 fn to_string(&self) -> String {
12057 match self {
12058 Self::Variant0(x) => x.to_string(),
12059 Self::Variant1(x) => x.to_string(),
12060 }
12061 }
12062}
12063impl From<chrono::DateTime<chrono::offset::Utc>> for InstallationCreatedAt {
12064 fn from(value: chrono::DateTime<chrono::offset::Utc>) -> Self {
12065 Self::Variant0(value)
12066 }
12067}
12068impl From<i64> for InstallationCreatedAt {
12069 fn from(value: i64) -> Self {
12070 Self::Variant1(value)
12071 }
12072}
12073#[derive(Clone, Debug, Deserialize, Serialize)]
12074#[serde(deny_unknown_fields)]
12075pub struct InstallationCreatedRepositoriesItem {
12076 pub full_name: String,
12077 pub id: i64,
12079 pub name: String,
12081 pub node_id: String,
12082 pub private: bool,
12084}
12085impl From<&InstallationCreatedRepositoriesItem> for InstallationCreatedRepositoriesItem {
12086 fn from(value: &InstallationCreatedRepositoriesItem) -> Self {
12087 value.clone()
12088 }
12089}
12090#[derive(Clone, Debug, Deserialize, Serialize)]
12091#[serde(deny_unknown_fields)]
12092pub struct InstallationDeleted {
12093 pub action: InstallationDeletedAction,
12094 pub installation: Installation,
12095 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12097 pub repositories: Vec<InstallationDeletedRepositoriesItem>,
12098 #[serde(default)]
12099 pub requester: (),
12100 pub sender: User,
12101}
12102impl From<&InstallationDeleted> for InstallationDeleted {
12103 fn from(value: &InstallationDeleted) -> Self {
12104 value.clone()
12105 }
12106}
12107#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
12108pub enum InstallationDeletedAction {
12109 #[serde(rename = "deleted")]
12110 Deleted,
12111}
12112impl From<&InstallationDeletedAction> for InstallationDeletedAction {
12113 fn from(value: &InstallationDeletedAction) -> Self {
12114 value.clone()
12115 }
12116}
12117impl ToString for InstallationDeletedAction {
12118 fn to_string(&self) -> String {
12119 match *self {
12120 Self::Deleted => "deleted".to_string(),
12121 }
12122 }
12123}
12124impl std::str::FromStr for InstallationDeletedAction {
12125 type Err = &'static str;
12126
12127 fn from_str(value: &str) -> Result<Self, &'static str> {
12128 match value {
12129 "deleted" => Ok(Self::Deleted),
12130 _ => Err("invalid value"),
12131 }
12132 }
12133}
12134impl std::convert::TryFrom<&str> for InstallationDeletedAction {
12135 type Error = &'static str;
12136
12137 fn try_from(value: &str) -> Result<Self, &'static str> {
12138 value.parse()
12139 }
12140}
12141impl std::convert::TryFrom<&String> for InstallationDeletedAction {
12142 type Error = &'static str;
12143
12144 fn try_from(value: &String) -> Result<Self, &'static str> {
12145 value.parse()
12146 }
12147}
12148impl std::convert::TryFrom<String> for InstallationDeletedAction {
12149 type Error = &'static str;
12150
12151 fn try_from(value: String) -> Result<Self, &'static str> {
12152 value.parse()
12153 }
12154}
12155#[derive(Clone, Debug, Deserialize, Serialize)]
12156#[serde(deny_unknown_fields)]
12157pub struct InstallationDeletedRepositoriesItem {
12158 pub full_name: String,
12159 pub id: i64,
12161 pub name: String,
12163 pub node_id: String,
12164 pub private: bool,
12166}
12167impl From<&InstallationDeletedRepositoriesItem> for InstallationDeletedRepositoriesItem {
12168 fn from(value: &InstallationDeletedRepositoriesItem) -> Self {
12169 value.clone()
12170 }
12171}
12172#[derive(Clone, Debug, Deserialize, Serialize)]
12173#[serde(untagged)]
12174pub enum InstallationEvent {
12175 Created(InstallationCreated),
12176 Deleted(InstallationDeleted),
12177 NewPermissionsAccepted(InstallationNewPermissionsAccepted),
12178 Suspend(InstallationSuspend),
12179 Unsuspend(InstallationUnsuspend),
12180}
12181impl From<&InstallationEvent> for InstallationEvent {
12182 fn from(value: &InstallationEvent) -> Self {
12183 value.clone()
12184 }
12185}
12186impl From<InstallationCreated> for InstallationEvent {
12187 fn from(value: InstallationCreated) -> Self {
12188 Self::Created(value)
12189 }
12190}
12191impl From<InstallationDeleted> for InstallationEvent {
12192 fn from(value: InstallationDeleted) -> Self {
12193 Self::Deleted(value)
12194 }
12195}
12196impl From<InstallationNewPermissionsAccepted> for InstallationEvent {
12197 fn from(value: InstallationNewPermissionsAccepted) -> Self {
12198 Self::NewPermissionsAccepted(value)
12199 }
12200}
12201impl From<InstallationSuspend> for InstallationEvent {
12202 fn from(value: InstallationSuspend) -> Self {
12203 Self::Suspend(value)
12204 }
12205}
12206impl From<InstallationUnsuspend> for InstallationEvent {
12207 fn from(value: InstallationUnsuspend) -> Self {
12208 Self::Unsuspend(value)
12209 }
12210}
12211#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
12212pub enum InstallationEventsItem {
12213 #[serde(rename = "branch_protection_rule")]
12214 BranchProtectionRule,
12215 #[serde(rename = "check_run")]
12216 CheckRun,
12217 #[serde(rename = "check_suite")]
12218 CheckSuite,
12219 #[serde(rename = "code_scanning_alert")]
12220 CodeScanningAlert,
12221 #[serde(rename = "commit_comment")]
12222 CommitComment,
12223 #[serde(rename = "content_reference")]
12224 ContentReference,
12225 #[serde(rename = "create")]
12226 Create,
12227 #[serde(rename = "delete")]
12228 Delete,
12229 #[serde(rename = "deployment")]
12230 Deployment,
12231 #[serde(rename = "deployment_review")]
12232 DeploymentReview,
12233 #[serde(rename = "deployment_status")]
12234 DeploymentStatus,
12235 #[serde(rename = "deploy_key")]
12236 DeployKey,
12237 #[serde(rename = "discussion")]
12238 Discussion,
12239 #[serde(rename = "discussion_comment")]
12240 DiscussionComment,
12241 #[serde(rename = "fork")]
12242 Fork,
12243 #[serde(rename = "gollum")]
12244 Gollum,
12245 #[serde(rename = "issues")]
12246 Issues,
12247 #[serde(rename = "issue_comment")]
12248 IssueComment,
12249 #[serde(rename = "label")]
12250 Label,
12251 #[serde(rename = "member")]
12252 Member,
12253 #[serde(rename = "membership")]
12254 Membership,
12255 #[serde(rename = "merge_queue_entry")]
12256 MergeQueueEntry,
12257 #[serde(rename = "milestone")]
12258 Milestone,
12259 #[serde(rename = "organization")]
12260 Organization,
12261 #[serde(rename = "org_block")]
12262 OrgBlock,
12263 #[serde(rename = "page_build")]
12264 PageBuild,
12265 #[serde(rename = "project")]
12266 Project,
12267 #[serde(rename = "projects_v2_item")]
12268 ProjectsV2Item,
12269 #[serde(rename = "project_card")]
12270 ProjectCard,
12271 #[serde(rename = "project_column")]
12272 ProjectColumn,
12273 #[serde(rename = "public")]
12274 Public,
12275 #[serde(rename = "pull_request")]
12276 PullRequest,
12277 #[serde(rename = "pull_request_review")]
12278 PullRequestReview,
12279 #[serde(rename = "pull_request_review_comment")]
12280 PullRequestReviewComment,
12281 #[serde(rename = "pull_request_review_thread")]
12282 PullRequestReviewThread,
12283 #[serde(rename = "push")]
12284 Push,
12285 #[serde(rename = "registry_package")]
12286 RegistryPackage,
12287 #[serde(rename = "release")]
12288 Release,
12289 #[serde(rename = "repository")]
12290 Repository,
12291 #[serde(rename = "repository_dispatch")]
12292 RepositoryDispatch,
12293 #[serde(rename = "secret_scanning_alert")]
12294 SecretScanningAlert,
12295 #[serde(rename = "secret_scanning_alert_location")]
12296 SecretScanningAlertLocation,
12297 #[serde(rename = "star")]
12298 Star,
12299 #[serde(rename = "status")]
12300 Status,
12301 #[serde(rename = "team")]
12302 Team,
12303 #[serde(rename = "team_add")]
12304 TeamAdd,
12305 #[serde(rename = "watch")]
12306 Watch,
12307 #[serde(rename = "workflow_dispatch")]
12308 WorkflowDispatch,
12309 #[serde(rename = "workflow_job")]
12310 WorkflowJob,
12311 #[serde(rename = "workflow_run")]
12312 WorkflowRun,
12313}
12314impl From<&InstallationEventsItem> for InstallationEventsItem {
12315 fn from(value: &InstallationEventsItem) -> Self {
12316 value.clone()
12317 }
12318}
12319impl ToString for InstallationEventsItem {
12320 fn to_string(&self) -> String {
12321 match *self {
12322 Self::BranchProtectionRule => "branch_protection_rule".to_string(),
12323 Self::CheckRun => "check_run".to_string(),
12324 Self::CheckSuite => "check_suite".to_string(),
12325 Self::CodeScanningAlert => "code_scanning_alert".to_string(),
12326 Self::CommitComment => "commit_comment".to_string(),
12327 Self::ContentReference => "content_reference".to_string(),
12328 Self::Create => "create".to_string(),
12329 Self::Delete => "delete".to_string(),
12330 Self::Deployment => "deployment".to_string(),
12331 Self::DeploymentReview => "deployment_review".to_string(),
12332 Self::DeploymentStatus => "deployment_status".to_string(),
12333 Self::DeployKey => "deploy_key".to_string(),
12334 Self::Discussion => "discussion".to_string(),
12335 Self::DiscussionComment => "discussion_comment".to_string(),
12336 Self::Fork => "fork".to_string(),
12337 Self::Gollum => "gollum".to_string(),
12338 Self::Issues => "issues".to_string(),
12339 Self::IssueComment => "issue_comment".to_string(),
12340 Self::Label => "label".to_string(),
12341 Self::Member => "member".to_string(),
12342 Self::Membership => "membership".to_string(),
12343 Self::MergeQueueEntry => "merge_queue_entry".to_string(),
12344 Self::Milestone => "milestone".to_string(),
12345 Self::Organization => "organization".to_string(),
12346 Self::OrgBlock => "org_block".to_string(),
12347 Self::PageBuild => "page_build".to_string(),
12348 Self::Project => "project".to_string(),
12349 Self::ProjectsV2Item => "projects_v2_item".to_string(),
12350 Self::ProjectCard => "project_card".to_string(),
12351 Self::ProjectColumn => "project_column".to_string(),
12352 Self::Public => "public".to_string(),
12353 Self::PullRequest => "pull_request".to_string(),
12354 Self::PullRequestReview => "pull_request_review".to_string(),
12355 Self::PullRequestReviewComment => "pull_request_review_comment".to_string(),
12356 Self::PullRequestReviewThread => "pull_request_review_thread".to_string(),
12357 Self::Push => "push".to_string(),
12358 Self::RegistryPackage => "registry_package".to_string(),
12359 Self::Release => "release".to_string(),
12360 Self::Repository => "repository".to_string(),
12361 Self::RepositoryDispatch => "repository_dispatch".to_string(),
12362 Self::SecretScanningAlert => "secret_scanning_alert".to_string(),
12363 Self::SecretScanningAlertLocation => "secret_scanning_alert_location".to_string(),
12364 Self::Star => "star".to_string(),
12365 Self::Status => "status".to_string(),
12366 Self::Team => "team".to_string(),
12367 Self::TeamAdd => "team_add".to_string(),
12368 Self::Watch => "watch".to_string(),
12369 Self::WorkflowDispatch => "workflow_dispatch".to_string(),
12370 Self::WorkflowJob => "workflow_job".to_string(),
12371 Self::WorkflowRun => "workflow_run".to_string(),
12372 }
12373 }
12374}
12375impl std::str::FromStr for InstallationEventsItem {
12376 type Err = &'static str;
12377
12378 fn from_str(value: &str) -> Result<Self, &'static str> {
12379 match value {
12380 "branch_protection_rule" => Ok(Self::BranchProtectionRule),
12381 "check_run" => Ok(Self::CheckRun),
12382 "check_suite" => Ok(Self::CheckSuite),
12383 "code_scanning_alert" => Ok(Self::CodeScanningAlert),
12384 "commit_comment" => Ok(Self::CommitComment),
12385 "content_reference" => Ok(Self::ContentReference),
12386 "create" => Ok(Self::Create),
12387 "delete" => Ok(Self::Delete),
12388 "deployment" => Ok(Self::Deployment),
12389 "deployment_review" => Ok(Self::DeploymentReview),
12390 "deployment_status" => Ok(Self::DeploymentStatus),
12391 "deploy_key" => Ok(Self::DeployKey),
12392 "discussion" => Ok(Self::Discussion),
12393 "discussion_comment" => Ok(Self::DiscussionComment),
12394 "fork" => Ok(Self::Fork),
12395 "gollum" => Ok(Self::Gollum),
12396 "issues" => Ok(Self::Issues),
12397 "issue_comment" => Ok(Self::IssueComment),
12398 "label" => Ok(Self::Label),
12399 "member" => Ok(Self::Member),
12400 "membership" => Ok(Self::Membership),
12401 "merge_queue_entry" => Ok(Self::MergeQueueEntry),
12402 "milestone" => Ok(Self::Milestone),
12403 "organization" => Ok(Self::Organization),
12404 "org_block" => Ok(Self::OrgBlock),
12405 "page_build" => Ok(Self::PageBuild),
12406 "project" => Ok(Self::Project),
12407 "projects_v2_item" => Ok(Self::ProjectsV2Item),
12408 "project_card" => Ok(Self::ProjectCard),
12409 "project_column" => Ok(Self::ProjectColumn),
12410 "public" => Ok(Self::Public),
12411 "pull_request" => Ok(Self::PullRequest),
12412 "pull_request_review" => Ok(Self::PullRequestReview),
12413 "pull_request_review_comment" => Ok(Self::PullRequestReviewComment),
12414 "pull_request_review_thread" => Ok(Self::PullRequestReviewThread),
12415 "push" => Ok(Self::Push),
12416 "registry_package" => Ok(Self::RegistryPackage),
12417 "release" => Ok(Self::Release),
12418 "repository" => Ok(Self::Repository),
12419 "repository_dispatch" => Ok(Self::RepositoryDispatch),
12420 "secret_scanning_alert" => Ok(Self::SecretScanningAlert),
12421 "secret_scanning_alert_location" => Ok(Self::SecretScanningAlertLocation),
12422 "star" => Ok(Self::Star),
12423 "status" => Ok(Self::Status),
12424 "team" => Ok(Self::Team),
12425 "team_add" => Ok(Self::TeamAdd),
12426 "watch" => Ok(Self::Watch),
12427 "workflow_dispatch" => Ok(Self::WorkflowDispatch),
12428 "workflow_job" => Ok(Self::WorkflowJob),
12429 "workflow_run" => Ok(Self::WorkflowRun),
12430 _ => Err("invalid value"),
12431 }
12432 }
12433}
12434impl std::convert::TryFrom<&str> for InstallationEventsItem {
12435 type Error = &'static str;
12436
12437 fn try_from(value: &str) -> Result<Self, &'static str> {
12438 value.parse()
12439 }
12440}
12441impl std::convert::TryFrom<&String> for InstallationEventsItem {
12442 type Error = &'static str;
12443
12444 fn try_from(value: &String) -> Result<Self, &'static str> {
12445 value.parse()
12446 }
12447}
12448impl std::convert::TryFrom<String> for InstallationEventsItem {
12449 type Error = &'static str;
12450
12451 fn try_from(value: String) -> Result<Self, &'static str> {
12452 value.parse()
12453 }
12454}
12455#[derive(Clone, Debug, Deserialize, Serialize)]
12457#[serde(deny_unknown_fields)]
12458pub struct InstallationLite {
12459 pub id: i64,
12461 pub node_id: String,
12462}
12463impl From<&InstallationLite> for InstallationLite {
12464 fn from(value: &InstallationLite) -> Self {
12465 value.clone()
12466 }
12467}
12468#[derive(Clone, Debug, Deserialize, Serialize)]
12469#[serde(deny_unknown_fields)]
12470pub struct InstallationNewPermissionsAccepted {
12471 pub action: InstallationNewPermissionsAcceptedAction,
12472 pub installation: Installation,
12473 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12475 pub repositories: Vec<InstallationNewPermissionsAcceptedRepositoriesItem>,
12476 #[serde(default)]
12477 pub requester: (),
12478 pub sender: User,
12479}
12480impl From<&InstallationNewPermissionsAccepted> for InstallationNewPermissionsAccepted {
12481 fn from(value: &InstallationNewPermissionsAccepted) -> Self {
12482 value.clone()
12483 }
12484}
12485#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
12486pub enum InstallationNewPermissionsAcceptedAction {
12487 #[serde(rename = "new_permissions_accepted")]
12488 NewPermissionsAccepted,
12489}
12490impl From<&InstallationNewPermissionsAcceptedAction> for InstallationNewPermissionsAcceptedAction {
12491 fn from(value: &InstallationNewPermissionsAcceptedAction) -> Self {
12492 value.clone()
12493 }
12494}
12495impl ToString for InstallationNewPermissionsAcceptedAction {
12496 fn to_string(&self) -> String {
12497 match *self {
12498 Self::NewPermissionsAccepted => "new_permissions_accepted".to_string(),
12499 }
12500 }
12501}
12502impl std::str::FromStr for InstallationNewPermissionsAcceptedAction {
12503 type Err = &'static str;
12504
12505 fn from_str(value: &str) -> Result<Self, &'static str> {
12506 match value {
12507 "new_permissions_accepted" => Ok(Self::NewPermissionsAccepted),
12508 _ => Err("invalid value"),
12509 }
12510 }
12511}
12512impl std::convert::TryFrom<&str> for InstallationNewPermissionsAcceptedAction {
12513 type Error = &'static str;
12514
12515 fn try_from(value: &str) -> Result<Self, &'static str> {
12516 value.parse()
12517 }
12518}
12519impl std::convert::TryFrom<&String> for InstallationNewPermissionsAcceptedAction {
12520 type Error = &'static str;
12521
12522 fn try_from(value: &String) -> Result<Self, &'static str> {
12523 value.parse()
12524 }
12525}
12526impl std::convert::TryFrom<String> for InstallationNewPermissionsAcceptedAction {
12527 type Error = &'static str;
12528
12529 fn try_from(value: String) -> Result<Self, &'static str> {
12530 value.parse()
12531 }
12532}
12533#[derive(Clone, Debug, Deserialize, Serialize)]
12534#[serde(deny_unknown_fields)]
12535pub struct InstallationNewPermissionsAcceptedRepositoriesItem {
12536 pub full_name: String,
12537 pub id: i64,
12539 pub name: String,
12541 pub node_id: String,
12542 pub private: bool,
12544}
12545impl From<&InstallationNewPermissionsAcceptedRepositoriesItem>
12546 for InstallationNewPermissionsAcceptedRepositoriesItem
12547{
12548 fn from(value: &InstallationNewPermissionsAcceptedRepositoriesItem) -> Self {
12549 value.clone()
12550 }
12551}
12552#[derive(Clone, Debug, Deserialize, Serialize)]
12553#[serde(deny_unknown_fields)]
12554pub struct InstallationPermissions {
12555 #[serde(default, skip_serializing_if = "Option::is_none")]
12558 pub actions: Option<InstallationPermissionsActions>,
12559 #[serde(default, skip_serializing_if = "Option::is_none")]
12562 pub administration: Option<InstallationPermissionsAdministration>,
12563 #[serde(default, skip_serializing_if = "Option::is_none")]
12564 pub blocking: Option<InstallationPermissionsBlocking>,
12565 #[serde(default, skip_serializing_if = "Option::is_none")]
12567 pub checks: Option<InstallationPermissionsChecks>,
12568 #[serde(default, skip_serializing_if = "Option::is_none")]
12569 pub content_references: Option<InstallationPermissionsContentReferences>,
12570 #[serde(default, skip_serializing_if = "Option::is_none")]
12573 pub contents: Option<InstallationPermissionsContents>,
12574 #[serde(default, skip_serializing_if = "Option::is_none")]
12577 pub deployments: Option<InstallationPermissionsDeployments>,
12578 #[serde(default, skip_serializing_if = "Option::is_none")]
12579 pub discussions: Option<InstallationPermissionsDiscussions>,
12580 #[serde(default, skip_serializing_if = "Option::is_none")]
12581 pub emails: Option<InstallationPermissionsEmails>,
12582 #[serde(default, skip_serializing_if = "Option::is_none")]
12585 pub environments: Option<InstallationPermissionsEnvironments>,
12586 #[serde(default, skip_serializing_if = "Option::is_none")]
12589 pub issues: Option<InstallationPermissionsIssues>,
12590 #[serde(default, skip_serializing_if = "Option::is_none")]
12593 pub members: Option<InstallationPermissionsMembers>,
12594 #[serde(default, skip_serializing_if = "Option::is_none")]
12595 pub merge_queues: Option<InstallationPermissionsMergeQueues>,
12596 #[serde(default, skip_serializing_if = "Option::is_none")]
12599 pub metadata: Option<InstallationPermissionsMetadata>,
12600 #[serde(default, skip_serializing_if = "Option::is_none")]
12603 pub organization_administration: Option<InstallationPermissionsOrganizationAdministration>,
12604 #[serde(default, skip_serializing_if = "Option::is_none")]
12605 pub organization_events: Option<InstallationPermissionsOrganizationEvents>,
12606 #[serde(default, skip_serializing_if = "Option::is_none")]
12609 pub organization_hooks: Option<InstallationPermissionsOrganizationHooks>,
12610 #[serde(default, skip_serializing_if = "Option::is_none")]
12613 pub organization_packages: Option<InstallationPermissionsOrganizationPackages>,
12614 #[serde(default, skip_serializing_if = "Option::is_none")]
12617 pub organization_plan: Option<InstallationPermissionsOrganizationPlan>,
12618 #[serde(default, skip_serializing_if = "Option::is_none")]
12621 pub organization_projects: Option<InstallationPermissionsOrganizationProjects>,
12622 #[serde(default, skip_serializing_if = "Option::is_none")]
12625 pub organization_secrets: Option<InstallationPermissionsOrganizationSecrets>,
12626 #[serde(default, skip_serializing_if = "Option::is_none")]
12629 pub organization_self_hosted_runners:
12630 Option<InstallationPermissionsOrganizationSelfHostedRunners>,
12631 #[serde(default, skip_serializing_if = "Option::is_none")]
12634 pub organization_user_blocking: Option<InstallationPermissionsOrganizationUserBlocking>,
12635 #[serde(default, skip_serializing_if = "Option::is_none")]
12638 pub packages: Option<InstallationPermissionsPackages>,
12639 #[serde(default, skip_serializing_if = "Option::is_none")]
12642 pub pages: Option<InstallationPermissionsPages>,
12643 #[serde(default, skip_serializing_if = "Option::is_none")]
12646 pub pull_requests: Option<InstallationPermissionsPullRequests>,
12647 #[serde(default, skip_serializing_if = "Option::is_none")]
12650 pub repository_hooks: Option<InstallationPermissionsRepositoryHooks>,
12651 #[serde(default, skip_serializing_if = "Option::is_none")]
12654 pub repository_projects: Option<InstallationPermissionsRepositoryProjects>,
12655 #[serde(default, skip_serializing_if = "Option::is_none")]
12658 pub secret_scanning_alerts: Option<InstallationPermissionsSecretScanningAlerts>,
12659 #[serde(default, skip_serializing_if = "Option::is_none")]
12662 pub secrets: Option<InstallationPermissionsSecrets>,
12663 #[serde(default, skip_serializing_if = "Option::is_none")]
12666 pub security_events: Option<InstallationPermissionsSecurityEvents>,
12667 #[serde(default, skip_serializing_if = "Option::is_none")]
12668 pub security_scanning_alert: Option<InstallationPermissionsSecurityScanningAlert>,
12669 #[serde(default, skip_serializing_if = "Option::is_none")]
12672 pub single_file: Option<InstallationPermissionsSingleFile>,
12673 #[serde(default, skip_serializing_if = "Option::is_none")]
12675 pub statuses: Option<InstallationPermissionsStatuses>,
12676 #[serde(default, skip_serializing_if = "Option::is_none")]
12679 pub team_discussions: Option<InstallationPermissionsTeamDiscussions>,
12680 #[serde(default, skip_serializing_if = "Option::is_none")]
12683 pub vulnerability_alerts: Option<InstallationPermissionsVulnerabilityAlerts>,
12684 #[serde(default, skip_serializing_if = "Option::is_none")]
12687 pub workflows: Option<InstallationPermissionsWorkflows>,
12688}
12689impl From<&InstallationPermissions> for InstallationPermissions {
12690 fn from(value: &InstallationPermissions) -> Self {
12691 value.clone()
12692 }
12693}
12694#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
12697pub enum InstallationPermissionsActions {
12698 #[serde(rename = "read")]
12699 Read,
12700 #[serde(rename = "write")]
12701 Write,
12702}
12703impl From<&InstallationPermissionsActions> for InstallationPermissionsActions {
12704 fn from(value: &InstallationPermissionsActions) -> Self {
12705 value.clone()
12706 }
12707}
12708impl ToString for InstallationPermissionsActions {
12709 fn to_string(&self) -> String {
12710 match *self {
12711 Self::Read => "read".to_string(),
12712 Self::Write => "write".to_string(),
12713 }
12714 }
12715}
12716impl std::str::FromStr for InstallationPermissionsActions {
12717 type Err = &'static str;
12718
12719 fn from_str(value: &str) -> Result<Self, &'static str> {
12720 match value {
12721 "read" => Ok(Self::Read),
12722 "write" => Ok(Self::Write),
12723 _ => Err("invalid value"),
12724 }
12725 }
12726}
12727impl std::convert::TryFrom<&str> for InstallationPermissionsActions {
12728 type Error = &'static str;
12729
12730 fn try_from(value: &str) -> Result<Self, &'static str> {
12731 value.parse()
12732 }
12733}
12734impl std::convert::TryFrom<&String> for InstallationPermissionsActions {
12735 type Error = &'static str;
12736
12737 fn try_from(value: &String) -> Result<Self, &'static str> {
12738 value.parse()
12739 }
12740}
12741impl std::convert::TryFrom<String> for InstallationPermissionsActions {
12742 type Error = &'static str;
12743
12744 fn try_from(value: String) -> Result<Self, &'static str> {
12745 value.parse()
12746 }
12747}
12748#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
12751pub enum InstallationPermissionsAdministration {
12752 #[serde(rename = "read")]
12753 Read,
12754 #[serde(rename = "write")]
12755 Write,
12756}
12757impl From<&InstallationPermissionsAdministration> for InstallationPermissionsAdministration {
12758 fn from(value: &InstallationPermissionsAdministration) -> Self {
12759 value.clone()
12760 }
12761}
12762impl ToString for InstallationPermissionsAdministration {
12763 fn to_string(&self) -> String {
12764 match *self {
12765 Self::Read => "read".to_string(),
12766 Self::Write => "write".to_string(),
12767 }
12768 }
12769}
12770impl std::str::FromStr for InstallationPermissionsAdministration {
12771 type Err = &'static str;
12772
12773 fn from_str(value: &str) -> Result<Self, &'static str> {
12774 match value {
12775 "read" => Ok(Self::Read),
12776 "write" => Ok(Self::Write),
12777 _ => Err("invalid value"),
12778 }
12779 }
12780}
12781impl std::convert::TryFrom<&str> for InstallationPermissionsAdministration {
12782 type Error = &'static str;
12783
12784 fn try_from(value: &str) -> Result<Self, &'static str> {
12785 value.parse()
12786 }
12787}
12788impl std::convert::TryFrom<&String> for InstallationPermissionsAdministration {
12789 type Error = &'static str;
12790
12791 fn try_from(value: &String) -> Result<Self, &'static str> {
12792 value.parse()
12793 }
12794}
12795impl std::convert::TryFrom<String> for InstallationPermissionsAdministration {
12796 type Error = &'static str;
12797
12798 fn try_from(value: String) -> Result<Self, &'static str> {
12799 value.parse()
12800 }
12801}
12802#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
12803pub enum InstallationPermissionsBlocking {
12804 #[serde(rename = "read")]
12805 Read,
12806 #[serde(rename = "write")]
12807 Write,
12808}
12809impl From<&InstallationPermissionsBlocking> for InstallationPermissionsBlocking {
12810 fn from(value: &InstallationPermissionsBlocking) -> Self {
12811 value.clone()
12812 }
12813}
12814impl ToString for InstallationPermissionsBlocking {
12815 fn to_string(&self) -> String {
12816 match *self {
12817 Self::Read => "read".to_string(),
12818 Self::Write => "write".to_string(),
12819 }
12820 }
12821}
12822impl std::str::FromStr for InstallationPermissionsBlocking {
12823 type Err = &'static str;
12824
12825 fn from_str(value: &str) -> Result<Self, &'static str> {
12826 match value {
12827 "read" => Ok(Self::Read),
12828 "write" => Ok(Self::Write),
12829 _ => Err("invalid value"),
12830 }
12831 }
12832}
12833impl std::convert::TryFrom<&str> for InstallationPermissionsBlocking {
12834 type Error = &'static str;
12835
12836 fn try_from(value: &str) -> Result<Self, &'static str> {
12837 value.parse()
12838 }
12839}
12840impl std::convert::TryFrom<&String> for InstallationPermissionsBlocking {
12841 type Error = &'static str;
12842
12843 fn try_from(value: &String) -> Result<Self, &'static str> {
12844 value.parse()
12845 }
12846}
12847impl std::convert::TryFrom<String> for InstallationPermissionsBlocking {
12848 type Error = &'static str;
12849
12850 fn try_from(value: String) -> Result<Self, &'static str> {
12851 value.parse()
12852 }
12853}
12854#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
12856pub enum InstallationPermissionsChecks {
12857 #[serde(rename = "read")]
12858 Read,
12859 #[serde(rename = "write")]
12860 Write,
12861}
12862impl From<&InstallationPermissionsChecks> for InstallationPermissionsChecks {
12863 fn from(value: &InstallationPermissionsChecks) -> Self {
12864 value.clone()
12865 }
12866}
12867impl ToString for InstallationPermissionsChecks {
12868 fn to_string(&self) -> String {
12869 match *self {
12870 Self::Read => "read".to_string(),
12871 Self::Write => "write".to_string(),
12872 }
12873 }
12874}
12875impl std::str::FromStr for InstallationPermissionsChecks {
12876 type Err = &'static str;
12877
12878 fn from_str(value: &str) -> Result<Self, &'static str> {
12879 match value {
12880 "read" => Ok(Self::Read),
12881 "write" => Ok(Self::Write),
12882 _ => Err("invalid value"),
12883 }
12884 }
12885}
12886impl std::convert::TryFrom<&str> for InstallationPermissionsChecks {
12887 type Error = &'static str;
12888
12889 fn try_from(value: &str) -> Result<Self, &'static str> {
12890 value.parse()
12891 }
12892}
12893impl std::convert::TryFrom<&String> for InstallationPermissionsChecks {
12894 type Error = &'static str;
12895
12896 fn try_from(value: &String) -> Result<Self, &'static str> {
12897 value.parse()
12898 }
12899}
12900impl std::convert::TryFrom<String> for InstallationPermissionsChecks {
12901 type Error = &'static str;
12902
12903 fn try_from(value: String) -> Result<Self, &'static str> {
12904 value.parse()
12905 }
12906}
12907#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
12908pub enum InstallationPermissionsContentReferences {
12909 #[serde(rename = "read")]
12910 Read,
12911 #[serde(rename = "write")]
12912 Write,
12913}
12914impl From<&InstallationPermissionsContentReferences> for InstallationPermissionsContentReferences {
12915 fn from(value: &InstallationPermissionsContentReferences) -> Self {
12916 value.clone()
12917 }
12918}
12919impl ToString for InstallationPermissionsContentReferences {
12920 fn to_string(&self) -> String {
12921 match *self {
12922 Self::Read => "read".to_string(),
12923 Self::Write => "write".to_string(),
12924 }
12925 }
12926}
12927impl std::str::FromStr for InstallationPermissionsContentReferences {
12928 type Err = &'static str;
12929
12930 fn from_str(value: &str) -> Result<Self, &'static str> {
12931 match value {
12932 "read" => Ok(Self::Read),
12933 "write" => Ok(Self::Write),
12934 _ => Err("invalid value"),
12935 }
12936 }
12937}
12938impl std::convert::TryFrom<&str> for InstallationPermissionsContentReferences {
12939 type Error = &'static str;
12940
12941 fn try_from(value: &str) -> Result<Self, &'static str> {
12942 value.parse()
12943 }
12944}
12945impl std::convert::TryFrom<&String> for InstallationPermissionsContentReferences {
12946 type Error = &'static str;
12947
12948 fn try_from(value: &String) -> Result<Self, &'static str> {
12949 value.parse()
12950 }
12951}
12952impl std::convert::TryFrom<String> for InstallationPermissionsContentReferences {
12953 type Error = &'static str;
12954
12955 fn try_from(value: String) -> Result<Self, &'static str> {
12956 value.parse()
12957 }
12958}
12959#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
12962pub enum InstallationPermissionsContents {
12963 #[serde(rename = "read")]
12964 Read,
12965 #[serde(rename = "write")]
12966 Write,
12967}
12968impl From<&InstallationPermissionsContents> for InstallationPermissionsContents {
12969 fn from(value: &InstallationPermissionsContents) -> Self {
12970 value.clone()
12971 }
12972}
12973impl ToString for InstallationPermissionsContents {
12974 fn to_string(&self) -> String {
12975 match *self {
12976 Self::Read => "read".to_string(),
12977 Self::Write => "write".to_string(),
12978 }
12979 }
12980}
12981impl std::str::FromStr for InstallationPermissionsContents {
12982 type Err = &'static str;
12983
12984 fn from_str(value: &str) -> Result<Self, &'static str> {
12985 match value {
12986 "read" => Ok(Self::Read),
12987 "write" => Ok(Self::Write),
12988 _ => Err("invalid value"),
12989 }
12990 }
12991}
12992impl std::convert::TryFrom<&str> for InstallationPermissionsContents {
12993 type Error = &'static str;
12994
12995 fn try_from(value: &str) -> Result<Self, &'static str> {
12996 value.parse()
12997 }
12998}
12999impl std::convert::TryFrom<&String> for InstallationPermissionsContents {
13000 type Error = &'static str;
13001
13002 fn try_from(value: &String) -> Result<Self, &'static str> {
13003 value.parse()
13004 }
13005}
13006impl std::convert::TryFrom<String> for InstallationPermissionsContents {
13007 type Error = &'static str;
13008
13009 fn try_from(value: String) -> Result<Self, &'static str> {
13010 value.parse()
13011 }
13012}
13013#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13016pub enum InstallationPermissionsDeployments {
13017 #[serde(rename = "read")]
13018 Read,
13019 #[serde(rename = "write")]
13020 Write,
13021}
13022impl From<&InstallationPermissionsDeployments> for InstallationPermissionsDeployments {
13023 fn from(value: &InstallationPermissionsDeployments) -> Self {
13024 value.clone()
13025 }
13026}
13027impl ToString for InstallationPermissionsDeployments {
13028 fn to_string(&self) -> String {
13029 match *self {
13030 Self::Read => "read".to_string(),
13031 Self::Write => "write".to_string(),
13032 }
13033 }
13034}
13035impl std::str::FromStr for InstallationPermissionsDeployments {
13036 type Err = &'static str;
13037
13038 fn from_str(value: &str) -> Result<Self, &'static str> {
13039 match value {
13040 "read" => Ok(Self::Read),
13041 "write" => Ok(Self::Write),
13042 _ => Err("invalid value"),
13043 }
13044 }
13045}
13046impl std::convert::TryFrom<&str> for InstallationPermissionsDeployments {
13047 type Error = &'static str;
13048
13049 fn try_from(value: &str) -> Result<Self, &'static str> {
13050 value.parse()
13051 }
13052}
13053impl std::convert::TryFrom<&String> for InstallationPermissionsDeployments {
13054 type Error = &'static str;
13055
13056 fn try_from(value: &String) -> Result<Self, &'static str> {
13057 value.parse()
13058 }
13059}
13060impl std::convert::TryFrom<String> for InstallationPermissionsDeployments {
13061 type Error = &'static str;
13062
13063 fn try_from(value: String) -> Result<Self, &'static str> {
13064 value.parse()
13065 }
13066}
13067#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13068pub enum InstallationPermissionsDiscussions {
13069 #[serde(rename = "read")]
13070 Read,
13071 #[serde(rename = "write")]
13072 Write,
13073}
13074impl From<&InstallationPermissionsDiscussions> for InstallationPermissionsDiscussions {
13075 fn from(value: &InstallationPermissionsDiscussions) -> Self {
13076 value.clone()
13077 }
13078}
13079impl ToString for InstallationPermissionsDiscussions {
13080 fn to_string(&self) -> String {
13081 match *self {
13082 Self::Read => "read".to_string(),
13083 Self::Write => "write".to_string(),
13084 }
13085 }
13086}
13087impl std::str::FromStr for InstallationPermissionsDiscussions {
13088 type Err = &'static str;
13089
13090 fn from_str(value: &str) -> Result<Self, &'static str> {
13091 match value {
13092 "read" => Ok(Self::Read),
13093 "write" => Ok(Self::Write),
13094 _ => Err("invalid value"),
13095 }
13096 }
13097}
13098impl std::convert::TryFrom<&str> for InstallationPermissionsDiscussions {
13099 type Error = &'static str;
13100
13101 fn try_from(value: &str) -> Result<Self, &'static str> {
13102 value.parse()
13103 }
13104}
13105impl std::convert::TryFrom<&String> for InstallationPermissionsDiscussions {
13106 type Error = &'static str;
13107
13108 fn try_from(value: &String) -> Result<Self, &'static str> {
13109 value.parse()
13110 }
13111}
13112impl std::convert::TryFrom<String> for InstallationPermissionsDiscussions {
13113 type Error = &'static str;
13114
13115 fn try_from(value: String) -> Result<Self, &'static str> {
13116 value.parse()
13117 }
13118}
13119#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13120pub enum InstallationPermissionsEmails {
13121 #[serde(rename = "read")]
13122 Read,
13123 #[serde(rename = "write")]
13124 Write,
13125}
13126impl From<&InstallationPermissionsEmails> for InstallationPermissionsEmails {
13127 fn from(value: &InstallationPermissionsEmails) -> Self {
13128 value.clone()
13129 }
13130}
13131impl ToString for InstallationPermissionsEmails {
13132 fn to_string(&self) -> String {
13133 match *self {
13134 Self::Read => "read".to_string(),
13135 Self::Write => "write".to_string(),
13136 }
13137 }
13138}
13139impl std::str::FromStr for InstallationPermissionsEmails {
13140 type Err = &'static str;
13141
13142 fn from_str(value: &str) -> Result<Self, &'static str> {
13143 match value {
13144 "read" => Ok(Self::Read),
13145 "write" => Ok(Self::Write),
13146 _ => Err("invalid value"),
13147 }
13148 }
13149}
13150impl std::convert::TryFrom<&str> for InstallationPermissionsEmails {
13151 type Error = &'static str;
13152
13153 fn try_from(value: &str) -> Result<Self, &'static str> {
13154 value.parse()
13155 }
13156}
13157impl std::convert::TryFrom<&String> for InstallationPermissionsEmails {
13158 type Error = &'static str;
13159
13160 fn try_from(value: &String) -> Result<Self, &'static str> {
13161 value.parse()
13162 }
13163}
13164impl std::convert::TryFrom<String> for InstallationPermissionsEmails {
13165 type Error = &'static str;
13166
13167 fn try_from(value: String) -> Result<Self, &'static str> {
13168 value.parse()
13169 }
13170}
13171#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13174pub enum InstallationPermissionsEnvironments {
13175 #[serde(rename = "read")]
13176 Read,
13177 #[serde(rename = "write")]
13178 Write,
13179}
13180impl From<&InstallationPermissionsEnvironments> for InstallationPermissionsEnvironments {
13181 fn from(value: &InstallationPermissionsEnvironments) -> Self {
13182 value.clone()
13183 }
13184}
13185impl ToString for InstallationPermissionsEnvironments {
13186 fn to_string(&self) -> String {
13187 match *self {
13188 Self::Read => "read".to_string(),
13189 Self::Write => "write".to_string(),
13190 }
13191 }
13192}
13193impl std::str::FromStr for InstallationPermissionsEnvironments {
13194 type Err = &'static str;
13195
13196 fn from_str(value: &str) -> Result<Self, &'static str> {
13197 match value {
13198 "read" => Ok(Self::Read),
13199 "write" => Ok(Self::Write),
13200 _ => Err("invalid value"),
13201 }
13202 }
13203}
13204impl std::convert::TryFrom<&str> for InstallationPermissionsEnvironments {
13205 type Error = &'static str;
13206
13207 fn try_from(value: &str) -> Result<Self, &'static str> {
13208 value.parse()
13209 }
13210}
13211impl std::convert::TryFrom<&String> for InstallationPermissionsEnvironments {
13212 type Error = &'static str;
13213
13214 fn try_from(value: &String) -> Result<Self, &'static str> {
13215 value.parse()
13216 }
13217}
13218impl std::convert::TryFrom<String> for InstallationPermissionsEnvironments {
13219 type Error = &'static str;
13220
13221 fn try_from(value: String) -> Result<Self, &'static str> {
13222 value.parse()
13223 }
13224}
13225#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13228pub enum InstallationPermissionsIssues {
13229 #[serde(rename = "read")]
13230 Read,
13231 #[serde(rename = "write")]
13232 Write,
13233}
13234impl From<&InstallationPermissionsIssues> for InstallationPermissionsIssues {
13235 fn from(value: &InstallationPermissionsIssues) -> Self {
13236 value.clone()
13237 }
13238}
13239impl ToString for InstallationPermissionsIssues {
13240 fn to_string(&self) -> String {
13241 match *self {
13242 Self::Read => "read".to_string(),
13243 Self::Write => "write".to_string(),
13244 }
13245 }
13246}
13247impl std::str::FromStr for InstallationPermissionsIssues {
13248 type Err = &'static str;
13249
13250 fn from_str(value: &str) -> Result<Self, &'static str> {
13251 match value {
13252 "read" => Ok(Self::Read),
13253 "write" => Ok(Self::Write),
13254 _ => Err("invalid value"),
13255 }
13256 }
13257}
13258impl std::convert::TryFrom<&str> for InstallationPermissionsIssues {
13259 type Error = &'static str;
13260
13261 fn try_from(value: &str) -> Result<Self, &'static str> {
13262 value.parse()
13263 }
13264}
13265impl std::convert::TryFrom<&String> for InstallationPermissionsIssues {
13266 type Error = &'static str;
13267
13268 fn try_from(value: &String) -> Result<Self, &'static str> {
13269 value.parse()
13270 }
13271}
13272impl std::convert::TryFrom<String> for InstallationPermissionsIssues {
13273 type Error = &'static str;
13274
13275 fn try_from(value: String) -> Result<Self, &'static str> {
13276 value.parse()
13277 }
13278}
13279#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13282pub enum InstallationPermissionsMembers {
13283 #[serde(rename = "read")]
13284 Read,
13285 #[serde(rename = "write")]
13286 Write,
13287}
13288impl From<&InstallationPermissionsMembers> for InstallationPermissionsMembers {
13289 fn from(value: &InstallationPermissionsMembers) -> Self {
13290 value.clone()
13291 }
13292}
13293impl ToString for InstallationPermissionsMembers {
13294 fn to_string(&self) -> String {
13295 match *self {
13296 Self::Read => "read".to_string(),
13297 Self::Write => "write".to_string(),
13298 }
13299 }
13300}
13301impl std::str::FromStr for InstallationPermissionsMembers {
13302 type Err = &'static str;
13303
13304 fn from_str(value: &str) -> Result<Self, &'static str> {
13305 match value {
13306 "read" => Ok(Self::Read),
13307 "write" => Ok(Self::Write),
13308 _ => Err("invalid value"),
13309 }
13310 }
13311}
13312impl std::convert::TryFrom<&str> for InstallationPermissionsMembers {
13313 type Error = &'static str;
13314
13315 fn try_from(value: &str) -> Result<Self, &'static str> {
13316 value.parse()
13317 }
13318}
13319impl std::convert::TryFrom<&String> for InstallationPermissionsMembers {
13320 type Error = &'static str;
13321
13322 fn try_from(value: &String) -> Result<Self, &'static str> {
13323 value.parse()
13324 }
13325}
13326impl std::convert::TryFrom<String> for InstallationPermissionsMembers {
13327 type Error = &'static str;
13328
13329 fn try_from(value: String) -> Result<Self, &'static str> {
13330 value.parse()
13331 }
13332}
13333#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13334pub enum InstallationPermissionsMergeQueues {
13335 #[serde(rename = "read")]
13336 Read,
13337 #[serde(rename = "write")]
13338 Write,
13339}
13340impl From<&InstallationPermissionsMergeQueues> for InstallationPermissionsMergeQueues {
13341 fn from(value: &InstallationPermissionsMergeQueues) -> Self {
13342 value.clone()
13343 }
13344}
13345impl ToString for InstallationPermissionsMergeQueues {
13346 fn to_string(&self) -> String {
13347 match *self {
13348 Self::Read => "read".to_string(),
13349 Self::Write => "write".to_string(),
13350 }
13351 }
13352}
13353impl std::str::FromStr for InstallationPermissionsMergeQueues {
13354 type Err = &'static str;
13355
13356 fn from_str(value: &str) -> Result<Self, &'static str> {
13357 match value {
13358 "read" => Ok(Self::Read),
13359 "write" => Ok(Self::Write),
13360 _ => Err("invalid value"),
13361 }
13362 }
13363}
13364impl std::convert::TryFrom<&str> for InstallationPermissionsMergeQueues {
13365 type Error = &'static str;
13366
13367 fn try_from(value: &str) -> Result<Self, &'static str> {
13368 value.parse()
13369 }
13370}
13371impl std::convert::TryFrom<&String> for InstallationPermissionsMergeQueues {
13372 type Error = &'static str;
13373
13374 fn try_from(value: &String) -> Result<Self, &'static str> {
13375 value.parse()
13376 }
13377}
13378impl std::convert::TryFrom<String> for InstallationPermissionsMergeQueues {
13379 type Error = &'static str;
13380
13381 fn try_from(value: String) -> Result<Self, &'static str> {
13382 value.parse()
13383 }
13384}
13385#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13388pub enum InstallationPermissionsMetadata {
13389 #[serde(rename = "read")]
13390 Read,
13391 #[serde(rename = "write")]
13392 Write,
13393}
13394impl From<&InstallationPermissionsMetadata> for InstallationPermissionsMetadata {
13395 fn from(value: &InstallationPermissionsMetadata) -> Self {
13396 value.clone()
13397 }
13398}
13399impl ToString for InstallationPermissionsMetadata {
13400 fn to_string(&self) -> String {
13401 match *self {
13402 Self::Read => "read".to_string(),
13403 Self::Write => "write".to_string(),
13404 }
13405 }
13406}
13407impl std::str::FromStr for InstallationPermissionsMetadata {
13408 type Err = &'static str;
13409
13410 fn from_str(value: &str) -> Result<Self, &'static str> {
13411 match value {
13412 "read" => Ok(Self::Read),
13413 "write" => Ok(Self::Write),
13414 _ => Err("invalid value"),
13415 }
13416 }
13417}
13418impl std::convert::TryFrom<&str> for InstallationPermissionsMetadata {
13419 type Error = &'static str;
13420
13421 fn try_from(value: &str) -> Result<Self, &'static str> {
13422 value.parse()
13423 }
13424}
13425impl std::convert::TryFrom<&String> for InstallationPermissionsMetadata {
13426 type Error = &'static str;
13427
13428 fn try_from(value: &String) -> Result<Self, &'static str> {
13429 value.parse()
13430 }
13431}
13432impl std::convert::TryFrom<String> for InstallationPermissionsMetadata {
13433 type Error = &'static str;
13434
13435 fn try_from(value: String) -> Result<Self, &'static str> {
13436 value.parse()
13437 }
13438}
13439#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13442pub enum InstallationPermissionsOrganizationAdministration {
13443 #[serde(rename = "read")]
13444 Read,
13445 #[serde(rename = "write")]
13446 Write,
13447}
13448impl From<&InstallationPermissionsOrganizationAdministration>
13449 for InstallationPermissionsOrganizationAdministration
13450{
13451 fn from(value: &InstallationPermissionsOrganizationAdministration) -> Self {
13452 value.clone()
13453 }
13454}
13455impl ToString for InstallationPermissionsOrganizationAdministration {
13456 fn to_string(&self) -> String {
13457 match *self {
13458 Self::Read => "read".to_string(),
13459 Self::Write => "write".to_string(),
13460 }
13461 }
13462}
13463impl std::str::FromStr for InstallationPermissionsOrganizationAdministration {
13464 type Err = &'static str;
13465
13466 fn from_str(value: &str) -> Result<Self, &'static str> {
13467 match value {
13468 "read" => Ok(Self::Read),
13469 "write" => Ok(Self::Write),
13470 _ => Err("invalid value"),
13471 }
13472 }
13473}
13474impl std::convert::TryFrom<&str> for InstallationPermissionsOrganizationAdministration {
13475 type Error = &'static str;
13476
13477 fn try_from(value: &str) -> Result<Self, &'static str> {
13478 value.parse()
13479 }
13480}
13481impl std::convert::TryFrom<&String> for InstallationPermissionsOrganizationAdministration {
13482 type Error = &'static str;
13483
13484 fn try_from(value: &String) -> Result<Self, &'static str> {
13485 value.parse()
13486 }
13487}
13488impl std::convert::TryFrom<String> for InstallationPermissionsOrganizationAdministration {
13489 type Error = &'static str;
13490
13491 fn try_from(value: String) -> Result<Self, &'static str> {
13492 value.parse()
13493 }
13494}
13495#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13496pub enum InstallationPermissionsOrganizationEvents {
13497 #[serde(rename = "read")]
13498 Read,
13499 #[serde(rename = "write")]
13500 Write,
13501}
13502impl From<&InstallationPermissionsOrganizationEvents>
13503 for InstallationPermissionsOrganizationEvents
13504{
13505 fn from(value: &InstallationPermissionsOrganizationEvents) -> Self {
13506 value.clone()
13507 }
13508}
13509impl ToString for InstallationPermissionsOrganizationEvents {
13510 fn to_string(&self) -> String {
13511 match *self {
13512 Self::Read => "read".to_string(),
13513 Self::Write => "write".to_string(),
13514 }
13515 }
13516}
13517impl std::str::FromStr for InstallationPermissionsOrganizationEvents {
13518 type Err = &'static str;
13519
13520 fn from_str(value: &str) -> Result<Self, &'static str> {
13521 match value {
13522 "read" => Ok(Self::Read),
13523 "write" => Ok(Self::Write),
13524 _ => Err("invalid value"),
13525 }
13526 }
13527}
13528impl std::convert::TryFrom<&str> for InstallationPermissionsOrganizationEvents {
13529 type Error = &'static str;
13530
13531 fn try_from(value: &str) -> Result<Self, &'static str> {
13532 value.parse()
13533 }
13534}
13535impl std::convert::TryFrom<&String> for InstallationPermissionsOrganizationEvents {
13536 type Error = &'static str;
13537
13538 fn try_from(value: &String) -> Result<Self, &'static str> {
13539 value.parse()
13540 }
13541}
13542impl std::convert::TryFrom<String> for InstallationPermissionsOrganizationEvents {
13543 type Error = &'static str;
13544
13545 fn try_from(value: String) -> Result<Self, &'static str> {
13546 value.parse()
13547 }
13548}
13549#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13552pub enum InstallationPermissionsOrganizationHooks {
13553 #[serde(rename = "read")]
13554 Read,
13555 #[serde(rename = "write")]
13556 Write,
13557}
13558impl From<&InstallationPermissionsOrganizationHooks> for InstallationPermissionsOrganizationHooks {
13559 fn from(value: &InstallationPermissionsOrganizationHooks) -> Self {
13560 value.clone()
13561 }
13562}
13563impl ToString for InstallationPermissionsOrganizationHooks {
13564 fn to_string(&self) -> String {
13565 match *self {
13566 Self::Read => "read".to_string(),
13567 Self::Write => "write".to_string(),
13568 }
13569 }
13570}
13571impl std::str::FromStr for InstallationPermissionsOrganizationHooks {
13572 type Err = &'static str;
13573
13574 fn from_str(value: &str) -> Result<Self, &'static str> {
13575 match value {
13576 "read" => Ok(Self::Read),
13577 "write" => Ok(Self::Write),
13578 _ => Err("invalid value"),
13579 }
13580 }
13581}
13582impl std::convert::TryFrom<&str> for InstallationPermissionsOrganizationHooks {
13583 type Error = &'static str;
13584
13585 fn try_from(value: &str) -> Result<Self, &'static str> {
13586 value.parse()
13587 }
13588}
13589impl std::convert::TryFrom<&String> for InstallationPermissionsOrganizationHooks {
13590 type Error = &'static str;
13591
13592 fn try_from(value: &String) -> Result<Self, &'static str> {
13593 value.parse()
13594 }
13595}
13596impl std::convert::TryFrom<String> for InstallationPermissionsOrganizationHooks {
13597 type Error = &'static str;
13598
13599 fn try_from(value: String) -> Result<Self, &'static str> {
13600 value.parse()
13601 }
13602}
13603#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13606pub enum InstallationPermissionsOrganizationPackages {
13607 #[serde(rename = "read")]
13608 Read,
13609 #[serde(rename = "write")]
13610 Write,
13611}
13612impl From<&InstallationPermissionsOrganizationPackages>
13613 for InstallationPermissionsOrganizationPackages
13614{
13615 fn from(value: &InstallationPermissionsOrganizationPackages) -> Self {
13616 value.clone()
13617 }
13618}
13619impl ToString for InstallationPermissionsOrganizationPackages {
13620 fn to_string(&self) -> String {
13621 match *self {
13622 Self::Read => "read".to_string(),
13623 Self::Write => "write".to_string(),
13624 }
13625 }
13626}
13627impl std::str::FromStr for InstallationPermissionsOrganizationPackages {
13628 type Err = &'static str;
13629
13630 fn from_str(value: &str) -> Result<Self, &'static str> {
13631 match value {
13632 "read" => Ok(Self::Read),
13633 "write" => Ok(Self::Write),
13634 _ => Err("invalid value"),
13635 }
13636 }
13637}
13638impl std::convert::TryFrom<&str> for InstallationPermissionsOrganizationPackages {
13639 type Error = &'static str;
13640
13641 fn try_from(value: &str) -> Result<Self, &'static str> {
13642 value.parse()
13643 }
13644}
13645impl std::convert::TryFrom<&String> for InstallationPermissionsOrganizationPackages {
13646 type Error = &'static str;
13647
13648 fn try_from(value: &String) -> Result<Self, &'static str> {
13649 value.parse()
13650 }
13651}
13652impl std::convert::TryFrom<String> for InstallationPermissionsOrganizationPackages {
13653 type Error = &'static str;
13654
13655 fn try_from(value: String) -> Result<Self, &'static str> {
13656 value.parse()
13657 }
13658}
13659#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13662pub enum InstallationPermissionsOrganizationPlan {
13663 #[serde(rename = "read")]
13664 Read,
13665 #[serde(rename = "write")]
13666 Write,
13667}
13668impl From<&InstallationPermissionsOrganizationPlan> for InstallationPermissionsOrganizationPlan {
13669 fn from(value: &InstallationPermissionsOrganizationPlan) -> Self {
13670 value.clone()
13671 }
13672}
13673impl ToString for InstallationPermissionsOrganizationPlan {
13674 fn to_string(&self) -> String {
13675 match *self {
13676 Self::Read => "read".to_string(),
13677 Self::Write => "write".to_string(),
13678 }
13679 }
13680}
13681impl std::str::FromStr for InstallationPermissionsOrganizationPlan {
13682 type Err = &'static str;
13683
13684 fn from_str(value: &str) -> Result<Self, &'static str> {
13685 match value {
13686 "read" => Ok(Self::Read),
13687 "write" => Ok(Self::Write),
13688 _ => Err("invalid value"),
13689 }
13690 }
13691}
13692impl std::convert::TryFrom<&str> for InstallationPermissionsOrganizationPlan {
13693 type Error = &'static str;
13694
13695 fn try_from(value: &str) -> Result<Self, &'static str> {
13696 value.parse()
13697 }
13698}
13699impl std::convert::TryFrom<&String> for InstallationPermissionsOrganizationPlan {
13700 type Error = &'static str;
13701
13702 fn try_from(value: &String) -> Result<Self, &'static str> {
13703 value.parse()
13704 }
13705}
13706impl std::convert::TryFrom<String> for InstallationPermissionsOrganizationPlan {
13707 type Error = &'static str;
13708
13709 fn try_from(value: String) -> Result<Self, &'static str> {
13710 value.parse()
13711 }
13712}
13713#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13716pub enum InstallationPermissionsOrganizationProjects {
13717 #[serde(rename = "read")]
13718 Read,
13719 #[serde(rename = "write")]
13720 Write,
13721}
13722impl From<&InstallationPermissionsOrganizationProjects>
13723 for InstallationPermissionsOrganizationProjects
13724{
13725 fn from(value: &InstallationPermissionsOrganizationProjects) -> Self {
13726 value.clone()
13727 }
13728}
13729impl ToString for InstallationPermissionsOrganizationProjects {
13730 fn to_string(&self) -> String {
13731 match *self {
13732 Self::Read => "read".to_string(),
13733 Self::Write => "write".to_string(),
13734 }
13735 }
13736}
13737impl std::str::FromStr for InstallationPermissionsOrganizationProjects {
13738 type Err = &'static str;
13739
13740 fn from_str(value: &str) -> Result<Self, &'static str> {
13741 match value {
13742 "read" => Ok(Self::Read),
13743 "write" => Ok(Self::Write),
13744 _ => Err("invalid value"),
13745 }
13746 }
13747}
13748impl std::convert::TryFrom<&str> for InstallationPermissionsOrganizationProjects {
13749 type Error = &'static str;
13750
13751 fn try_from(value: &str) -> Result<Self, &'static str> {
13752 value.parse()
13753 }
13754}
13755impl std::convert::TryFrom<&String> for InstallationPermissionsOrganizationProjects {
13756 type Error = &'static str;
13757
13758 fn try_from(value: &String) -> Result<Self, &'static str> {
13759 value.parse()
13760 }
13761}
13762impl std::convert::TryFrom<String> for InstallationPermissionsOrganizationProjects {
13763 type Error = &'static str;
13764
13765 fn try_from(value: String) -> Result<Self, &'static str> {
13766 value.parse()
13767 }
13768}
13769#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13772pub enum InstallationPermissionsOrganizationSecrets {
13773 #[serde(rename = "read")]
13774 Read,
13775 #[serde(rename = "write")]
13776 Write,
13777}
13778impl From<&InstallationPermissionsOrganizationSecrets>
13779 for InstallationPermissionsOrganizationSecrets
13780{
13781 fn from(value: &InstallationPermissionsOrganizationSecrets) -> Self {
13782 value.clone()
13783 }
13784}
13785impl ToString for InstallationPermissionsOrganizationSecrets {
13786 fn to_string(&self) -> String {
13787 match *self {
13788 Self::Read => "read".to_string(),
13789 Self::Write => "write".to_string(),
13790 }
13791 }
13792}
13793impl std::str::FromStr for InstallationPermissionsOrganizationSecrets {
13794 type Err = &'static str;
13795
13796 fn from_str(value: &str) -> Result<Self, &'static str> {
13797 match value {
13798 "read" => Ok(Self::Read),
13799 "write" => Ok(Self::Write),
13800 _ => Err("invalid value"),
13801 }
13802 }
13803}
13804impl std::convert::TryFrom<&str> for InstallationPermissionsOrganizationSecrets {
13805 type Error = &'static str;
13806
13807 fn try_from(value: &str) -> Result<Self, &'static str> {
13808 value.parse()
13809 }
13810}
13811impl std::convert::TryFrom<&String> for InstallationPermissionsOrganizationSecrets {
13812 type Error = &'static str;
13813
13814 fn try_from(value: &String) -> Result<Self, &'static str> {
13815 value.parse()
13816 }
13817}
13818impl std::convert::TryFrom<String> for InstallationPermissionsOrganizationSecrets {
13819 type Error = &'static str;
13820
13821 fn try_from(value: String) -> Result<Self, &'static str> {
13822 value.parse()
13823 }
13824}
13825#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13828pub enum InstallationPermissionsOrganizationSelfHostedRunners {
13829 #[serde(rename = "read")]
13830 Read,
13831 #[serde(rename = "write")]
13832 Write,
13833}
13834impl From<&InstallationPermissionsOrganizationSelfHostedRunners>
13835 for InstallationPermissionsOrganizationSelfHostedRunners
13836{
13837 fn from(value: &InstallationPermissionsOrganizationSelfHostedRunners) -> Self {
13838 value.clone()
13839 }
13840}
13841impl ToString for InstallationPermissionsOrganizationSelfHostedRunners {
13842 fn to_string(&self) -> String {
13843 match *self {
13844 Self::Read => "read".to_string(),
13845 Self::Write => "write".to_string(),
13846 }
13847 }
13848}
13849impl std::str::FromStr for InstallationPermissionsOrganizationSelfHostedRunners {
13850 type Err = &'static str;
13851
13852 fn from_str(value: &str) -> Result<Self, &'static str> {
13853 match value {
13854 "read" => Ok(Self::Read),
13855 "write" => Ok(Self::Write),
13856 _ => Err("invalid value"),
13857 }
13858 }
13859}
13860impl std::convert::TryFrom<&str> for InstallationPermissionsOrganizationSelfHostedRunners {
13861 type Error = &'static str;
13862
13863 fn try_from(value: &str) -> Result<Self, &'static str> {
13864 value.parse()
13865 }
13866}
13867impl std::convert::TryFrom<&String> for InstallationPermissionsOrganizationSelfHostedRunners {
13868 type Error = &'static str;
13869
13870 fn try_from(value: &String) -> Result<Self, &'static str> {
13871 value.parse()
13872 }
13873}
13874impl std::convert::TryFrom<String> for InstallationPermissionsOrganizationSelfHostedRunners {
13875 type Error = &'static str;
13876
13877 fn try_from(value: String) -> Result<Self, &'static str> {
13878 value.parse()
13879 }
13880}
13881#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13884pub enum InstallationPermissionsOrganizationUserBlocking {
13885 #[serde(rename = "read")]
13886 Read,
13887 #[serde(rename = "write")]
13888 Write,
13889}
13890impl From<&InstallationPermissionsOrganizationUserBlocking>
13891 for InstallationPermissionsOrganizationUserBlocking
13892{
13893 fn from(value: &InstallationPermissionsOrganizationUserBlocking) -> Self {
13894 value.clone()
13895 }
13896}
13897impl ToString for InstallationPermissionsOrganizationUserBlocking {
13898 fn to_string(&self) -> String {
13899 match *self {
13900 Self::Read => "read".to_string(),
13901 Self::Write => "write".to_string(),
13902 }
13903 }
13904}
13905impl std::str::FromStr for InstallationPermissionsOrganizationUserBlocking {
13906 type Err = &'static str;
13907
13908 fn from_str(value: &str) -> Result<Self, &'static str> {
13909 match value {
13910 "read" => Ok(Self::Read),
13911 "write" => Ok(Self::Write),
13912 _ => Err("invalid value"),
13913 }
13914 }
13915}
13916impl std::convert::TryFrom<&str> for InstallationPermissionsOrganizationUserBlocking {
13917 type Error = &'static str;
13918
13919 fn try_from(value: &str) -> Result<Self, &'static str> {
13920 value.parse()
13921 }
13922}
13923impl std::convert::TryFrom<&String> for InstallationPermissionsOrganizationUserBlocking {
13924 type Error = &'static str;
13925
13926 fn try_from(value: &String) -> Result<Self, &'static str> {
13927 value.parse()
13928 }
13929}
13930impl std::convert::TryFrom<String> for InstallationPermissionsOrganizationUserBlocking {
13931 type Error = &'static str;
13932
13933 fn try_from(value: String) -> Result<Self, &'static str> {
13934 value.parse()
13935 }
13936}
13937#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13940pub enum InstallationPermissionsPackages {
13941 #[serde(rename = "read")]
13942 Read,
13943 #[serde(rename = "write")]
13944 Write,
13945}
13946impl From<&InstallationPermissionsPackages> for InstallationPermissionsPackages {
13947 fn from(value: &InstallationPermissionsPackages) -> Self {
13948 value.clone()
13949 }
13950}
13951impl ToString for InstallationPermissionsPackages {
13952 fn to_string(&self) -> String {
13953 match *self {
13954 Self::Read => "read".to_string(),
13955 Self::Write => "write".to_string(),
13956 }
13957 }
13958}
13959impl std::str::FromStr for InstallationPermissionsPackages {
13960 type Err = &'static str;
13961
13962 fn from_str(value: &str) -> Result<Self, &'static str> {
13963 match value {
13964 "read" => Ok(Self::Read),
13965 "write" => Ok(Self::Write),
13966 _ => Err("invalid value"),
13967 }
13968 }
13969}
13970impl std::convert::TryFrom<&str> for InstallationPermissionsPackages {
13971 type Error = &'static str;
13972
13973 fn try_from(value: &str) -> Result<Self, &'static str> {
13974 value.parse()
13975 }
13976}
13977impl std::convert::TryFrom<&String> for InstallationPermissionsPackages {
13978 type Error = &'static str;
13979
13980 fn try_from(value: &String) -> Result<Self, &'static str> {
13981 value.parse()
13982 }
13983}
13984impl std::convert::TryFrom<String> for InstallationPermissionsPackages {
13985 type Error = &'static str;
13986
13987 fn try_from(value: String) -> Result<Self, &'static str> {
13988 value.parse()
13989 }
13990}
13991#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
13994pub enum InstallationPermissionsPages {
13995 #[serde(rename = "read")]
13996 Read,
13997 #[serde(rename = "write")]
13998 Write,
13999}
14000impl From<&InstallationPermissionsPages> for InstallationPermissionsPages {
14001 fn from(value: &InstallationPermissionsPages) -> Self {
14002 value.clone()
14003 }
14004}
14005impl ToString for InstallationPermissionsPages {
14006 fn to_string(&self) -> String {
14007 match *self {
14008 Self::Read => "read".to_string(),
14009 Self::Write => "write".to_string(),
14010 }
14011 }
14012}
14013impl std::str::FromStr for InstallationPermissionsPages {
14014 type Err = &'static str;
14015
14016 fn from_str(value: &str) -> Result<Self, &'static str> {
14017 match value {
14018 "read" => Ok(Self::Read),
14019 "write" => Ok(Self::Write),
14020 _ => Err("invalid value"),
14021 }
14022 }
14023}
14024impl std::convert::TryFrom<&str> for InstallationPermissionsPages {
14025 type Error = &'static str;
14026
14027 fn try_from(value: &str) -> Result<Self, &'static str> {
14028 value.parse()
14029 }
14030}
14031impl std::convert::TryFrom<&String> for InstallationPermissionsPages {
14032 type Error = &'static str;
14033
14034 fn try_from(value: &String) -> Result<Self, &'static str> {
14035 value.parse()
14036 }
14037}
14038impl std::convert::TryFrom<String> for InstallationPermissionsPages {
14039 type Error = &'static str;
14040
14041 fn try_from(value: String) -> Result<Self, &'static str> {
14042 value.parse()
14043 }
14044}
14045#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14048pub enum InstallationPermissionsPullRequests {
14049 #[serde(rename = "read")]
14050 Read,
14051 #[serde(rename = "write")]
14052 Write,
14053}
14054impl From<&InstallationPermissionsPullRequests> for InstallationPermissionsPullRequests {
14055 fn from(value: &InstallationPermissionsPullRequests) -> Self {
14056 value.clone()
14057 }
14058}
14059impl ToString for InstallationPermissionsPullRequests {
14060 fn to_string(&self) -> String {
14061 match *self {
14062 Self::Read => "read".to_string(),
14063 Self::Write => "write".to_string(),
14064 }
14065 }
14066}
14067impl std::str::FromStr for InstallationPermissionsPullRequests {
14068 type Err = &'static str;
14069
14070 fn from_str(value: &str) -> Result<Self, &'static str> {
14071 match value {
14072 "read" => Ok(Self::Read),
14073 "write" => Ok(Self::Write),
14074 _ => Err("invalid value"),
14075 }
14076 }
14077}
14078impl std::convert::TryFrom<&str> for InstallationPermissionsPullRequests {
14079 type Error = &'static str;
14080
14081 fn try_from(value: &str) -> Result<Self, &'static str> {
14082 value.parse()
14083 }
14084}
14085impl std::convert::TryFrom<&String> for InstallationPermissionsPullRequests {
14086 type Error = &'static str;
14087
14088 fn try_from(value: &String) -> Result<Self, &'static str> {
14089 value.parse()
14090 }
14091}
14092impl std::convert::TryFrom<String> for InstallationPermissionsPullRequests {
14093 type Error = &'static str;
14094
14095 fn try_from(value: String) -> Result<Self, &'static str> {
14096 value.parse()
14097 }
14098}
14099#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14102pub enum InstallationPermissionsRepositoryHooks {
14103 #[serde(rename = "read")]
14104 Read,
14105 #[serde(rename = "write")]
14106 Write,
14107}
14108impl From<&InstallationPermissionsRepositoryHooks> for InstallationPermissionsRepositoryHooks {
14109 fn from(value: &InstallationPermissionsRepositoryHooks) -> Self {
14110 value.clone()
14111 }
14112}
14113impl ToString for InstallationPermissionsRepositoryHooks {
14114 fn to_string(&self) -> String {
14115 match *self {
14116 Self::Read => "read".to_string(),
14117 Self::Write => "write".to_string(),
14118 }
14119 }
14120}
14121impl std::str::FromStr for InstallationPermissionsRepositoryHooks {
14122 type Err = &'static str;
14123
14124 fn from_str(value: &str) -> Result<Self, &'static str> {
14125 match value {
14126 "read" => Ok(Self::Read),
14127 "write" => Ok(Self::Write),
14128 _ => Err("invalid value"),
14129 }
14130 }
14131}
14132impl std::convert::TryFrom<&str> for InstallationPermissionsRepositoryHooks {
14133 type Error = &'static str;
14134
14135 fn try_from(value: &str) -> Result<Self, &'static str> {
14136 value.parse()
14137 }
14138}
14139impl std::convert::TryFrom<&String> for InstallationPermissionsRepositoryHooks {
14140 type Error = &'static str;
14141
14142 fn try_from(value: &String) -> Result<Self, &'static str> {
14143 value.parse()
14144 }
14145}
14146impl std::convert::TryFrom<String> for InstallationPermissionsRepositoryHooks {
14147 type Error = &'static str;
14148
14149 fn try_from(value: String) -> Result<Self, &'static str> {
14150 value.parse()
14151 }
14152}
14153#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14156pub enum InstallationPermissionsRepositoryProjects {
14157 #[serde(rename = "read")]
14158 Read,
14159 #[serde(rename = "write")]
14160 Write,
14161}
14162impl From<&InstallationPermissionsRepositoryProjects>
14163 for InstallationPermissionsRepositoryProjects
14164{
14165 fn from(value: &InstallationPermissionsRepositoryProjects) -> Self {
14166 value.clone()
14167 }
14168}
14169impl ToString for InstallationPermissionsRepositoryProjects {
14170 fn to_string(&self) -> String {
14171 match *self {
14172 Self::Read => "read".to_string(),
14173 Self::Write => "write".to_string(),
14174 }
14175 }
14176}
14177impl std::str::FromStr for InstallationPermissionsRepositoryProjects {
14178 type Err = &'static str;
14179
14180 fn from_str(value: &str) -> Result<Self, &'static str> {
14181 match value {
14182 "read" => Ok(Self::Read),
14183 "write" => Ok(Self::Write),
14184 _ => Err("invalid value"),
14185 }
14186 }
14187}
14188impl std::convert::TryFrom<&str> for InstallationPermissionsRepositoryProjects {
14189 type Error = &'static str;
14190
14191 fn try_from(value: &str) -> Result<Self, &'static str> {
14192 value.parse()
14193 }
14194}
14195impl std::convert::TryFrom<&String> for InstallationPermissionsRepositoryProjects {
14196 type Error = &'static str;
14197
14198 fn try_from(value: &String) -> Result<Self, &'static str> {
14199 value.parse()
14200 }
14201}
14202impl std::convert::TryFrom<String> for InstallationPermissionsRepositoryProjects {
14203 type Error = &'static str;
14204
14205 fn try_from(value: String) -> Result<Self, &'static str> {
14206 value.parse()
14207 }
14208}
14209#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14212pub enum InstallationPermissionsSecretScanningAlerts {
14213 #[serde(rename = "read")]
14214 Read,
14215 #[serde(rename = "write")]
14216 Write,
14217}
14218impl From<&InstallationPermissionsSecretScanningAlerts>
14219 for InstallationPermissionsSecretScanningAlerts
14220{
14221 fn from(value: &InstallationPermissionsSecretScanningAlerts) -> Self {
14222 value.clone()
14223 }
14224}
14225impl ToString for InstallationPermissionsSecretScanningAlerts {
14226 fn to_string(&self) -> String {
14227 match *self {
14228 Self::Read => "read".to_string(),
14229 Self::Write => "write".to_string(),
14230 }
14231 }
14232}
14233impl std::str::FromStr for InstallationPermissionsSecretScanningAlerts {
14234 type Err = &'static str;
14235
14236 fn from_str(value: &str) -> Result<Self, &'static str> {
14237 match value {
14238 "read" => Ok(Self::Read),
14239 "write" => Ok(Self::Write),
14240 _ => Err("invalid value"),
14241 }
14242 }
14243}
14244impl std::convert::TryFrom<&str> for InstallationPermissionsSecretScanningAlerts {
14245 type Error = &'static str;
14246
14247 fn try_from(value: &str) -> Result<Self, &'static str> {
14248 value.parse()
14249 }
14250}
14251impl std::convert::TryFrom<&String> for InstallationPermissionsSecretScanningAlerts {
14252 type Error = &'static str;
14253
14254 fn try_from(value: &String) -> Result<Self, &'static str> {
14255 value.parse()
14256 }
14257}
14258impl std::convert::TryFrom<String> for InstallationPermissionsSecretScanningAlerts {
14259 type Error = &'static str;
14260
14261 fn try_from(value: String) -> Result<Self, &'static str> {
14262 value.parse()
14263 }
14264}
14265#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14268pub enum InstallationPermissionsSecrets {
14269 #[serde(rename = "read")]
14270 Read,
14271 #[serde(rename = "write")]
14272 Write,
14273}
14274impl From<&InstallationPermissionsSecrets> for InstallationPermissionsSecrets {
14275 fn from(value: &InstallationPermissionsSecrets) -> Self {
14276 value.clone()
14277 }
14278}
14279impl ToString for InstallationPermissionsSecrets {
14280 fn to_string(&self) -> String {
14281 match *self {
14282 Self::Read => "read".to_string(),
14283 Self::Write => "write".to_string(),
14284 }
14285 }
14286}
14287impl std::str::FromStr for InstallationPermissionsSecrets {
14288 type Err = &'static str;
14289
14290 fn from_str(value: &str) -> Result<Self, &'static str> {
14291 match value {
14292 "read" => Ok(Self::Read),
14293 "write" => Ok(Self::Write),
14294 _ => Err("invalid value"),
14295 }
14296 }
14297}
14298impl std::convert::TryFrom<&str> for InstallationPermissionsSecrets {
14299 type Error = &'static str;
14300
14301 fn try_from(value: &str) -> Result<Self, &'static str> {
14302 value.parse()
14303 }
14304}
14305impl std::convert::TryFrom<&String> for InstallationPermissionsSecrets {
14306 type Error = &'static str;
14307
14308 fn try_from(value: &String) -> Result<Self, &'static str> {
14309 value.parse()
14310 }
14311}
14312impl std::convert::TryFrom<String> for InstallationPermissionsSecrets {
14313 type Error = &'static str;
14314
14315 fn try_from(value: String) -> Result<Self, &'static str> {
14316 value.parse()
14317 }
14318}
14319#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14322pub enum InstallationPermissionsSecurityEvents {
14323 #[serde(rename = "read")]
14324 Read,
14325 #[serde(rename = "write")]
14326 Write,
14327}
14328impl From<&InstallationPermissionsSecurityEvents> for InstallationPermissionsSecurityEvents {
14329 fn from(value: &InstallationPermissionsSecurityEvents) -> Self {
14330 value.clone()
14331 }
14332}
14333impl ToString for InstallationPermissionsSecurityEvents {
14334 fn to_string(&self) -> String {
14335 match *self {
14336 Self::Read => "read".to_string(),
14337 Self::Write => "write".to_string(),
14338 }
14339 }
14340}
14341impl std::str::FromStr for InstallationPermissionsSecurityEvents {
14342 type Err = &'static str;
14343
14344 fn from_str(value: &str) -> Result<Self, &'static str> {
14345 match value {
14346 "read" => Ok(Self::Read),
14347 "write" => Ok(Self::Write),
14348 _ => Err("invalid value"),
14349 }
14350 }
14351}
14352impl std::convert::TryFrom<&str> for InstallationPermissionsSecurityEvents {
14353 type Error = &'static str;
14354
14355 fn try_from(value: &str) -> Result<Self, &'static str> {
14356 value.parse()
14357 }
14358}
14359impl std::convert::TryFrom<&String> for InstallationPermissionsSecurityEvents {
14360 type Error = &'static str;
14361
14362 fn try_from(value: &String) -> Result<Self, &'static str> {
14363 value.parse()
14364 }
14365}
14366impl std::convert::TryFrom<String> for InstallationPermissionsSecurityEvents {
14367 type Error = &'static str;
14368
14369 fn try_from(value: String) -> Result<Self, &'static str> {
14370 value.parse()
14371 }
14372}
14373#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14374pub enum InstallationPermissionsSecurityScanningAlert {
14375 #[serde(rename = "read")]
14376 Read,
14377 #[serde(rename = "write")]
14378 Write,
14379}
14380impl From<&InstallationPermissionsSecurityScanningAlert>
14381 for InstallationPermissionsSecurityScanningAlert
14382{
14383 fn from(value: &InstallationPermissionsSecurityScanningAlert) -> Self {
14384 value.clone()
14385 }
14386}
14387impl ToString for InstallationPermissionsSecurityScanningAlert {
14388 fn to_string(&self) -> String {
14389 match *self {
14390 Self::Read => "read".to_string(),
14391 Self::Write => "write".to_string(),
14392 }
14393 }
14394}
14395impl std::str::FromStr for InstallationPermissionsSecurityScanningAlert {
14396 type Err = &'static str;
14397
14398 fn from_str(value: &str) -> Result<Self, &'static str> {
14399 match value {
14400 "read" => Ok(Self::Read),
14401 "write" => Ok(Self::Write),
14402 _ => Err("invalid value"),
14403 }
14404 }
14405}
14406impl std::convert::TryFrom<&str> for InstallationPermissionsSecurityScanningAlert {
14407 type Error = &'static str;
14408
14409 fn try_from(value: &str) -> Result<Self, &'static str> {
14410 value.parse()
14411 }
14412}
14413impl std::convert::TryFrom<&String> for InstallationPermissionsSecurityScanningAlert {
14414 type Error = &'static str;
14415
14416 fn try_from(value: &String) -> Result<Self, &'static str> {
14417 value.parse()
14418 }
14419}
14420impl std::convert::TryFrom<String> for InstallationPermissionsSecurityScanningAlert {
14421 type Error = &'static str;
14422
14423 fn try_from(value: String) -> Result<Self, &'static str> {
14424 value.parse()
14425 }
14426}
14427#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14430pub enum InstallationPermissionsSingleFile {
14431 #[serde(rename = "read")]
14432 Read,
14433 #[serde(rename = "write")]
14434 Write,
14435}
14436impl From<&InstallationPermissionsSingleFile> for InstallationPermissionsSingleFile {
14437 fn from(value: &InstallationPermissionsSingleFile) -> Self {
14438 value.clone()
14439 }
14440}
14441impl ToString for InstallationPermissionsSingleFile {
14442 fn to_string(&self) -> String {
14443 match *self {
14444 Self::Read => "read".to_string(),
14445 Self::Write => "write".to_string(),
14446 }
14447 }
14448}
14449impl std::str::FromStr for InstallationPermissionsSingleFile {
14450 type Err = &'static str;
14451
14452 fn from_str(value: &str) -> Result<Self, &'static str> {
14453 match value {
14454 "read" => Ok(Self::Read),
14455 "write" => Ok(Self::Write),
14456 _ => Err("invalid value"),
14457 }
14458 }
14459}
14460impl std::convert::TryFrom<&str> for InstallationPermissionsSingleFile {
14461 type Error = &'static str;
14462
14463 fn try_from(value: &str) -> Result<Self, &'static str> {
14464 value.parse()
14465 }
14466}
14467impl std::convert::TryFrom<&String> for InstallationPermissionsSingleFile {
14468 type Error = &'static str;
14469
14470 fn try_from(value: &String) -> Result<Self, &'static str> {
14471 value.parse()
14472 }
14473}
14474impl std::convert::TryFrom<String> for InstallationPermissionsSingleFile {
14475 type Error = &'static str;
14476
14477 fn try_from(value: String) -> Result<Self, &'static str> {
14478 value.parse()
14479 }
14480}
14481#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14483pub enum InstallationPermissionsStatuses {
14484 #[serde(rename = "read")]
14485 Read,
14486 #[serde(rename = "write")]
14487 Write,
14488}
14489impl From<&InstallationPermissionsStatuses> for InstallationPermissionsStatuses {
14490 fn from(value: &InstallationPermissionsStatuses) -> Self {
14491 value.clone()
14492 }
14493}
14494impl ToString for InstallationPermissionsStatuses {
14495 fn to_string(&self) -> String {
14496 match *self {
14497 Self::Read => "read".to_string(),
14498 Self::Write => "write".to_string(),
14499 }
14500 }
14501}
14502impl std::str::FromStr for InstallationPermissionsStatuses {
14503 type Err = &'static str;
14504
14505 fn from_str(value: &str) -> Result<Self, &'static str> {
14506 match value {
14507 "read" => Ok(Self::Read),
14508 "write" => Ok(Self::Write),
14509 _ => Err("invalid value"),
14510 }
14511 }
14512}
14513impl std::convert::TryFrom<&str> for InstallationPermissionsStatuses {
14514 type Error = &'static str;
14515
14516 fn try_from(value: &str) -> Result<Self, &'static str> {
14517 value.parse()
14518 }
14519}
14520impl std::convert::TryFrom<&String> for InstallationPermissionsStatuses {
14521 type Error = &'static str;
14522
14523 fn try_from(value: &String) -> Result<Self, &'static str> {
14524 value.parse()
14525 }
14526}
14527impl std::convert::TryFrom<String> for InstallationPermissionsStatuses {
14528 type Error = &'static str;
14529
14530 fn try_from(value: String) -> Result<Self, &'static str> {
14531 value.parse()
14532 }
14533}
14534#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14537pub enum InstallationPermissionsTeamDiscussions {
14538 #[serde(rename = "read")]
14539 Read,
14540 #[serde(rename = "write")]
14541 Write,
14542}
14543impl From<&InstallationPermissionsTeamDiscussions> for InstallationPermissionsTeamDiscussions {
14544 fn from(value: &InstallationPermissionsTeamDiscussions) -> Self {
14545 value.clone()
14546 }
14547}
14548impl ToString for InstallationPermissionsTeamDiscussions {
14549 fn to_string(&self) -> String {
14550 match *self {
14551 Self::Read => "read".to_string(),
14552 Self::Write => "write".to_string(),
14553 }
14554 }
14555}
14556impl std::str::FromStr for InstallationPermissionsTeamDiscussions {
14557 type Err = &'static str;
14558
14559 fn from_str(value: &str) -> Result<Self, &'static str> {
14560 match value {
14561 "read" => Ok(Self::Read),
14562 "write" => Ok(Self::Write),
14563 _ => Err("invalid value"),
14564 }
14565 }
14566}
14567impl std::convert::TryFrom<&str> for InstallationPermissionsTeamDiscussions {
14568 type Error = &'static str;
14569
14570 fn try_from(value: &str) -> Result<Self, &'static str> {
14571 value.parse()
14572 }
14573}
14574impl std::convert::TryFrom<&String> for InstallationPermissionsTeamDiscussions {
14575 type Error = &'static str;
14576
14577 fn try_from(value: &String) -> Result<Self, &'static str> {
14578 value.parse()
14579 }
14580}
14581impl std::convert::TryFrom<String> for InstallationPermissionsTeamDiscussions {
14582 type Error = &'static str;
14583
14584 fn try_from(value: String) -> Result<Self, &'static str> {
14585 value.parse()
14586 }
14587}
14588#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14591pub enum InstallationPermissionsVulnerabilityAlerts {
14592 #[serde(rename = "read")]
14593 Read,
14594 #[serde(rename = "write")]
14595 Write,
14596}
14597impl From<&InstallationPermissionsVulnerabilityAlerts>
14598 for InstallationPermissionsVulnerabilityAlerts
14599{
14600 fn from(value: &InstallationPermissionsVulnerabilityAlerts) -> Self {
14601 value.clone()
14602 }
14603}
14604impl ToString for InstallationPermissionsVulnerabilityAlerts {
14605 fn to_string(&self) -> String {
14606 match *self {
14607 Self::Read => "read".to_string(),
14608 Self::Write => "write".to_string(),
14609 }
14610 }
14611}
14612impl std::str::FromStr for InstallationPermissionsVulnerabilityAlerts {
14613 type Err = &'static str;
14614
14615 fn from_str(value: &str) -> Result<Self, &'static str> {
14616 match value {
14617 "read" => Ok(Self::Read),
14618 "write" => Ok(Self::Write),
14619 _ => Err("invalid value"),
14620 }
14621 }
14622}
14623impl std::convert::TryFrom<&str> for InstallationPermissionsVulnerabilityAlerts {
14624 type Error = &'static str;
14625
14626 fn try_from(value: &str) -> Result<Self, &'static str> {
14627 value.parse()
14628 }
14629}
14630impl std::convert::TryFrom<&String> for InstallationPermissionsVulnerabilityAlerts {
14631 type Error = &'static str;
14632
14633 fn try_from(value: &String) -> Result<Self, &'static str> {
14634 value.parse()
14635 }
14636}
14637impl std::convert::TryFrom<String> for InstallationPermissionsVulnerabilityAlerts {
14638 type Error = &'static str;
14639
14640 fn try_from(value: String) -> Result<Self, &'static str> {
14641 value.parse()
14642 }
14643}
14644#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14647pub enum InstallationPermissionsWorkflows {
14648 #[serde(rename = "read")]
14649 Read,
14650 #[serde(rename = "write")]
14651 Write,
14652}
14653impl From<&InstallationPermissionsWorkflows> for InstallationPermissionsWorkflows {
14654 fn from(value: &InstallationPermissionsWorkflows) -> Self {
14655 value.clone()
14656 }
14657}
14658impl ToString for InstallationPermissionsWorkflows {
14659 fn to_string(&self) -> String {
14660 match *self {
14661 Self::Read => "read".to_string(),
14662 Self::Write => "write".to_string(),
14663 }
14664 }
14665}
14666impl std::str::FromStr for InstallationPermissionsWorkflows {
14667 type Err = &'static str;
14668
14669 fn from_str(value: &str) -> Result<Self, &'static str> {
14670 match value {
14671 "read" => Ok(Self::Read),
14672 "write" => Ok(Self::Write),
14673 _ => Err("invalid value"),
14674 }
14675 }
14676}
14677impl std::convert::TryFrom<&str> for InstallationPermissionsWorkflows {
14678 type Error = &'static str;
14679
14680 fn try_from(value: &str) -> Result<Self, &'static str> {
14681 value.parse()
14682 }
14683}
14684impl std::convert::TryFrom<&String> for InstallationPermissionsWorkflows {
14685 type Error = &'static str;
14686
14687 fn try_from(value: &String) -> Result<Self, &'static str> {
14688 value.parse()
14689 }
14690}
14691impl std::convert::TryFrom<String> for InstallationPermissionsWorkflows {
14692 type Error = &'static str;
14693
14694 fn try_from(value: String) -> Result<Self, &'static str> {
14695 value.parse()
14696 }
14697}
14698#[derive(Clone, Debug, Deserialize, Serialize)]
14699#[serde(deny_unknown_fields)]
14700pub struct InstallationRepositoriesAdded {
14701 pub action: InstallationRepositoriesAddedAction,
14702 pub installation: Installation,
14703 pub repositories_added: Vec<InstallationRepositoriesAddedRepositoriesAddedItem>,
14705 pub repositories_removed: Vec<InstallationRepositoriesAddedRepositoriesRemovedItem>,
14708 pub repository_selection: InstallationRepositoriesAddedRepositorySelection,
14711 pub requester: Option<User>,
14712 pub sender: User,
14713}
14714impl From<&InstallationRepositoriesAdded> for InstallationRepositoriesAdded {
14715 fn from(value: &InstallationRepositoriesAdded) -> Self {
14716 value.clone()
14717 }
14718}
14719#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14720pub enum InstallationRepositoriesAddedAction {
14721 #[serde(rename = "added")]
14722 Added,
14723}
14724impl From<&InstallationRepositoriesAddedAction> for InstallationRepositoriesAddedAction {
14725 fn from(value: &InstallationRepositoriesAddedAction) -> Self {
14726 value.clone()
14727 }
14728}
14729impl ToString for InstallationRepositoriesAddedAction {
14730 fn to_string(&self) -> String {
14731 match *self {
14732 Self::Added => "added".to_string(),
14733 }
14734 }
14735}
14736impl std::str::FromStr for InstallationRepositoriesAddedAction {
14737 type Err = &'static str;
14738
14739 fn from_str(value: &str) -> Result<Self, &'static str> {
14740 match value {
14741 "added" => Ok(Self::Added),
14742 _ => Err("invalid value"),
14743 }
14744 }
14745}
14746impl std::convert::TryFrom<&str> for InstallationRepositoriesAddedAction {
14747 type Error = &'static str;
14748
14749 fn try_from(value: &str) -> Result<Self, &'static str> {
14750 value.parse()
14751 }
14752}
14753impl std::convert::TryFrom<&String> for InstallationRepositoriesAddedAction {
14754 type Error = &'static str;
14755
14756 fn try_from(value: &String) -> Result<Self, &'static str> {
14757 value.parse()
14758 }
14759}
14760impl std::convert::TryFrom<String> for InstallationRepositoriesAddedAction {
14761 type Error = &'static str;
14762
14763 fn try_from(value: String) -> Result<Self, &'static str> {
14764 value.parse()
14765 }
14766}
14767#[derive(Clone, Debug, Deserialize, Serialize)]
14768#[serde(deny_unknown_fields)]
14769pub struct InstallationRepositoriesAddedRepositoriesAddedItem {
14770 pub full_name: String,
14771 pub id: i64,
14773 pub name: String,
14775 pub node_id: String,
14776 pub private: bool,
14778}
14779impl From<&InstallationRepositoriesAddedRepositoriesAddedItem>
14780 for InstallationRepositoriesAddedRepositoriesAddedItem
14781{
14782 fn from(value: &InstallationRepositoriesAddedRepositoriesAddedItem) -> Self {
14783 value.clone()
14784 }
14785}
14786#[derive(Clone, Debug, Deserialize, Serialize)]
14787#[serde(deny_unknown_fields)]
14788pub struct InstallationRepositoriesAddedRepositoriesRemovedItem {
14789 #[serde(default, skip_serializing_if = "Option::is_none")]
14790 pub full_name: Option<String>,
14791 #[serde(default, skip_serializing_if = "Option::is_none")]
14793 pub id: Option<i64>,
14794 #[serde(default, skip_serializing_if = "Option::is_none")]
14796 pub name: Option<String>,
14797 #[serde(default, skip_serializing_if = "Option::is_none")]
14798 pub node_id: Option<String>,
14799 #[serde(default, skip_serializing_if = "Option::is_none")]
14801 pub private: Option<bool>,
14802}
14803impl From<&InstallationRepositoriesAddedRepositoriesRemovedItem>
14804 for InstallationRepositoriesAddedRepositoriesRemovedItem
14805{
14806 fn from(value: &InstallationRepositoriesAddedRepositoriesRemovedItem) -> Self {
14807 value.clone()
14808 }
14809}
14810#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14813pub enum InstallationRepositoriesAddedRepositorySelection {
14814 #[serde(rename = "all")]
14815 All,
14816 #[serde(rename = "selected")]
14817 Selected,
14818}
14819impl From<&InstallationRepositoriesAddedRepositorySelection>
14820 for InstallationRepositoriesAddedRepositorySelection
14821{
14822 fn from(value: &InstallationRepositoriesAddedRepositorySelection) -> Self {
14823 value.clone()
14824 }
14825}
14826impl ToString for InstallationRepositoriesAddedRepositorySelection {
14827 fn to_string(&self) -> String {
14828 match *self {
14829 Self::All => "all".to_string(),
14830 Self::Selected => "selected".to_string(),
14831 }
14832 }
14833}
14834impl std::str::FromStr for InstallationRepositoriesAddedRepositorySelection {
14835 type Err = &'static str;
14836
14837 fn from_str(value: &str) -> Result<Self, &'static str> {
14838 match value {
14839 "all" => Ok(Self::All),
14840 "selected" => Ok(Self::Selected),
14841 _ => Err("invalid value"),
14842 }
14843 }
14844}
14845impl std::convert::TryFrom<&str> for InstallationRepositoriesAddedRepositorySelection {
14846 type Error = &'static str;
14847
14848 fn try_from(value: &str) -> Result<Self, &'static str> {
14849 value.parse()
14850 }
14851}
14852impl std::convert::TryFrom<&String> for InstallationRepositoriesAddedRepositorySelection {
14853 type Error = &'static str;
14854
14855 fn try_from(value: &String) -> Result<Self, &'static str> {
14856 value.parse()
14857 }
14858}
14859impl std::convert::TryFrom<String> for InstallationRepositoriesAddedRepositorySelection {
14860 type Error = &'static str;
14861
14862 fn try_from(value: String) -> Result<Self, &'static str> {
14863 value.parse()
14864 }
14865}
14866#[derive(Clone, Debug, Deserialize, Serialize)]
14867#[serde(untagged)]
14868pub enum InstallationRepositoriesEvent {
14869 Added(InstallationRepositoriesAdded),
14870 Removed(InstallationRepositoriesRemoved),
14871}
14872impl From<&InstallationRepositoriesEvent> for InstallationRepositoriesEvent {
14873 fn from(value: &InstallationRepositoriesEvent) -> Self {
14874 value.clone()
14875 }
14876}
14877impl From<InstallationRepositoriesAdded> for InstallationRepositoriesEvent {
14878 fn from(value: InstallationRepositoriesAdded) -> Self {
14879 Self::Added(value)
14880 }
14881}
14882impl From<InstallationRepositoriesRemoved> for InstallationRepositoriesEvent {
14883 fn from(value: InstallationRepositoriesRemoved) -> Self {
14884 Self::Removed(value)
14885 }
14886}
14887#[derive(Clone, Debug, Deserialize, Serialize)]
14888#[serde(deny_unknown_fields)]
14889pub struct InstallationRepositoriesRemoved {
14890 pub action: InstallationRepositoriesRemovedAction,
14891 pub installation: Installation,
14892 pub repositories_added: Vec<InstallationRepositoriesRemovedRepositoriesAddedItem>,
14894 pub repositories_removed: Vec<InstallationRepositoriesRemovedRepositoriesRemovedItem>,
14897 pub repository_selection: InstallationRepositoriesRemovedRepositorySelection,
14900 pub requester: Option<User>,
14901 pub sender: User,
14902}
14903impl From<&InstallationRepositoriesRemoved> for InstallationRepositoriesRemoved {
14904 fn from(value: &InstallationRepositoriesRemoved) -> Self {
14905 value.clone()
14906 }
14907}
14908#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14909pub enum InstallationRepositoriesRemovedAction {
14910 #[serde(rename = "removed")]
14911 Removed,
14912}
14913impl From<&InstallationRepositoriesRemovedAction> for InstallationRepositoriesRemovedAction {
14914 fn from(value: &InstallationRepositoriesRemovedAction) -> Self {
14915 value.clone()
14916 }
14917}
14918impl ToString for InstallationRepositoriesRemovedAction {
14919 fn to_string(&self) -> String {
14920 match *self {
14921 Self::Removed => "removed".to_string(),
14922 }
14923 }
14924}
14925impl std::str::FromStr for InstallationRepositoriesRemovedAction {
14926 type Err = &'static str;
14927
14928 fn from_str(value: &str) -> Result<Self, &'static str> {
14929 match value {
14930 "removed" => Ok(Self::Removed),
14931 _ => Err("invalid value"),
14932 }
14933 }
14934}
14935impl std::convert::TryFrom<&str> for InstallationRepositoriesRemovedAction {
14936 type Error = &'static str;
14937
14938 fn try_from(value: &str) -> Result<Self, &'static str> {
14939 value.parse()
14940 }
14941}
14942impl std::convert::TryFrom<&String> for InstallationRepositoriesRemovedAction {
14943 type Error = &'static str;
14944
14945 fn try_from(value: &String) -> Result<Self, &'static str> {
14946 value.parse()
14947 }
14948}
14949impl std::convert::TryFrom<String> for InstallationRepositoriesRemovedAction {
14950 type Error = &'static str;
14951
14952 fn try_from(value: String) -> Result<Self, &'static str> {
14953 value.parse()
14954 }
14955}
14956#[derive(Clone, Debug, Deserialize, Serialize)]
14957#[serde(deny_unknown_fields)]
14958pub struct InstallationRepositoriesRemovedRepositoriesAddedItem {
14959 pub full_name: String,
14960 pub id: i64,
14962 pub name: String,
14964 pub node_id: String,
14965 pub private: bool,
14967}
14968impl From<&InstallationRepositoriesRemovedRepositoriesAddedItem>
14969 for InstallationRepositoriesRemovedRepositoriesAddedItem
14970{
14971 fn from(value: &InstallationRepositoriesRemovedRepositoriesAddedItem) -> Self {
14972 value.clone()
14973 }
14974}
14975#[derive(Clone, Debug, Deserialize, Serialize)]
14976#[serde(deny_unknown_fields)]
14977pub struct InstallationRepositoriesRemovedRepositoriesRemovedItem {
14978 pub full_name: String,
14979 pub id: i64,
14981 pub name: String,
14983 pub node_id: String,
14984 pub private: bool,
14986}
14987impl From<&InstallationRepositoriesRemovedRepositoriesRemovedItem>
14988 for InstallationRepositoriesRemovedRepositoriesRemovedItem
14989{
14990 fn from(value: &InstallationRepositoriesRemovedRepositoriesRemovedItem) -> Self {
14991 value.clone()
14992 }
14993}
14994#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
14997pub enum InstallationRepositoriesRemovedRepositorySelection {
14998 #[serde(rename = "all")]
14999 All,
15000 #[serde(rename = "selected")]
15001 Selected,
15002}
15003impl From<&InstallationRepositoriesRemovedRepositorySelection>
15004 for InstallationRepositoriesRemovedRepositorySelection
15005{
15006 fn from(value: &InstallationRepositoriesRemovedRepositorySelection) -> Self {
15007 value.clone()
15008 }
15009}
15010impl ToString for InstallationRepositoriesRemovedRepositorySelection {
15011 fn to_string(&self) -> String {
15012 match *self {
15013 Self::All => "all".to_string(),
15014 Self::Selected => "selected".to_string(),
15015 }
15016 }
15017}
15018impl std::str::FromStr for InstallationRepositoriesRemovedRepositorySelection {
15019 type Err = &'static str;
15020
15021 fn from_str(value: &str) -> Result<Self, &'static str> {
15022 match value {
15023 "all" => Ok(Self::All),
15024 "selected" => Ok(Self::Selected),
15025 _ => Err("invalid value"),
15026 }
15027 }
15028}
15029impl std::convert::TryFrom<&str> for InstallationRepositoriesRemovedRepositorySelection {
15030 type Error = &'static str;
15031
15032 fn try_from(value: &str) -> Result<Self, &'static str> {
15033 value.parse()
15034 }
15035}
15036impl std::convert::TryFrom<&String> for InstallationRepositoriesRemovedRepositorySelection {
15037 type Error = &'static str;
15038
15039 fn try_from(value: &String) -> Result<Self, &'static str> {
15040 value.parse()
15041 }
15042}
15043impl std::convert::TryFrom<String> for InstallationRepositoriesRemovedRepositorySelection {
15044 type Error = &'static str;
15045
15046 fn try_from(value: String) -> Result<Self, &'static str> {
15047 value.parse()
15048 }
15049}
15050#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15053pub enum InstallationRepositorySelection {
15054 #[serde(rename = "all")]
15055 All,
15056 #[serde(rename = "selected")]
15057 Selected,
15058}
15059impl From<&InstallationRepositorySelection> for InstallationRepositorySelection {
15060 fn from(value: &InstallationRepositorySelection) -> Self {
15061 value.clone()
15062 }
15063}
15064impl ToString for InstallationRepositorySelection {
15065 fn to_string(&self) -> String {
15066 match *self {
15067 Self::All => "all".to_string(),
15068 Self::Selected => "selected".to_string(),
15069 }
15070 }
15071}
15072impl std::str::FromStr for InstallationRepositorySelection {
15073 type Err = &'static str;
15074
15075 fn from_str(value: &str) -> Result<Self, &'static str> {
15076 match value {
15077 "all" => Ok(Self::All),
15078 "selected" => Ok(Self::Selected),
15079 _ => Err("invalid value"),
15080 }
15081 }
15082}
15083impl std::convert::TryFrom<&str> for InstallationRepositorySelection {
15084 type Error = &'static str;
15085
15086 fn try_from(value: &str) -> Result<Self, &'static str> {
15087 value.parse()
15088 }
15089}
15090impl std::convert::TryFrom<&String> for InstallationRepositorySelection {
15091 type Error = &'static str;
15092
15093 fn try_from(value: &String) -> Result<Self, &'static str> {
15094 value.parse()
15095 }
15096}
15097impl std::convert::TryFrom<String> for InstallationRepositorySelection {
15098 type Error = &'static str;
15099
15100 fn try_from(value: String) -> Result<Self, &'static str> {
15101 value.parse()
15102 }
15103}
15104#[derive(Clone, Debug, Deserialize, Serialize)]
15105#[serde(deny_unknown_fields)]
15106pub struct InstallationSuspend {
15107 pub action: InstallationSuspendAction,
15108 pub installation: Installation,
15109 #[serde(default, skip_serializing_if = "Vec::is_empty")]
15111 pub repositories: Vec<InstallationSuspendRepositoriesItem>,
15112 #[serde(default)]
15113 pub requester: (),
15114 pub sender: User,
15115}
15116impl From<&InstallationSuspend> for InstallationSuspend {
15117 fn from(value: &InstallationSuspend) -> Self {
15118 value.clone()
15119 }
15120}
15121#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15122pub enum InstallationSuspendAction {
15123 #[serde(rename = "suspend")]
15124 Suspend,
15125}
15126impl From<&InstallationSuspendAction> for InstallationSuspendAction {
15127 fn from(value: &InstallationSuspendAction) -> Self {
15128 value.clone()
15129 }
15130}
15131impl ToString for InstallationSuspendAction {
15132 fn to_string(&self) -> String {
15133 match *self {
15134 Self::Suspend => "suspend".to_string(),
15135 }
15136 }
15137}
15138impl std::str::FromStr for InstallationSuspendAction {
15139 type Err = &'static str;
15140
15141 fn from_str(value: &str) -> Result<Self, &'static str> {
15142 match value {
15143 "suspend" => Ok(Self::Suspend),
15144 _ => Err("invalid value"),
15145 }
15146 }
15147}
15148impl std::convert::TryFrom<&str> for InstallationSuspendAction {
15149 type Error = &'static str;
15150
15151 fn try_from(value: &str) -> Result<Self, &'static str> {
15152 value.parse()
15153 }
15154}
15155impl std::convert::TryFrom<&String> for InstallationSuspendAction {
15156 type Error = &'static str;
15157
15158 fn try_from(value: &String) -> Result<Self, &'static str> {
15159 value.parse()
15160 }
15161}
15162impl std::convert::TryFrom<String> for InstallationSuspendAction {
15163 type Error = &'static str;
15164
15165 fn try_from(value: String) -> Result<Self, &'static str> {
15166 value.parse()
15167 }
15168}
15169#[derive(Clone, Debug, Deserialize, Serialize)]
15170#[serde(deny_unknown_fields)]
15171pub struct InstallationSuspendRepositoriesItem {
15172 pub full_name: String,
15173 pub id: i64,
15175 pub name: String,
15177 pub node_id: String,
15178 pub private: bool,
15180}
15181impl From<&InstallationSuspendRepositoriesItem> for InstallationSuspendRepositoriesItem {
15182 fn from(value: &InstallationSuspendRepositoriesItem) -> Self {
15183 value.clone()
15184 }
15185}
15186#[derive(Clone, Debug, Deserialize, Serialize)]
15187pub struct InstallationTargetEvent(pub InstallationTargetRenamed);
15188impl std::ops::Deref for InstallationTargetEvent {
15189 type Target = InstallationTargetRenamed;
15190
15191 fn deref(&self) -> &InstallationTargetRenamed {
15192 &self.0
15193 }
15194}
15195impl From<InstallationTargetEvent> for InstallationTargetRenamed {
15196 fn from(value: InstallationTargetEvent) -> Self {
15197 value.0
15198 }
15199}
15200impl From<&InstallationTargetEvent> for InstallationTargetEvent {
15201 fn from(value: &InstallationTargetEvent) -> Self {
15202 value.clone()
15203 }
15204}
15205impl From<InstallationTargetRenamed> for InstallationTargetEvent {
15206 fn from(value: InstallationTargetRenamed) -> Self {
15207 Self(value)
15208 }
15209}
15210#[derive(Clone, Debug, Deserialize, Serialize)]
15213#[serde(deny_unknown_fields)]
15214pub struct InstallationTargetRenamed {
15215 pub account: InstallationTargetRenamedAccount,
15216 pub action: InstallationTargetRenamedAction,
15217 pub changes: InstallationTargetRenamedChanges,
15218 pub installation: InstallationLite,
15219 #[serde(default, skip_serializing_if = "Option::is_none")]
15220 pub organization: Option<Organization>,
15221 #[serde(default, skip_serializing_if = "Option::is_none")]
15222 pub repository: Option<Repository>,
15223 #[serde(default, skip_serializing_if = "Option::is_none")]
15224 pub sender: Option<User>,
15225 pub target_type: String,
15226}
15227impl From<&InstallationTargetRenamed> for InstallationTargetRenamed {
15228 fn from(value: &InstallationTargetRenamed) -> Self {
15229 value.clone()
15230 }
15231}
15232#[derive(Clone, Debug, Deserialize, Serialize)]
15233#[serde(deny_unknown_fields)]
15234pub struct InstallationTargetRenamedAccount {
15235 pub avatar_url: String,
15236 #[serde(default, skip_serializing_if = "Option::is_none")]
15237 pub created_at: Option<chrono::DateTime<chrono::offset::Utc>>,
15238 #[serde(default, skip_serializing_if = "Option::is_none")]
15239 pub description: Option<InstallationTargetRenamedAccountDescription>,
15240 #[serde(default, skip_serializing_if = "Option::is_none")]
15241 pub events_url: Option<String>,
15242 #[serde(default, skip_serializing_if = "Option::is_none")]
15243 pub followers: Option<i64>,
15244 #[serde(default, skip_serializing_if = "Option::is_none")]
15245 pub followers_url: Option<String>,
15246 #[serde(default, skip_serializing_if = "Option::is_none")]
15247 pub following: Option<i64>,
15248 #[serde(default, skip_serializing_if = "Option::is_none")]
15249 pub following_url: Option<String>,
15250 #[serde(default, skip_serializing_if = "Option::is_none")]
15251 pub gists_url: Option<String>,
15252 #[serde(default, skip_serializing_if = "Option::is_none")]
15253 pub gravatar_id: Option<String>,
15254 #[serde(default, skip_serializing_if = "Option::is_none")]
15255 pub has_organization_projects: Option<bool>,
15256 #[serde(default, skip_serializing_if = "Option::is_none")]
15257 pub has_repository_projects: Option<bool>,
15258 #[serde(default, skip_serializing_if = "Option::is_none")]
15259 pub hooks_url: Option<String>,
15260 pub html_url: String,
15261 pub id: i64,
15262 #[serde(default, skip_serializing_if = "Option::is_none")]
15263 pub is_verified: Option<bool>,
15264 #[serde(default, skip_serializing_if = "Option::is_none")]
15265 pub issues_url: Option<String>,
15266 #[serde(default, skip_serializing_if = "Option::is_none")]
15267 pub login: Option<String>,
15268 #[serde(default, skip_serializing_if = "Option::is_none")]
15269 pub members_url: Option<String>,
15270 #[serde(default, skip_serializing_if = "Option::is_none")]
15271 pub name: Option<String>,
15272 pub node_id: String,
15273 #[serde(default, skip_serializing_if = "Option::is_none")]
15274 pub organizations_url: Option<String>,
15275 #[serde(default, skip_serializing_if = "Option::is_none")]
15276 pub public_gists: Option<i64>,
15277 #[serde(default, skip_serializing_if = "Option::is_none")]
15278 pub public_members_url: Option<String>,
15279 #[serde(default, skip_serializing_if = "Option::is_none")]
15280 pub public_repos: Option<i64>,
15281 #[serde(default, skip_serializing_if = "Option::is_none")]
15282 pub received_events_url: Option<String>,
15283 #[serde(default, skip_serializing_if = "Option::is_none")]
15284 pub repos_url: Option<String>,
15285 #[serde(default, skip_serializing_if = "Option::is_none")]
15286 pub site_admin: Option<bool>,
15287 #[serde(default, skip_serializing_if = "Option::is_none")]
15288 pub slug: Option<String>,
15289 #[serde(default, skip_serializing_if = "Option::is_none")]
15290 pub starred_url: Option<String>,
15291 #[serde(default, skip_serializing_if = "Option::is_none")]
15292 pub subscriptions_url: Option<String>,
15293 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
15294 pub type_: Option<InstallationTargetRenamedAccountType>,
15295 #[serde(default, skip_serializing_if = "Option::is_none")]
15296 pub updated_at: Option<chrono::DateTime<chrono::offset::Utc>>,
15297 #[serde(default, skip_serializing_if = "Option::is_none")]
15298 pub url: Option<String>,
15299 #[serde(default, skip_serializing_if = "Option::is_none")]
15300 pub website_url: Option<InstallationTargetRenamedAccountWebsiteUrl>,
15301}
15302impl From<&InstallationTargetRenamedAccount> for InstallationTargetRenamedAccount {
15303 fn from(value: &InstallationTargetRenamedAccount) -> Self {
15304 value.clone()
15305 }
15306}
15307#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15308#[serde(untagged)]
15309pub enum InstallationTargetRenamedAccountDescription {
15310 Null,
15311}
15312impl From<&InstallationTargetRenamedAccountDescription>
15313 for InstallationTargetRenamedAccountDescription
15314{
15315 fn from(value: &InstallationTargetRenamedAccountDescription) -> Self {
15316 value.clone()
15317 }
15318}
15319#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15320pub enum InstallationTargetRenamedAccountType {
15321 Bot,
15322 User,
15323 Organization,
15324}
15325impl From<&InstallationTargetRenamedAccountType> for InstallationTargetRenamedAccountType {
15326 fn from(value: &InstallationTargetRenamedAccountType) -> Self {
15327 value.clone()
15328 }
15329}
15330impl ToString for InstallationTargetRenamedAccountType {
15331 fn to_string(&self) -> String {
15332 match *self {
15333 Self::Bot => "Bot".to_string(),
15334 Self::User => "User".to_string(),
15335 Self::Organization => "Organization".to_string(),
15336 }
15337 }
15338}
15339impl std::str::FromStr for InstallationTargetRenamedAccountType {
15340 type Err = &'static str;
15341
15342 fn from_str(value: &str) -> Result<Self, &'static str> {
15343 match value {
15344 "Bot" => Ok(Self::Bot),
15345 "User" => Ok(Self::User),
15346 "Organization" => Ok(Self::Organization),
15347 _ => Err("invalid value"),
15348 }
15349 }
15350}
15351impl std::convert::TryFrom<&str> for InstallationTargetRenamedAccountType {
15352 type Error = &'static str;
15353
15354 fn try_from(value: &str) -> Result<Self, &'static str> {
15355 value.parse()
15356 }
15357}
15358impl std::convert::TryFrom<&String> for InstallationTargetRenamedAccountType {
15359 type Error = &'static str;
15360
15361 fn try_from(value: &String) -> Result<Self, &'static str> {
15362 value.parse()
15363 }
15364}
15365impl std::convert::TryFrom<String> for InstallationTargetRenamedAccountType {
15366 type Error = &'static str;
15367
15368 fn try_from(value: String) -> Result<Self, &'static str> {
15369 value.parse()
15370 }
15371}
15372#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15373#[serde(untagged)]
15374pub enum InstallationTargetRenamedAccountWebsiteUrl {
15375 Null,
15376}
15377impl From<&InstallationTargetRenamedAccountWebsiteUrl>
15378 for InstallationTargetRenamedAccountWebsiteUrl
15379{
15380 fn from(value: &InstallationTargetRenamedAccountWebsiteUrl) -> Self {
15381 value.clone()
15382 }
15383}
15384#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15385pub enum InstallationTargetRenamedAction {
15386 #[serde(rename = "renamed")]
15387 Renamed,
15388}
15389impl From<&InstallationTargetRenamedAction> for InstallationTargetRenamedAction {
15390 fn from(value: &InstallationTargetRenamedAction) -> Self {
15391 value.clone()
15392 }
15393}
15394impl ToString for InstallationTargetRenamedAction {
15395 fn to_string(&self) -> String {
15396 match *self {
15397 Self::Renamed => "renamed".to_string(),
15398 }
15399 }
15400}
15401impl std::str::FromStr for InstallationTargetRenamedAction {
15402 type Err = &'static str;
15403
15404 fn from_str(value: &str) -> Result<Self, &'static str> {
15405 match value {
15406 "renamed" => Ok(Self::Renamed),
15407 _ => Err("invalid value"),
15408 }
15409 }
15410}
15411impl std::convert::TryFrom<&str> for InstallationTargetRenamedAction {
15412 type Error = &'static str;
15413
15414 fn try_from(value: &str) -> Result<Self, &'static str> {
15415 value.parse()
15416 }
15417}
15418impl std::convert::TryFrom<&String> for InstallationTargetRenamedAction {
15419 type Error = &'static str;
15420
15421 fn try_from(value: &String) -> Result<Self, &'static str> {
15422 value.parse()
15423 }
15424}
15425impl std::convert::TryFrom<String> for InstallationTargetRenamedAction {
15426 type Error = &'static str;
15427
15428 fn try_from(value: String) -> Result<Self, &'static str> {
15429 value.parse()
15430 }
15431}
15432#[derive(Clone, Debug, Deserialize, Serialize)]
15433#[serde(deny_unknown_fields)]
15434pub struct InstallationTargetRenamedChanges {
15435 #[serde(default, skip_serializing_if = "Option::is_none")]
15436 pub login: Option<InstallationTargetRenamedChangesLogin>,
15437 #[serde(default, skip_serializing_if = "Option::is_none")]
15438 pub slug: Option<InstallationTargetRenamedChangesSlug>,
15439}
15440impl From<&InstallationTargetRenamedChanges> for InstallationTargetRenamedChanges {
15441 fn from(value: &InstallationTargetRenamedChanges) -> Self {
15442 value.clone()
15443 }
15444}
15445#[derive(Clone, Debug, Deserialize, Serialize)]
15446#[serde(deny_unknown_fields)]
15447pub struct InstallationTargetRenamedChangesLogin {
15448 pub from: String,
15449}
15450impl From<&InstallationTargetRenamedChangesLogin> for InstallationTargetRenamedChangesLogin {
15451 fn from(value: &InstallationTargetRenamedChangesLogin) -> Self {
15452 value.clone()
15453 }
15454}
15455#[derive(Clone, Debug, Deserialize, Serialize)]
15456#[serde(deny_unknown_fields)]
15457pub struct InstallationTargetRenamedChangesSlug {
15458 pub from: String,
15459}
15460impl From<&InstallationTargetRenamedChangesSlug> for InstallationTargetRenamedChangesSlug {
15461 fn from(value: &InstallationTargetRenamedChangesSlug) -> Self {
15462 value.clone()
15463 }
15464}
15465#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15466pub enum InstallationTargetType {
15467 User,
15468 Organization,
15469}
15470impl From<&InstallationTargetType> for InstallationTargetType {
15471 fn from(value: &InstallationTargetType) -> Self {
15472 value.clone()
15473 }
15474}
15475impl ToString for InstallationTargetType {
15476 fn to_string(&self) -> String {
15477 match *self {
15478 Self::User => "User".to_string(),
15479 Self::Organization => "Organization".to_string(),
15480 }
15481 }
15482}
15483impl std::str::FromStr for InstallationTargetType {
15484 type Err = &'static str;
15485
15486 fn from_str(value: &str) -> Result<Self, &'static str> {
15487 match value {
15488 "User" => Ok(Self::User),
15489 "Organization" => Ok(Self::Organization),
15490 _ => Err("invalid value"),
15491 }
15492 }
15493}
15494impl std::convert::TryFrom<&str> for InstallationTargetType {
15495 type Error = &'static str;
15496
15497 fn try_from(value: &str) -> Result<Self, &'static str> {
15498 value.parse()
15499 }
15500}
15501impl std::convert::TryFrom<&String> for InstallationTargetType {
15502 type Error = &'static str;
15503
15504 fn try_from(value: &String) -> Result<Self, &'static str> {
15505 value.parse()
15506 }
15507}
15508impl std::convert::TryFrom<String> for InstallationTargetType {
15509 type Error = &'static str;
15510
15511 fn try_from(value: String) -> Result<Self, &'static str> {
15512 value.parse()
15513 }
15514}
15515#[derive(Clone, Debug, Deserialize, Serialize)]
15516#[serde(deny_unknown_fields)]
15517pub struct InstallationUnsuspend {
15518 pub action: InstallationUnsuspendAction,
15519 pub installation: Installation,
15520 #[serde(default, skip_serializing_if = "Vec::is_empty")]
15522 pub repositories: Vec<InstallationUnsuspendRepositoriesItem>,
15523 #[serde(default)]
15524 pub requester: (),
15525 pub sender: User,
15526}
15527impl From<&InstallationUnsuspend> for InstallationUnsuspend {
15528 fn from(value: &InstallationUnsuspend) -> Self {
15529 value.clone()
15530 }
15531}
15532#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15533pub enum InstallationUnsuspendAction {
15534 #[serde(rename = "unsuspend")]
15535 Unsuspend,
15536}
15537impl From<&InstallationUnsuspendAction> for InstallationUnsuspendAction {
15538 fn from(value: &InstallationUnsuspendAction) -> Self {
15539 value.clone()
15540 }
15541}
15542impl ToString for InstallationUnsuspendAction {
15543 fn to_string(&self) -> String {
15544 match *self {
15545 Self::Unsuspend => "unsuspend".to_string(),
15546 }
15547 }
15548}
15549impl std::str::FromStr for InstallationUnsuspendAction {
15550 type Err = &'static str;
15551
15552 fn from_str(value: &str) -> Result<Self, &'static str> {
15553 match value {
15554 "unsuspend" => Ok(Self::Unsuspend),
15555 _ => Err("invalid value"),
15556 }
15557 }
15558}
15559impl std::convert::TryFrom<&str> for InstallationUnsuspendAction {
15560 type Error = &'static str;
15561
15562 fn try_from(value: &str) -> Result<Self, &'static str> {
15563 value.parse()
15564 }
15565}
15566impl std::convert::TryFrom<&String> for InstallationUnsuspendAction {
15567 type Error = &'static str;
15568
15569 fn try_from(value: &String) -> Result<Self, &'static str> {
15570 value.parse()
15571 }
15572}
15573impl std::convert::TryFrom<String> for InstallationUnsuspendAction {
15574 type Error = &'static str;
15575
15576 fn try_from(value: String) -> Result<Self, &'static str> {
15577 value.parse()
15578 }
15579}
15580#[derive(Clone, Debug, Deserialize, Serialize)]
15581#[serde(deny_unknown_fields)]
15582pub struct InstallationUnsuspendRepositoriesItem {
15583 pub full_name: String,
15584 pub id: i64,
15586 pub name: String,
15588 pub node_id: String,
15589 pub private: bool,
15591}
15592impl From<&InstallationUnsuspendRepositoriesItem> for InstallationUnsuspendRepositoriesItem {
15593 fn from(value: &InstallationUnsuspendRepositoriesItem) -> Self {
15594 value.clone()
15595 }
15596}
15597#[derive(Clone, Debug, Deserialize, Serialize)]
15598#[serde(untagged)]
15599pub enum InstallationUpdatedAt {
15600 Variant0(chrono::DateTime<chrono::offset::Utc>),
15601 Variant1(i64),
15602}
15603impl From<&InstallationUpdatedAt> for InstallationUpdatedAt {
15604 fn from(value: &InstallationUpdatedAt) -> Self {
15605 value.clone()
15606 }
15607}
15608impl std::str::FromStr for InstallationUpdatedAt {
15609 type Err = &'static str;
15610
15611 fn from_str(value: &str) -> Result<Self, &'static str> {
15612 if let Ok(v) = value.parse() {
15613 Ok(Self::Variant0(v))
15614 } else if let Ok(v) = value.parse() {
15615 Ok(Self::Variant1(v))
15616 } else {
15617 Err("string conversion failed for all variants")
15618 }
15619 }
15620}
15621impl std::convert::TryFrom<&str> for InstallationUpdatedAt {
15622 type Error = &'static str;
15623
15624 fn try_from(value: &str) -> Result<Self, &'static str> {
15625 value.parse()
15626 }
15627}
15628impl std::convert::TryFrom<&String> for InstallationUpdatedAt {
15629 type Error = &'static str;
15630
15631 fn try_from(value: &String) -> Result<Self, &'static str> {
15632 value.parse()
15633 }
15634}
15635impl std::convert::TryFrom<String> for InstallationUpdatedAt {
15636 type Error = &'static str;
15637
15638 fn try_from(value: String) -> Result<Self, &'static str> {
15639 value.parse()
15640 }
15641}
15642impl ToString for InstallationUpdatedAt {
15643 fn to_string(&self) -> String {
15644 match self {
15645 Self::Variant0(x) => x.to_string(),
15646 Self::Variant1(x) => x.to_string(),
15647 }
15648 }
15649}
15650impl From<chrono::DateTime<chrono::offset::Utc>> for InstallationUpdatedAt {
15651 fn from(value: chrono::DateTime<chrono::offset::Utc>) -> Self {
15652 Self::Variant0(value)
15653 }
15654}
15655impl From<i64> for InstallationUpdatedAt {
15656 fn from(value: i64) -> Self {
15657 Self::Variant1(value)
15658 }
15659}
15660#[derive(Clone, Debug, Deserialize, Serialize)]
15662#[serde(deny_unknown_fields)]
15663pub struct Issue {
15664 pub active_lock_reason: Option<IssueActiveLockReason>,
15665 #[serde(default, skip_serializing_if = "Option::is_none")]
15666 pub assignee: Option<User>,
15667 pub assignees: Vec<User>,
15668 pub author_association: AuthorAssociation,
15669 pub body: Option<String>,
15671 pub closed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
15672 pub comments: i64,
15673 pub comments_url: String,
15674 pub created_at: chrono::DateTime<chrono::offset::Utc>,
15675 #[serde(default, skip_serializing_if = "Option::is_none")]
15676 pub draft: Option<bool>,
15677 pub events_url: String,
15678 pub html_url: String,
15679 pub id: i64,
15680 #[serde(default, skip_serializing_if = "Vec::is_empty")]
15681 pub labels: Vec<Label>,
15682 pub labels_url: String,
15683 #[serde(default, skip_serializing_if = "Option::is_none")]
15684 pub locked: Option<bool>,
15685 pub milestone: Option<Milestone>,
15686 pub node_id: String,
15687 pub number: i64,
15689 #[serde(default, skip_serializing_if = "Option::is_none")]
15690 pub performed_via_github_app: Option<App>,
15691 #[serde(default, skip_serializing_if = "Option::is_none")]
15692 pub pull_request: Option<IssuePullRequest>,
15693 pub reactions: Reactions,
15694 pub repository_url: String,
15695 #[serde(default, skip_serializing_if = "Option::is_none")]
15697 pub state: Option<IssueState>,
15698 #[serde(default, skip_serializing_if = "Option::is_none")]
15700 pub state_reason: Option<String>,
15701 #[serde(default, skip_serializing_if = "Option::is_none")]
15702 pub timeline_url: Option<String>,
15703 pub title: String,
15705 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
15706 pub url: String,
15708 pub user: User,
15709}
15710impl From<&Issue> for Issue {
15711 fn from(value: &Issue) -> Self {
15712 value.clone()
15713 }
15714}
15715#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15716pub enum IssueActiveLockReason {
15717 #[serde(rename = "resolved")]
15718 Resolved,
15719 #[serde(rename = "off-topic")]
15720 OffTopic,
15721 #[serde(rename = "too heated")]
15722 TooHeated,
15723 #[serde(rename = "spam")]
15724 Spam,
15725}
15726impl From<&IssueActiveLockReason> for IssueActiveLockReason {
15727 fn from(value: &IssueActiveLockReason) -> Self {
15728 value.clone()
15729 }
15730}
15731impl ToString for IssueActiveLockReason {
15732 fn to_string(&self) -> String {
15733 match *self {
15734 Self::Resolved => "resolved".to_string(),
15735 Self::OffTopic => "off-topic".to_string(),
15736 Self::TooHeated => "too heated".to_string(),
15737 Self::Spam => "spam".to_string(),
15738 }
15739 }
15740}
15741impl std::str::FromStr for IssueActiveLockReason {
15742 type Err = &'static str;
15743
15744 fn from_str(value: &str) -> Result<Self, &'static str> {
15745 match value {
15746 "resolved" => Ok(Self::Resolved),
15747 "off-topic" => Ok(Self::OffTopic),
15748 "too heated" => Ok(Self::TooHeated),
15749 "spam" => Ok(Self::Spam),
15750 _ => Err("invalid value"),
15751 }
15752 }
15753}
15754impl std::convert::TryFrom<&str> for IssueActiveLockReason {
15755 type Error = &'static str;
15756
15757 fn try_from(value: &str) -> Result<Self, &'static str> {
15758 value.parse()
15759 }
15760}
15761impl std::convert::TryFrom<&String> for IssueActiveLockReason {
15762 type Error = &'static str;
15763
15764 fn try_from(value: &String) -> Result<Self, &'static str> {
15765 value.parse()
15766 }
15767}
15768impl std::convert::TryFrom<String> for IssueActiveLockReason {
15769 type Error = &'static str;
15770
15771 fn try_from(value: String) -> Result<Self, &'static str> {
15772 value.parse()
15773 }
15774}
15775#[derive(Clone, Debug, Deserialize, Serialize)]
15777#[serde(deny_unknown_fields)]
15778pub struct IssueComment {
15779 pub author_association: AuthorAssociation,
15780 pub body: String,
15782 pub created_at: chrono::DateTime<chrono::offset::Utc>,
15783 pub html_url: String,
15784 pub id: i64,
15786 pub issue_url: String,
15787 pub node_id: String,
15788 pub performed_via_github_app: Option<App>,
15789 pub reactions: Reactions,
15790 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
15791 pub url: String,
15793 pub user: User,
15794}
15795impl From<&IssueComment> for IssueComment {
15796 fn from(value: &IssueComment) -> Self {
15797 value.clone()
15798 }
15799}
15800#[derive(Clone, Debug, Deserialize, Serialize)]
15801#[serde(deny_unknown_fields)]
15802pub struct IssueCommentCreated {
15803 pub action: IssueCommentCreatedAction,
15804 pub comment: IssueComment,
15805 #[serde(default, skip_serializing_if = "Option::is_none")]
15806 pub installation: Option<InstallationLite>,
15807 pub issue: Issue,
15809 #[serde(default, skip_serializing_if = "Option::is_none")]
15810 pub organization: Option<Organization>,
15811 pub repository: Repository,
15812 pub sender: User,
15813}
15814impl From<&IssueCommentCreated> for IssueCommentCreated {
15815 fn from(value: &IssueCommentCreated) -> Self {
15816 value.clone()
15817 }
15818}
15819#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15820pub enum IssueCommentCreatedAction {
15821 #[serde(rename = "created")]
15822 Created,
15823}
15824impl From<&IssueCommentCreatedAction> for IssueCommentCreatedAction {
15825 fn from(value: &IssueCommentCreatedAction) -> Self {
15826 value.clone()
15827 }
15828}
15829impl ToString for IssueCommentCreatedAction {
15830 fn to_string(&self) -> String {
15831 match *self {
15832 Self::Created => "created".to_string(),
15833 }
15834 }
15835}
15836impl std::str::FromStr for IssueCommentCreatedAction {
15837 type Err = &'static str;
15838
15839 fn from_str(value: &str) -> Result<Self, &'static str> {
15840 match value {
15841 "created" => Ok(Self::Created),
15842 _ => Err("invalid value"),
15843 }
15844 }
15845}
15846impl std::convert::TryFrom<&str> for IssueCommentCreatedAction {
15847 type Error = &'static str;
15848
15849 fn try_from(value: &str) -> Result<Self, &'static str> {
15850 value.parse()
15851 }
15852}
15853impl std::convert::TryFrom<&String> for IssueCommentCreatedAction {
15854 type Error = &'static str;
15855
15856 fn try_from(value: &String) -> Result<Self, &'static str> {
15857 value.parse()
15858 }
15859}
15860impl std::convert::TryFrom<String> for IssueCommentCreatedAction {
15861 type Error = &'static str;
15862
15863 fn try_from(value: String) -> Result<Self, &'static str> {
15864 value.parse()
15865 }
15866}
15867#[derive(Clone, Debug, Deserialize, Serialize)]
15868#[serde(deny_unknown_fields)]
15869pub struct IssueCommentDeleted {
15870 pub action: IssueCommentDeletedAction,
15871 pub comment: IssueComment,
15872 #[serde(default, skip_serializing_if = "Option::is_none")]
15873 pub installation: Option<InstallationLite>,
15874 pub issue: Issue,
15876 #[serde(default, skip_serializing_if = "Option::is_none")]
15877 pub organization: Option<Organization>,
15878 pub repository: Repository,
15879 pub sender: User,
15880}
15881impl From<&IssueCommentDeleted> for IssueCommentDeleted {
15882 fn from(value: &IssueCommentDeleted) -> Self {
15883 value.clone()
15884 }
15885}
15886#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15887pub enum IssueCommentDeletedAction {
15888 #[serde(rename = "deleted")]
15889 Deleted,
15890}
15891impl From<&IssueCommentDeletedAction> for IssueCommentDeletedAction {
15892 fn from(value: &IssueCommentDeletedAction) -> Self {
15893 value.clone()
15894 }
15895}
15896impl ToString for IssueCommentDeletedAction {
15897 fn to_string(&self) -> String {
15898 match *self {
15899 Self::Deleted => "deleted".to_string(),
15900 }
15901 }
15902}
15903impl std::str::FromStr for IssueCommentDeletedAction {
15904 type Err = &'static str;
15905
15906 fn from_str(value: &str) -> Result<Self, &'static str> {
15907 match value {
15908 "deleted" => Ok(Self::Deleted),
15909 _ => Err("invalid value"),
15910 }
15911 }
15912}
15913impl std::convert::TryFrom<&str> for IssueCommentDeletedAction {
15914 type Error = &'static str;
15915
15916 fn try_from(value: &str) -> Result<Self, &'static str> {
15917 value.parse()
15918 }
15919}
15920impl std::convert::TryFrom<&String> for IssueCommentDeletedAction {
15921 type Error = &'static str;
15922
15923 fn try_from(value: &String) -> Result<Self, &'static str> {
15924 value.parse()
15925 }
15926}
15927impl std::convert::TryFrom<String> for IssueCommentDeletedAction {
15928 type Error = &'static str;
15929
15930 fn try_from(value: String) -> Result<Self, &'static str> {
15931 value.parse()
15932 }
15933}
15934#[derive(Clone, Debug, Deserialize, Serialize)]
15935#[serde(deny_unknown_fields)]
15936pub struct IssueCommentEdited {
15937 pub action: IssueCommentEditedAction,
15938 pub changes: IssueCommentEditedChanges,
15939 pub comment: IssueComment,
15940 #[serde(default, skip_serializing_if = "Option::is_none")]
15941 pub installation: Option<InstallationLite>,
15942 pub issue: Issue,
15944 #[serde(default, skip_serializing_if = "Option::is_none")]
15945 pub organization: Option<Organization>,
15946 pub repository: Repository,
15947 pub sender: User,
15948}
15949impl From<&IssueCommentEdited> for IssueCommentEdited {
15950 fn from(value: &IssueCommentEdited) -> Self {
15951 value.clone()
15952 }
15953}
15954#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
15955pub enum IssueCommentEditedAction {
15956 #[serde(rename = "edited")]
15957 Edited,
15958}
15959impl From<&IssueCommentEditedAction> for IssueCommentEditedAction {
15960 fn from(value: &IssueCommentEditedAction) -> Self {
15961 value.clone()
15962 }
15963}
15964impl ToString for IssueCommentEditedAction {
15965 fn to_string(&self) -> String {
15966 match *self {
15967 Self::Edited => "edited".to_string(),
15968 }
15969 }
15970}
15971impl std::str::FromStr for IssueCommentEditedAction {
15972 type Err = &'static str;
15973
15974 fn from_str(value: &str) -> Result<Self, &'static str> {
15975 match value {
15976 "edited" => Ok(Self::Edited),
15977 _ => Err("invalid value"),
15978 }
15979 }
15980}
15981impl std::convert::TryFrom<&str> for IssueCommentEditedAction {
15982 type Error = &'static str;
15983
15984 fn try_from(value: &str) -> Result<Self, &'static str> {
15985 value.parse()
15986 }
15987}
15988impl std::convert::TryFrom<&String> for IssueCommentEditedAction {
15989 type Error = &'static str;
15990
15991 fn try_from(value: &String) -> Result<Self, &'static str> {
15992 value.parse()
15993 }
15994}
15995impl std::convert::TryFrom<String> for IssueCommentEditedAction {
15996 type Error = &'static str;
15997
15998 fn try_from(value: String) -> Result<Self, &'static str> {
15999 value.parse()
16000 }
16001}
16002#[derive(Clone, Debug, Deserialize, Serialize)]
16004#[serde(deny_unknown_fields)]
16005pub struct IssueCommentEditedChanges {
16006 #[serde(default, skip_serializing_if = "Option::is_none")]
16007 pub body: Option<IssueCommentEditedChangesBody>,
16008}
16009impl From<&IssueCommentEditedChanges> for IssueCommentEditedChanges {
16010 fn from(value: &IssueCommentEditedChanges) -> Self {
16011 value.clone()
16012 }
16013}
16014#[derive(Clone, Debug, Deserialize, Serialize)]
16015#[serde(deny_unknown_fields)]
16016pub struct IssueCommentEditedChangesBody {
16017 pub from: String,
16019}
16020impl From<&IssueCommentEditedChangesBody> for IssueCommentEditedChangesBody {
16021 fn from(value: &IssueCommentEditedChangesBody) -> Self {
16022 value.clone()
16023 }
16024}
16025#[derive(Clone, Debug, Deserialize, Serialize)]
16026#[serde(untagged)]
16027pub enum IssueCommentEvent {
16028 Created(IssueCommentCreated),
16029 Deleted(IssueCommentDeleted),
16030 Edited(IssueCommentEdited),
16031}
16032impl From<&IssueCommentEvent> for IssueCommentEvent {
16033 fn from(value: &IssueCommentEvent) -> Self {
16034 value.clone()
16035 }
16036}
16037impl From<IssueCommentCreated> for IssueCommentEvent {
16038 fn from(value: IssueCommentCreated) -> Self {
16039 Self::Created(value)
16040 }
16041}
16042impl From<IssueCommentDeleted> for IssueCommentEvent {
16043 fn from(value: IssueCommentDeleted) -> Self {
16044 Self::Deleted(value)
16045 }
16046}
16047impl From<IssueCommentEdited> for IssueCommentEvent {
16048 fn from(value: IssueCommentEdited) -> Self {
16049 Self::Edited(value)
16050 }
16051}
16052#[derive(Clone, Debug, Deserialize, Serialize)]
16053#[serde(deny_unknown_fields)]
16054pub struct IssuePullRequest {
16055 #[serde(default, skip_serializing_if = "Option::is_none")]
16056 pub diff_url: Option<String>,
16057 #[serde(default, skip_serializing_if = "Option::is_none")]
16058 pub html_url: Option<String>,
16059 #[serde(default, skip_serializing_if = "Option::is_none")]
16060 pub merged_at: Option<chrono::DateTime<chrono::offset::Utc>>,
16061 #[serde(default, skip_serializing_if = "Option::is_none")]
16062 pub patch_url: Option<String>,
16063 #[serde(default, skip_serializing_if = "Option::is_none")]
16064 pub url: Option<String>,
16065}
16066impl From<&IssuePullRequest> for IssuePullRequest {
16067 fn from(value: &IssuePullRequest) -> Self {
16068 value.clone()
16069 }
16070}
16071#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16073pub enum IssueState {
16074 #[serde(rename = "open")]
16075 Open,
16076 #[serde(rename = "closed")]
16077 Closed,
16078}
16079impl From<&IssueState> for IssueState {
16080 fn from(value: &IssueState) -> Self {
16081 value.clone()
16082 }
16083}
16084impl ToString for IssueState {
16085 fn to_string(&self) -> String {
16086 match *self {
16087 Self::Open => "open".to_string(),
16088 Self::Closed => "closed".to_string(),
16089 }
16090 }
16091}
16092impl std::str::FromStr for IssueState {
16093 type Err = &'static str;
16094
16095 fn from_str(value: &str) -> Result<Self, &'static str> {
16096 match value {
16097 "open" => Ok(Self::Open),
16098 "closed" => Ok(Self::Closed),
16099 _ => Err("invalid value"),
16100 }
16101 }
16102}
16103impl std::convert::TryFrom<&str> for IssueState {
16104 type Error = &'static str;
16105
16106 fn try_from(value: &str) -> Result<Self, &'static str> {
16107 value.parse()
16108 }
16109}
16110impl std::convert::TryFrom<&String> for IssueState {
16111 type Error = &'static str;
16112
16113 fn try_from(value: &String) -> Result<Self, &'static str> {
16114 value.parse()
16115 }
16116}
16117impl std::convert::TryFrom<String> for IssueState {
16118 type Error = &'static str;
16119
16120 fn try_from(value: String) -> Result<Self, &'static str> {
16121 value.parse()
16122 }
16123}
16124#[derive(Clone, Debug, Deserialize, Serialize)]
16127#[serde(deny_unknown_fields)]
16128pub struct IssuesAssigned {
16129 pub action: IssuesAssignedAction,
16131 #[serde(default, skip_serializing_if = "Option::is_none")]
16133 pub assignee: Option<User>,
16134 #[serde(default, skip_serializing_if = "Option::is_none")]
16135 pub installation: Option<InstallationLite>,
16136 pub issue: Issue,
16137 #[serde(default, skip_serializing_if = "Option::is_none")]
16138 pub organization: Option<Organization>,
16139 pub repository: Repository,
16140 pub sender: User,
16141}
16142impl From<&IssuesAssigned> for IssuesAssigned {
16143 fn from(value: &IssuesAssigned) -> Self {
16144 value.clone()
16145 }
16146}
16147#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16149pub enum IssuesAssignedAction {
16150 #[serde(rename = "assigned")]
16151 Assigned,
16152}
16153impl From<&IssuesAssignedAction> for IssuesAssignedAction {
16154 fn from(value: &IssuesAssignedAction) -> Self {
16155 value.clone()
16156 }
16157}
16158impl ToString for IssuesAssignedAction {
16159 fn to_string(&self) -> String {
16160 match *self {
16161 Self::Assigned => "assigned".to_string(),
16162 }
16163 }
16164}
16165impl std::str::FromStr for IssuesAssignedAction {
16166 type Err = &'static str;
16167
16168 fn from_str(value: &str) -> Result<Self, &'static str> {
16169 match value {
16170 "assigned" => Ok(Self::Assigned),
16171 _ => Err("invalid value"),
16172 }
16173 }
16174}
16175impl std::convert::TryFrom<&str> for IssuesAssignedAction {
16176 type Error = &'static str;
16177
16178 fn try_from(value: &str) -> Result<Self, &'static str> {
16179 value.parse()
16180 }
16181}
16182impl std::convert::TryFrom<&String> for IssuesAssignedAction {
16183 type Error = &'static str;
16184
16185 fn try_from(value: &String) -> Result<Self, &'static str> {
16186 value.parse()
16187 }
16188}
16189impl std::convert::TryFrom<String> for IssuesAssignedAction {
16190 type Error = &'static str;
16191
16192 fn try_from(value: String) -> Result<Self, &'static str> {
16193 value.parse()
16194 }
16195}
16196#[derive(Clone, Debug, Deserialize, Serialize)]
16197#[serde(deny_unknown_fields)]
16198pub struct IssuesClosed {
16199 pub action: IssuesClosedAction,
16201 #[serde(default, skip_serializing_if = "Option::is_none")]
16202 pub installation: Option<InstallationLite>,
16203 pub issue: Issue,
16205 #[serde(default, skip_serializing_if = "Option::is_none")]
16206 pub organization: Option<Organization>,
16207 pub repository: Repository,
16208 pub sender: User,
16209}
16210impl From<&IssuesClosed> for IssuesClosed {
16211 fn from(value: &IssuesClosed) -> Self {
16212 value.clone()
16213 }
16214}
16215#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16217pub enum IssuesClosedAction {
16218 #[serde(rename = "closed")]
16219 Closed,
16220}
16221impl From<&IssuesClosedAction> for IssuesClosedAction {
16222 fn from(value: &IssuesClosedAction) -> Self {
16223 value.clone()
16224 }
16225}
16226impl ToString for IssuesClosedAction {
16227 fn to_string(&self) -> String {
16228 match *self {
16229 Self::Closed => "closed".to_string(),
16230 }
16231 }
16232}
16233impl std::str::FromStr for IssuesClosedAction {
16234 type Err = &'static str;
16235
16236 fn from_str(value: &str) -> Result<Self, &'static str> {
16237 match value {
16238 "closed" => Ok(Self::Closed),
16239 _ => Err("invalid value"),
16240 }
16241 }
16242}
16243impl std::convert::TryFrom<&str> for IssuesClosedAction {
16244 type Error = &'static str;
16245
16246 fn try_from(value: &str) -> Result<Self, &'static str> {
16247 value.parse()
16248 }
16249}
16250impl std::convert::TryFrom<&String> for IssuesClosedAction {
16251 type Error = &'static str;
16252
16253 fn try_from(value: &String) -> Result<Self, &'static str> {
16254 value.parse()
16255 }
16256}
16257impl std::convert::TryFrom<String> for IssuesClosedAction {
16258 type Error = &'static str;
16259
16260 fn try_from(value: String) -> Result<Self, &'static str> {
16261 value.parse()
16262 }
16263}
16264#[derive(Clone, Debug, Deserialize, Serialize)]
16265#[serde(deny_unknown_fields)]
16266pub struct IssuesDeleted {
16267 pub action: IssuesDeletedAction,
16268 #[serde(default, skip_serializing_if = "Option::is_none")]
16269 pub installation: Option<InstallationLite>,
16270 pub issue: Issue,
16271 #[serde(default, skip_serializing_if = "Option::is_none")]
16272 pub organization: Option<Organization>,
16273 pub repository: Repository,
16274 pub sender: User,
16275}
16276impl From<&IssuesDeleted> for IssuesDeleted {
16277 fn from(value: &IssuesDeleted) -> Self {
16278 value.clone()
16279 }
16280}
16281#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16282pub enum IssuesDeletedAction {
16283 #[serde(rename = "deleted")]
16284 Deleted,
16285}
16286impl From<&IssuesDeletedAction> for IssuesDeletedAction {
16287 fn from(value: &IssuesDeletedAction) -> Self {
16288 value.clone()
16289 }
16290}
16291impl ToString for IssuesDeletedAction {
16292 fn to_string(&self) -> String {
16293 match *self {
16294 Self::Deleted => "deleted".to_string(),
16295 }
16296 }
16297}
16298impl std::str::FromStr for IssuesDeletedAction {
16299 type Err = &'static str;
16300
16301 fn from_str(value: &str) -> Result<Self, &'static str> {
16302 match value {
16303 "deleted" => Ok(Self::Deleted),
16304 _ => Err("invalid value"),
16305 }
16306 }
16307}
16308impl std::convert::TryFrom<&str> for IssuesDeletedAction {
16309 type Error = &'static str;
16310
16311 fn try_from(value: &str) -> Result<Self, &'static str> {
16312 value.parse()
16313 }
16314}
16315impl std::convert::TryFrom<&String> for IssuesDeletedAction {
16316 type Error = &'static str;
16317
16318 fn try_from(value: &String) -> Result<Self, &'static str> {
16319 value.parse()
16320 }
16321}
16322impl std::convert::TryFrom<String> for IssuesDeletedAction {
16323 type Error = &'static str;
16324
16325 fn try_from(value: String) -> Result<Self, &'static str> {
16326 value.parse()
16327 }
16328}
16329#[derive(Clone, Debug, Deserialize, Serialize)]
16330#[serde(deny_unknown_fields)]
16331pub struct IssuesDemilestoned {
16332 pub action: IssuesDemilestonedAction,
16333 #[serde(default, skip_serializing_if = "Option::is_none")]
16334 pub installation: Option<InstallationLite>,
16335 pub issue: Issue,
16336 pub milestone: Milestone,
16337 #[serde(default, skip_serializing_if = "Option::is_none")]
16338 pub organization: Option<Organization>,
16339 pub repository: Repository,
16340 pub sender: User,
16341}
16342impl From<&IssuesDemilestoned> for IssuesDemilestoned {
16343 fn from(value: &IssuesDemilestoned) -> Self {
16344 value.clone()
16345 }
16346}
16347#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16348pub enum IssuesDemilestonedAction {
16349 #[serde(rename = "demilestoned")]
16350 Demilestoned,
16351}
16352impl From<&IssuesDemilestonedAction> for IssuesDemilestonedAction {
16353 fn from(value: &IssuesDemilestonedAction) -> Self {
16354 value.clone()
16355 }
16356}
16357impl ToString for IssuesDemilestonedAction {
16358 fn to_string(&self) -> String {
16359 match *self {
16360 Self::Demilestoned => "demilestoned".to_string(),
16361 }
16362 }
16363}
16364impl std::str::FromStr for IssuesDemilestonedAction {
16365 type Err = &'static str;
16366
16367 fn from_str(value: &str) -> Result<Self, &'static str> {
16368 match value {
16369 "demilestoned" => Ok(Self::Demilestoned),
16370 _ => Err("invalid value"),
16371 }
16372 }
16373}
16374impl std::convert::TryFrom<&str> for IssuesDemilestonedAction {
16375 type Error = &'static str;
16376
16377 fn try_from(value: &str) -> Result<Self, &'static str> {
16378 value.parse()
16379 }
16380}
16381impl std::convert::TryFrom<&String> for IssuesDemilestonedAction {
16382 type Error = &'static str;
16383
16384 fn try_from(value: &String) -> Result<Self, &'static str> {
16385 value.parse()
16386 }
16387}
16388impl std::convert::TryFrom<String> for IssuesDemilestonedAction {
16389 type Error = &'static str;
16390
16391 fn try_from(value: String) -> Result<Self, &'static str> {
16392 value.parse()
16393 }
16394}
16395#[derive(Clone, Debug, Deserialize, Serialize)]
16396#[serde(deny_unknown_fields)]
16397pub struct IssuesEdited {
16398 pub action: IssuesEditedAction,
16399 pub changes: IssuesEditedChanges,
16400 #[serde(default, skip_serializing_if = "Option::is_none")]
16401 pub installation: Option<InstallationLite>,
16402 pub issue: Issue,
16403 #[serde(default, skip_serializing_if = "Option::is_none")]
16404 pub label: Option<Label>,
16405 #[serde(default, skip_serializing_if = "Option::is_none")]
16406 pub organization: Option<Organization>,
16407 pub repository: Repository,
16408 pub sender: User,
16409}
16410impl From<&IssuesEdited> for IssuesEdited {
16411 fn from(value: &IssuesEdited) -> Self {
16412 value.clone()
16413 }
16414}
16415#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16416pub enum IssuesEditedAction {
16417 #[serde(rename = "edited")]
16418 Edited,
16419}
16420impl From<&IssuesEditedAction> for IssuesEditedAction {
16421 fn from(value: &IssuesEditedAction) -> Self {
16422 value.clone()
16423 }
16424}
16425impl ToString for IssuesEditedAction {
16426 fn to_string(&self) -> String {
16427 match *self {
16428 Self::Edited => "edited".to_string(),
16429 }
16430 }
16431}
16432impl std::str::FromStr for IssuesEditedAction {
16433 type Err = &'static str;
16434
16435 fn from_str(value: &str) -> Result<Self, &'static str> {
16436 match value {
16437 "edited" => Ok(Self::Edited),
16438 _ => Err("invalid value"),
16439 }
16440 }
16441}
16442impl std::convert::TryFrom<&str> for IssuesEditedAction {
16443 type Error = &'static str;
16444
16445 fn try_from(value: &str) -> Result<Self, &'static str> {
16446 value.parse()
16447 }
16448}
16449impl std::convert::TryFrom<&String> for IssuesEditedAction {
16450 type Error = &'static str;
16451
16452 fn try_from(value: &String) -> Result<Self, &'static str> {
16453 value.parse()
16454 }
16455}
16456impl std::convert::TryFrom<String> for IssuesEditedAction {
16457 type Error = &'static str;
16458
16459 fn try_from(value: String) -> Result<Self, &'static str> {
16460 value.parse()
16461 }
16462}
16463#[derive(Clone, Debug, Deserialize, Serialize)]
16465#[serde(deny_unknown_fields)]
16466pub struct IssuesEditedChanges {
16467 #[serde(default, skip_serializing_if = "Option::is_none")]
16468 pub body: Option<IssuesEditedChangesBody>,
16469 #[serde(default, skip_serializing_if = "Option::is_none")]
16470 pub title: Option<IssuesEditedChangesTitle>,
16471}
16472impl From<&IssuesEditedChanges> for IssuesEditedChanges {
16473 fn from(value: &IssuesEditedChanges) -> Self {
16474 value.clone()
16475 }
16476}
16477#[derive(Clone, Debug, Deserialize, Serialize)]
16478#[serde(deny_unknown_fields)]
16479pub struct IssuesEditedChangesBody {
16480 pub from: String,
16482}
16483impl From<&IssuesEditedChangesBody> for IssuesEditedChangesBody {
16484 fn from(value: &IssuesEditedChangesBody) -> Self {
16485 value.clone()
16486 }
16487}
16488#[derive(Clone, Debug, Deserialize, Serialize)]
16489#[serde(deny_unknown_fields)]
16490pub struct IssuesEditedChangesTitle {
16491 pub from: String,
16493}
16494impl From<&IssuesEditedChangesTitle> for IssuesEditedChangesTitle {
16495 fn from(value: &IssuesEditedChangesTitle) -> Self {
16496 value.clone()
16497 }
16498}
16499#[derive(Clone, Debug, Deserialize, Serialize)]
16500#[serde(untagged)]
16501pub enum IssuesEvent {
16502 Assigned(IssuesAssigned),
16503 Closed(IssuesClosed),
16504 Deleted(IssuesDeleted),
16505 Demilestoned(IssuesDemilestoned),
16506 Edited(IssuesEdited),
16507 Labeled(IssuesLabeled),
16508 Locked(IssuesLocked),
16509 Milestoned(IssuesMilestoned),
16510 Opened(IssuesOpened),
16511 Pinned(IssuesPinned),
16512 Reopened(IssuesReopened),
16513 Transferred(IssuesTransferred),
16514 Unassigned(IssuesUnassigned),
16515 Unlabeled(IssuesUnlabeled),
16516 Unlocked(IssuesUnlocked),
16517 Unpinned(IssuesUnpinned),
16518}
16519impl From<&IssuesEvent> for IssuesEvent {
16520 fn from(value: &IssuesEvent) -> Self {
16521 value.clone()
16522 }
16523}
16524impl From<IssuesAssigned> for IssuesEvent {
16525 fn from(value: IssuesAssigned) -> Self {
16526 Self::Assigned(value)
16527 }
16528}
16529impl From<IssuesClosed> for IssuesEvent {
16530 fn from(value: IssuesClosed) -> Self {
16531 Self::Closed(value)
16532 }
16533}
16534impl From<IssuesDeleted> for IssuesEvent {
16535 fn from(value: IssuesDeleted) -> Self {
16536 Self::Deleted(value)
16537 }
16538}
16539impl From<IssuesDemilestoned> for IssuesEvent {
16540 fn from(value: IssuesDemilestoned) -> Self {
16541 Self::Demilestoned(value)
16542 }
16543}
16544impl From<IssuesEdited> for IssuesEvent {
16545 fn from(value: IssuesEdited) -> Self {
16546 Self::Edited(value)
16547 }
16548}
16549impl From<IssuesLabeled> for IssuesEvent {
16550 fn from(value: IssuesLabeled) -> Self {
16551 Self::Labeled(value)
16552 }
16553}
16554impl From<IssuesLocked> for IssuesEvent {
16555 fn from(value: IssuesLocked) -> Self {
16556 Self::Locked(value)
16557 }
16558}
16559impl From<IssuesMilestoned> for IssuesEvent {
16560 fn from(value: IssuesMilestoned) -> Self {
16561 Self::Milestoned(value)
16562 }
16563}
16564impl From<IssuesOpened> for IssuesEvent {
16565 fn from(value: IssuesOpened) -> Self {
16566 Self::Opened(value)
16567 }
16568}
16569impl From<IssuesPinned> for IssuesEvent {
16570 fn from(value: IssuesPinned) -> Self {
16571 Self::Pinned(value)
16572 }
16573}
16574impl From<IssuesReopened> for IssuesEvent {
16575 fn from(value: IssuesReopened) -> Self {
16576 Self::Reopened(value)
16577 }
16578}
16579impl From<IssuesTransferred> for IssuesEvent {
16580 fn from(value: IssuesTransferred) -> Self {
16581 Self::Transferred(value)
16582 }
16583}
16584impl From<IssuesUnassigned> for IssuesEvent {
16585 fn from(value: IssuesUnassigned) -> Self {
16586 Self::Unassigned(value)
16587 }
16588}
16589impl From<IssuesUnlabeled> for IssuesEvent {
16590 fn from(value: IssuesUnlabeled) -> Self {
16591 Self::Unlabeled(value)
16592 }
16593}
16594impl From<IssuesUnlocked> for IssuesEvent {
16595 fn from(value: IssuesUnlocked) -> Self {
16596 Self::Unlocked(value)
16597 }
16598}
16599impl From<IssuesUnpinned> for IssuesEvent {
16600 fn from(value: IssuesUnpinned) -> Self {
16601 Self::Unpinned(value)
16602 }
16603}
16604#[derive(Clone, Debug, Deserialize, Serialize)]
16605#[serde(deny_unknown_fields)]
16606pub struct IssuesLabeled {
16607 pub action: IssuesLabeledAction,
16608 #[serde(default, skip_serializing_if = "Option::is_none")]
16609 pub installation: Option<InstallationLite>,
16610 pub issue: Issue,
16611 #[serde(default, skip_serializing_if = "Option::is_none")]
16613 pub label: Option<Label>,
16614 #[serde(default, skip_serializing_if = "Option::is_none")]
16615 pub organization: Option<Organization>,
16616 pub repository: Repository,
16617 pub sender: User,
16618}
16619impl From<&IssuesLabeled> for IssuesLabeled {
16620 fn from(value: &IssuesLabeled) -> Self {
16621 value.clone()
16622 }
16623}
16624#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16625pub enum IssuesLabeledAction {
16626 #[serde(rename = "labeled")]
16627 Labeled,
16628}
16629impl From<&IssuesLabeledAction> for IssuesLabeledAction {
16630 fn from(value: &IssuesLabeledAction) -> Self {
16631 value.clone()
16632 }
16633}
16634impl ToString for IssuesLabeledAction {
16635 fn to_string(&self) -> String {
16636 match *self {
16637 Self::Labeled => "labeled".to_string(),
16638 }
16639 }
16640}
16641impl std::str::FromStr for IssuesLabeledAction {
16642 type Err = &'static str;
16643
16644 fn from_str(value: &str) -> Result<Self, &'static str> {
16645 match value {
16646 "labeled" => Ok(Self::Labeled),
16647 _ => Err("invalid value"),
16648 }
16649 }
16650}
16651impl std::convert::TryFrom<&str> for IssuesLabeledAction {
16652 type Error = &'static str;
16653
16654 fn try_from(value: &str) -> Result<Self, &'static str> {
16655 value.parse()
16656 }
16657}
16658impl std::convert::TryFrom<&String> for IssuesLabeledAction {
16659 type Error = &'static str;
16660
16661 fn try_from(value: &String) -> Result<Self, &'static str> {
16662 value.parse()
16663 }
16664}
16665impl std::convert::TryFrom<String> for IssuesLabeledAction {
16666 type Error = &'static str;
16667
16668 fn try_from(value: String) -> Result<Self, &'static str> {
16669 value.parse()
16670 }
16671}
16672#[derive(Clone, Debug, Deserialize, Serialize)]
16673#[serde(deny_unknown_fields)]
16674pub struct IssuesLocked {
16675 pub action: IssuesLockedAction,
16676 #[serde(default, skip_serializing_if = "Option::is_none")]
16677 pub installation: Option<InstallationLite>,
16678 pub issue: Issue,
16679 #[serde(default, skip_serializing_if = "Option::is_none")]
16680 pub organization: Option<Organization>,
16681 pub repository: Repository,
16682 pub sender: User,
16683}
16684impl From<&IssuesLocked> for IssuesLocked {
16685 fn from(value: &IssuesLocked) -> Self {
16686 value.clone()
16687 }
16688}
16689#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16690pub enum IssuesLockedAction {
16691 #[serde(rename = "locked")]
16692 Locked,
16693}
16694impl From<&IssuesLockedAction> for IssuesLockedAction {
16695 fn from(value: &IssuesLockedAction) -> Self {
16696 value.clone()
16697 }
16698}
16699impl ToString for IssuesLockedAction {
16700 fn to_string(&self) -> String {
16701 match *self {
16702 Self::Locked => "locked".to_string(),
16703 }
16704 }
16705}
16706impl std::str::FromStr for IssuesLockedAction {
16707 type Err = &'static str;
16708
16709 fn from_str(value: &str) -> Result<Self, &'static str> {
16710 match value {
16711 "locked" => Ok(Self::Locked),
16712 _ => Err("invalid value"),
16713 }
16714 }
16715}
16716impl std::convert::TryFrom<&str> for IssuesLockedAction {
16717 type Error = &'static str;
16718
16719 fn try_from(value: &str) -> Result<Self, &'static str> {
16720 value.parse()
16721 }
16722}
16723impl std::convert::TryFrom<&String> for IssuesLockedAction {
16724 type Error = &'static str;
16725
16726 fn try_from(value: &String) -> Result<Self, &'static str> {
16727 value.parse()
16728 }
16729}
16730impl std::convert::TryFrom<String> for IssuesLockedAction {
16731 type Error = &'static str;
16732
16733 fn try_from(value: String) -> Result<Self, &'static str> {
16734 value.parse()
16735 }
16736}
16737#[derive(Clone, Debug, Deserialize, Serialize)]
16738#[serde(deny_unknown_fields)]
16739pub struct IssuesMilestoned {
16740 pub action: IssuesMilestonedAction,
16741 #[serde(default, skip_serializing_if = "Option::is_none")]
16742 pub installation: Option<InstallationLite>,
16743 pub issue: Issue,
16744 pub milestone: Milestone,
16745 #[serde(default, skip_serializing_if = "Option::is_none")]
16746 pub organization: Option<Organization>,
16747 pub repository: Repository,
16748 pub sender: User,
16749}
16750impl From<&IssuesMilestoned> for IssuesMilestoned {
16751 fn from(value: &IssuesMilestoned) -> Self {
16752 value.clone()
16753 }
16754}
16755#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16756pub enum IssuesMilestonedAction {
16757 #[serde(rename = "milestoned")]
16758 Milestoned,
16759}
16760impl From<&IssuesMilestonedAction> for IssuesMilestonedAction {
16761 fn from(value: &IssuesMilestonedAction) -> Self {
16762 value.clone()
16763 }
16764}
16765impl ToString for IssuesMilestonedAction {
16766 fn to_string(&self) -> String {
16767 match *self {
16768 Self::Milestoned => "milestoned".to_string(),
16769 }
16770 }
16771}
16772impl std::str::FromStr for IssuesMilestonedAction {
16773 type Err = &'static str;
16774
16775 fn from_str(value: &str) -> Result<Self, &'static str> {
16776 match value {
16777 "milestoned" => Ok(Self::Milestoned),
16778 _ => Err("invalid value"),
16779 }
16780 }
16781}
16782impl std::convert::TryFrom<&str> for IssuesMilestonedAction {
16783 type Error = &'static str;
16784
16785 fn try_from(value: &str) -> Result<Self, &'static str> {
16786 value.parse()
16787 }
16788}
16789impl std::convert::TryFrom<&String> for IssuesMilestonedAction {
16790 type Error = &'static str;
16791
16792 fn try_from(value: &String) -> Result<Self, &'static str> {
16793 value.parse()
16794 }
16795}
16796impl std::convert::TryFrom<String> for IssuesMilestonedAction {
16797 type Error = &'static str;
16798
16799 fn try_from(value: String) -> Result<Self, &'static str> {
16800 value.parse()
16801 }
16802}
16803#[derive(Clone, Debug, Deserialize, Serialize)]
16804#[serde(deny_unknown_fields)]
16805pub struct IssuesOpened {
16806 pub action: IssuesOpenedAction,
16807 #[serde(default, skip_serializing_if = "Option::is_none")]
16808 pub changes: Option<IssuesOpenedChanges>,
16809 #[serde(default, skip_serializing_if = "Option::is_none")]
16810 pub installation: Option<InstallationLite>,
16811 pub issue: Issue,
16812 #[serde(default, skip_serializing_if = "Option::is_none")]
16813 pub organization: Option<Organization>,
16814 pub repository: Repository,
16815 pub sender: User,
16816}
16817impl From<&IssuesOpened> for IssuesOpened {
16818 fn from(value: &IssuesOpened) -> Self {
16819 value.clone()
16820 }
16821}
16822#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16823pub enum IssuesOpenedAction {
16824 #[serde(rename = "opened")]
16825 Opened,
16826}
16827impl From<&IssuesOpenedAction> for IssuesOpenedAction {
16828 fn from(value: &IssuesOpenedAction) -> Self {
16829 value.clone()
16830 }
16831}
16832impl ToString for IssuesOpenedAction {
16833 fn to_string(&self) -> String {
16834 match *self {
16835 Self::Opened => "opened".to_string(),
16836 }
16837 }
16838}
16839impl std::str::FromStr for IssuesOpenedAction {
16840 type Err = &'static str;
16841
16842 fn from_str(value: &str) -> Result<Self, &'static str> {
16843 match value {
16844 "opened" => Ok(Self::Opened),
16845 _ => Err("invalid value"),
16846 }
16847 }
16848}
16849impl std::convert::TryFrom<&str> for IssuesOpenedAction {
16850 type Error = &'static str;
16851
16852 fn try_from(value: &str) -> Result<Self, &'static str> {
16853 value.parse()
16854 }
16855}
16856impl std::convert::TryFrom<&String> for IssuesOpenedAction {
16857 type Error = &'static str;
16858
16859 fn try_from(value: &String) -> Result<Self, &'static str> {
16860 value.parse()
16861 }
16862}
16863impl std::convert::TryFrom<String> for IssuesOpenedAction {
16864 type Error = &'static str;
16865
16866 fn try_from(value: String) -> Result<Self, &'static str> {
16867 value.parse()
16868 }
16869}
16870#[derive(Clone, Debug, Deserialize, Serialize)]
16871#[serde(deny_unknown_fields)]
16872pub struct IssuesOpenedChanges {
16873 pub old_issue: Issue,
16874 pub old_repository: Repository,
16875}
16876impl From<&IssuesOpenedChanges> for IssuesOpenedChanges {
16877 fn from(value: &IssuesOpenedChanges) -> Self {
16878 value.clone()
16879 }
16880}
16881#[derive(Clone, Debug, Deserialize, Serialize)]
16882#[serde(deny_unknown_fields)]
16883pub struct IssuesPinned {
16884 pub action: IssuesPinnedAction,
16885 #[serde(default, skip_serializing_if = "Option::is_none")]
16886 pub installation: Option<InstallationLite>,
16887 pub issue: Issue,
16888 #[serde(default, skip_serializing_if = "Option::is_none")]
16889 pub organization: Option<Organization>,
16890 pub repository: Repository,
16891 pub sender: User,
16892}
16893impl From<&IssuesPinned> for IssuesPinned {
16894 fn from(value: &IssuesPinned) -> Self {
16895 value.clone()
16896 }
16897}
16898#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16899pub enum IssuesPinnedAction {
16900 #[serde(rename = "pinned")]
16901 Pinned,
16902}
16903impl From<&IssuesPinnedAction> for IssuesPinnedAction {
16904 fn from(value: &IssuesPinnedAction) -> Self {
16905 value.clone()
16906 }
16907}
16908impl ToString for IssuesPinnedAction {
16909 fn to_string(&self) -> String {
16910 match *self {
16911 Self::Pinned => "pinned".to_string(),
16912 }
16913 }
16914}
16915impl std::str::FromStr for IssuesPinnedAction {
16916 type Err = &'static str;
16917
16918 fn from_str(value: &str) -> Result<Self, &'static str> {
16919 match value {
16920 "pinned" => Ok(Self::Pinned),
16921 _ => Err("invalid value"),
16922 }
16923 }
16924}
16925impl std::convert::TryFrom<&str> for IssuesPinnedAction {
16926 type Error = &'static str;
16927
16928 fn try_from(value: &str) -> Result<Self, &'static str> {
16929 value.parse()
16930 }
16931}
16932impl std::convert::TryFrom<&String> for IssuesPinnedAction {
16933 type Error = &'static str;
16934
16935 fn try_from(value: &String) -> Result<Self, &'static str> {
16936 value.parse()
16937 }
16938}
16939impl std::convert::TryFrom<String> for IssuesPinnedAction {
16940 type Error = &'static str;
16941
16942 fn try_from(value: String) -> Result<Self, &'static str> {
16943 value.parse()
16944 }
16945}
16946#[derive(Clone, Debug, Deserialize, Serialize)]
16947#[serde(deny_unknown_fields)]
16948pub struct IssuesReopened {
16949 pub action: IssuesReopenedAction,
16950 #[serde(default, skip_serializing_if = "Option::is_none")]
16951 pub installation: Option<InstallationLite>,
16952 pub issue: Issue,
16953 #[serde(default, skip_serializing_if = "Option::is_none")]
16954 pub organization: Option<Organization>,
16955 pub repository: Repository,
16956 pub sender: User,
16957}
16958impl From<&IssuesReopened> for IssuesReopened {
16959 fn from(value: &IssuesReopened) -> Self {
16960 value.clone()
16961 }
16962}
16963#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
16964pub enum IssuesReopenedAction {
16965 #[serde(rename = "reopened")]
16966 Reopened,
16967}
16968impl From<&IssuesReopenedAction> for IssuesReopenedAction {
16969 fn from(value: &IssuesReopenedAction) -> Self {
16970 value.clone()
16971 }
16972}
16973impl ToString for IssuesReopenedAction {
16974 fn to_string(&self) -> String {
16975 match *self {
16976 Self::Reopened => "reopened".to_string(),
16977 }
16978 }
16979}
16980impl std::str::FromStr for IssuesReopenedAction {
16981 type Err = &'static str;
16982
16983 fn from_str(value: &str) -> Result<Self, &'static str> {
16984 match value {
16985 "reopened" => Ok(Self::Reopened),
16986 _ => Err("invalid value"),
16987 }
16988 }
16989}
16990impl std::convert::TryFrom<&str> for IssuesReopenedAction {
16991 type Error = &'static str;
16992
16993 fn try_from(value: &str) -> Result<Self, &'static str> {
16994 value.parse()
16995 }
16996}
16997impl std::convert::TryFrom<&String> for IssuesReopenedAction {
16998 type Error = &'static str;
16999
17000 fn try_from(value: &String) -> Result<Self, &'static str> {
17001 value.parse()
17002 }
17003}
17004impl std::convert::TryFrom<String> for IssuesReopenedAction {
17005 type Error = &'static str;
17006
17007 fn try_from(value: String) -> Result<Self, &'static str> {
17008 value.parse()
17009 }
17010}
17011#[derive(Clone, Debug, Deserialize, Serialize)]
17012#[serde(deny_unknown_fields)]
17013pub struct IssuesTransferred {
17014 pub action: IssuesTransferredAction,
17015 pub changes: IssuesTransferredChanges,
17016 #[serde(default, skip_serializing_if = "Option::is_none")]
17017 pub installation: Option<InstallationLite>,
17018 pub issue: Issue,
17019 #[serde(default, skip_serializing_if = "Option::is_none")]
17020 pub organization: Option<Organization>,
17021 pub repository: Repository,
17022 pub sender: User,
17023}
17024impl From<&IssuesTransferred> for IssuesTransferred {
17025 fn from(value: &IssuesTransferred) -> Self {
17026 value.clone()
17027 }
17028}
17029#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17030pub enum IssuesTransferredAction {
17031 #[serde(rename = "transferred")]
17032 Transferred,
17033}
17034impl From<&IssuesTransferredAction> for IssuesTransferredAction {
17035 fn from(value: &IssuesTransferredAction) -> Self {
17036 value.clone()
17037 }
17038}
17039impl ToString for IssuesTransferredAction {
17040 fn to_string(&self) -> String {
17041 match *self {
17042 Self::Transferred => "transferred".to_string(),
17043 }
17044 }
17045}
17046impl std::str::FromStr for IssuesTransferredAction {
17047 type Err = &'static str;
17048
17049 fn from_str(value: &str) -> Result<Self, &'static str> {
17050 match value {
17051 "transferred" => Ok(Self::Transferred),
17052 _ => Err("invalid value"),
17053 }
17054 }
17055}
17056impl std::convert::TryFrom<&str> for IssuesTransferredAction {
17057 type Error = &'static str;
17058
17059 fn try_from(value: &str) -> Result<Self, &'static str> {
17060 value.parse()
17061 }
17062}
17063impl std::convert::TryFrom<&String> for IssuesTransferredAction {
17064 type Error = &'static str;
17065
17066 fn try_from(value: &String) -> Result<Self, &'static str> {
17067 value.parse()
17068 }
17069}
17070impl std::convert::TryFrom<String> for IssuesTransferredAction {
17071 type Error = &'static str;
17072
17073 fn try_from(value: String) -> Result<Self, &'static str> {
17074 value.parse()
17075 }
17076}
17077#[derive(Clone, Debug, Deserialize, Serialize)]
17078#[serde(deny_unknown_fields)]
17079pub struct IssuesTransferredChanges {
17080 pub new_issue: Issue,
17081 pub new_repository: Repository,
17082}
17083impl From<&IssuesTransferredChanges> for IssuesTransferredChanges {
17084 fn from(value: &IssuesTransferredChanges) -> Self {
17085 value.clone()
17086 }
17087}
17088#[derive(Clone, Debug, Deserialize, Serialize)]
17089#[serde(deny_unknown_fields)]
17090pub struct IssuesUnassigned {
17091 pub action: IssuesUnassignedAction,
17093 #[serde(default, skip_serializing_if = "Option::is_none")]
17095 pub assignee: Option<User>,
17096 #[serde(default, skip_serializing_if = "Option::is_none")]
17097 pub installation: Option<InstallationLite>,
17098 pub issue: Issue,
17099 #[serde(default, skip_serializing_if = "Option::is_none")]
17100 pub organization: Option<Organization>,
17101 pub repository: Repository,
17102 pub sender: User,
17103}
17104impl From<&IssuesUnassigned> for IssuesUnassigned {
17105 fn from(value: &IssuesUnassigned) -> Self {
17106 value.clone()
17107 }
17108}
17109#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17111pub enum IssuesUnassignedAction {
17112 #[serde(rename = "unassigned")]
17113 Unassigned,
17114}
17115impl From<&IssuesUnassignedAction> for IssuesUnassignedAction {
17116 fn from(value: &IssuesUnassignedAction) -> Self {
17117 value.clone()
17118 }
17119}
17120impl ToString for IssuesUnassignedAction {
17121 fn to_string(&self) -> String {
17122 match *self {
17123 Self::Unassigned => "unassigned".to_string(),
17124 }
17125 }
17126}
17127impl std::str::FromStr for IssuesUnassignedAction {
17128 type Err = &'static str;
17129
17130 fn from_str(value: &str) -> Result<Self, &'static str> {
17131 match value {
17132 "unassigned" => Ok(Self::Unassigned),
17133 _ => Err("invalid value"),
17134 }
17135 }
17136}
17137impl std::convert::TryFrom<&str> for IssuesUnassignedAction {
17138 type Error = &'static str;
17139
17140 fn try_from(value: &str) -> Result<Self, &'static str> {
17141 value.parse()
17142 }
17143}
17144impl std::convert::TryFrom<&String> for IssuesUnassignedAction {
17145 type Error = &'static str;
17146
17147 fn try_from(value: &String) -> Result<Self, &'static str> {
17148 value.parse()
17149 }
17150}
17151impl std::convert::TryFrom<String> for IssuesUnassignedAction {
17152 type Error = &'static str;
17153
17154 fn try_from(value: String) -> Result<Self, &'static str> {
17155 value.parse()
17156 }
17157}
17158#[derive(Clone, Debug, Deserialize, Serialize)]
17159#[serde(deny_unknown_fields)]
17160pub struct IssuesUnlabeled {
17161 pub action: IssuesUnlabeledAction,
17162 #[serde(default, skip_serializing_if = "Option::is_none")]
17163 pub installation: Option<InstallationLite>,
17164 pub issue: Issue,
17165 #[serde(default, skip_serializing_if = "Option::is_none")]
17167 pub label: Option<Label>,
17168 #[serde(default, skip_serializing_if = "Option::is_none")]
17169 pub organization: Option<Organization>,
17170 pub repository: Repository,
17171 pub sender: User,
17172}
17173impl From<&IssuesUnlabeled> for IssuesUnlabeled {
17174 fn from(value: &IssuesUnlabeled) -> Self {
17175 value.clone()
17176 }
17177}
17178#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17179pub enum IssuesUnlabeledAction {
17180 #[serde(rename = "unlabeled")]
17181 Unlabeled,
17182}
17183impl From<&IssuesUnlabeledAction> for IssuesUnlabeledAction {
17184 fn from(value: &IssuesUnlabeledAction) -> Self {
17185 value.clone()
17186 }
17187}
17188impl ToString for IssuesUnlabeledAction {
17189 fn to_string(&self) -> String {
17190 match *self {
17191 Self::Unlabeled => "unlabeled".to_string(),
17192 }
17193 }
17194}
17195impl std::str::FromStr for IssuesUnlabeledAction {
17196 type Err = &'static str;
17197
17198 fn from_str(value: &str) -> Result<Self, &'static str> {
17199 match value {
17200 "unlabeled" => Ok(Self::Unlabeled),
17201 _ => Err("invalid value"),
17202 }
17203 }
17204}
17205impl std::convert::TryFrom<&str> for IssuesUnlabeledAction {
17206 type Error = &'static str;
17207
17208 fn try_from(value: &str) -> Result<Self, &'static str> {
17209 value.parse()
17210 }
17211}
17212impl std::convert::TryFrom<&String> for IssuesUnlabeledAction {
17213 type Error = &'static str;
17214
17215 fn try_from(value: &String) -> Result<Self, &'static str> {
17216 value.parse()
17217 }
17218}
17219impl std::convert::TryFrom<String> for IssuesUnlabeledAction {
17220 type Error = &'static str;
17221
17222 fn try_from(value: String) -> Result<Self, &'static str> {
17223 value.parse()
17224 }
17225}
17226#[derive(Clone, Debug, Deserialize, Serialize)]
17227#[serde(deny_unknown_fields)]
17228pub struct IssuesUnlocked {
17229 pub action: IssuesUnlockedAction,
17230 #[serde(default, skip_serializing_if = "Option::is_none")]
17231 pub installation: Option<InstallationLite>,
17232 pub issue: Issue,
17233 #[serde(default, skip_serializing_if = "Option::is_none")]
17234 pub organization: Option<Organization>,
17235 pub repository: Repository,
17236 pub sender: User,
17237}
17238impl From<&IssuesUnlocked> for IssuesUnlocked {
17239 fn from(value: &IssuesUnlocked) -> Self {
17240 value.clone()
17241 }
17242}
17243#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17244pub enum IssuesUnlockedAction {
17245 #[serde(rename = "unlocked")]
17246 Unlocked,
17247}
17248impl From<&IssuesUnlockedAction> for IssuesUnlockedAction {
17249 fn from(value: &IssuesUnlockedAction) -> Self {
17250 value.clone()
17251 }
17252}
17253impl ToString for IssuesUnlockedAction {
17254 fn to_string(&self) -> String {
17255 match *self {
17256 Self::Unlocked => "unlocked".to_string(),
17257 }
17258 }
17259}
17260impl std::str::FromStr for IssuesUnlockedAction {
17261 type Err = &'static str;
17262
17263 fn from_str(value: &str) -> Result<Self, &'static str> {
17264 match value {
17265 "unlocked" => Ok(Self::Unlocked),
17266 _ => Err("invalid value"),
17267 }
17268 }
17269}
17270impl std::convert::TryFrom<&str> for IssuesUnlockedAction {
17271 type Error = &'static str;
17272
17273 fn try_from(value: &str) -> Result<Self, &'static str> {
17274 value.parse()
17275 }
17276}
17277impl std::convert::TryFrom<&String> for IssuesUnlockedAction {
17278 type Error = &'static str;
17279
17280 fn try_from(value: &String) -> Result<Self, &'static str> {
17281 value.parse()
17282 }
17283}
17284impl std::convert::TryFrom<String> for IssuesUnlockedAction {
17285 type Error = &'static str;
17286
17287 fn try_from(value: String) -> Result<Self, &'static str> {
17288 value.parse()
17289 }
17290}
17291#[derive(Clone, Debug, Deserialize, Serialize)]
17292#[serde(deny_unknown_fields)]
17293pub struct IssuesUnpinned {
17294 pub action: IssuesUnpinnedAction,
17295 #[serde(default, skip_serializing_if = "Option::is_none")]
17296 pub installation: Option<InstallationLite>,
17297 pub issue: Issue,
17298 #[serde(default, skip_serializing_if = "Option::is_none")]
17299 pub organization: Option<Organization>,
17300 pub repository: Repository,
17301 pub sender: User,
17302}
17303impl From<&IssuesUnpinned> for IssuesUnpinned {
17304 fn from(value: &IssuesUnpinned) -> Self {
17305 value.clone()
17306 }
17307}
17308#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17309pub enum IssuesUnpinnedAction {
17310 #[serde(rename = "unpinned")]
17311 Unpinned,
17312}
17313impl From<&IssuesUnpinnedAction> for IssuesUnpinnedAction {
17314 fn from(value: &IssuesUnpinnedAction) -> Self {
17315 value.clone()
17316 }
17317}
17318impl ToString for IssuesUnpinnedAction {
17319 fn to_string(&self) -> String {
17320 match *self {
17321 Self::Unpinned => "unpinned".to_string(),
17322 }
17323 }
17324}
17325impl std::str::FromStr for IssuesUnpinnedAction {
17326 type Err = &'static str;
17327
17328 fn from_str(value: &str) -> Result<Self, &'static str> {
17329 match value {
17330 "unpinned" => Ok(Self::Unpinned),
17331 _ => Err("invalid value"),
17332 }
17333 }
17334}
17335impl std::convert::TryFrom<&str> for IssuesUnpinnedAction {
17336 type Error = &'static str;
17337
17338 fn try_from(value: &str) -> Result<Self, &'static str> {
17339 value.parse()
17340 }
17341}
17342impl std::convert::TryFrom<&String> for IssuesUnpinnedAction {
17343 type Error = &'static str;
17344
17345 fn try_from(value: &String) -> Result<Self, &'static str> {
17346 value.parse()
17347 }
17348}
17349impl std::convert::TryFrom<String> for IssuesUnpinnedAction {
17350 type Error = &'static str;
17351
17352 fn try_from(value: String) -> Result<Self, &'static str> {
17353 value.parse()
17354 }
17355}
17356#[derive(Clone, Debug, Deserialize, Serialize)]
17357#[serde(deny_unknown_fields)]
17358pub struct Label {
17359 pub color: String,
17361 pub default: bool,
17362 pub description: Option<String>,
17363 pub id: i64,
17364 pub name: String,
17366 pub node_id: String,
17367 pub url: String,
17369}
17370impl From<&Label> for Label {
17371 fn from(value: &Label) -> Self {
17372 value.clone()
17373 }
17374}
17375#[derive(Clone, Debug, Deserialize, Serialize)]
17376#[serde(deny_unknown_fields)]
17377pub struct LabelCreated {
17378 pub action: LabelCreatedAction,
17379 #[serde(default, skip_serializing_if = "Option::is_none")]
17380 pub installation: Option<InstallationLite>,
17381 pub label: Label,
17383 #[serde(default, skip_serializing_if = "Option::is_none")]
17384 pub organization: Option<Organization>,
17385 pub repository: Repository,
17386 pub sender: User,
17387}
17388impl From<&LabelCreated> for LabelCreated {
17389 fn from(value: &LabelCreated) -> Self {
17390 value.clone()
17391 }
17392}
17393#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17394pub enum LabelCreatedAction {
17395 #[serde(rename = "created")]
17396 Created,
17397}
17398impl From<&LabelCreatedAction> for LabelCreatedAction {
17399 fn from(value: &LabelCreatedAction) -> Self {
17400 value.clone()
17401 }
17402}
17403impl ToString for LabelCreatedAction {
17404 fn to_string(&self) -> String {
17405 match *self {
17406 Self::Created => "created".to_string(),
17407 }
17408 }
17409}
17410impl std::str::FromStr for LabelCreatedAction {
17411 type Err = &'static str;
17412
17413 fn from_str(value: &str) -> Result<Self, &'static str> {
17414 match value {
17415 "created" => Ok(Self::Created),
17416 _ => Err("invalid value"),
17417 }
17418 }
17419}
17420impl std::convert::TryFrom<&str> for LabelCreatedAction {
17421 type Error = &'static str;
17422
17423 fn try_from(value: &str) -> Result<Self, &'static str> {
17424 value.parse()
17425 }
17426}
17427impl std::convert::TryFrom<&String> for LabelCreatedAction {
17428 type Error = &'static str;
17429
17430 fn try_from(value: &String) -> Result<Self, &'static str> {
17431 value.parse()
17432 }
17433}
17434impl std::convert::TryFrom<String> for LabelCreatedAction {
17435 type Error = &'static str;
17436
17437 fn try_from(value: String) -> Result<Self, &'static str> {
17438 value.parse()
17439 }
17440}
17441#[derive(Clone, Debug, Deserialize, Serialize)]
17442#[serde(deny_unknown_fields)]
17443pub struct LabelDeleted {
17444 pub action: LabelDeletedAction,
17445 #[serde(default, skip_serializing_if = "Option::is_none")]
17446 pub installation: Option<InstallationLite>,
17447 pub label: Label,
17449 #[serde(default, skip_serializing_if = "Option::is_none")]
17450 pub organization: Option<Organization>,
17451 pub repository: Repository,
17452 pub sender: User,
17453}
17454impl From<&LabelDeleted> for LabelDeleted {
17455 fn from(value: &LabelDeleted) -> Self {
17456 value.clone()
17457 }
17458}
17459#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17460pub enum LabelDeletedAction {
17461 #[serde(rename = "deleted")]
17462 Deleted,
17463}
17464impl From<&LabelDeletedAction> for LabelDeletedAction {
17465 fn from(value: &LabelDeletedAction) -> Self {
17466 value.clone()
17467 }
17468}
17469impl ToString for LabelDeletedAction {
17470 fn to_string(&self) -> String {
17471 match *self {
17472 Self::Deleted => "deleted".to_string(),
17473 }
17474 }
17475}
17476impl std::str::FromStr for LabelDeletedAction {
17477 type Err = &'static str;
17478
17479 fn from_str(value: &str) -> Result<Self, &'static str> {
17480 match value {
17481 "deleted" => Ok(Self::Deleted),
17482 _ => Err("invalid value"),
17483 }
17484 }
17485}
17486impl std::convert::TryFrom<&str> for LabelDeletedAction {
17487 type Error = &'static str;
17488
17489 fn try_from(value: &str) -> Result<Self, &'static str> {
17490 value.parse()
17491 }
17492}
17493impl std::convert::TryFrom<&String> for LabelDeletedAction {
17494 type Error = &'static str;
17495
17496 fn try_from(value: &String) -> Result<Self, &'static str> {
17497 value.parse()
17498 }
17499}
17500impl std::convert::TryFrom<String> for LabelDeletedAction {
17501 type Error = &'static str;
17502
17503 fn try_from(value: String) -> Result<Self, &'static str> {
17504 value.parse()
17505 }
17506}
17507#[derive(Clone, Debug, Deserialize, Serialize)]
17508#[serde(deny_unknown_fields)]
17509pub struct LabelEdited {
17510 pub action: LabelEditedAction,
17511 #[serde(default, skip_serializing_if = "Option::is_none")]
17512 pub changes: Option<LabelEditedChanges>,
17513 #[serde(default, skip_serializing_if = "Option::is_none")]
17514 pub installation: Option<InstallationLite>,
17515 pub label: Label,
17517 #[serde(default, skip_serializing_if = "Option::is_none")]
17518 pub organization: Option<Organization>,
17519 pub repository: Repository,
17520 pub sender: User,
17521}
17522impl From<&LabelEdited> for LabelEdited {
17523 fn from(value: &LabelEdited) -> Self {
17524 value.clone()
17525 }
17526}
17527#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17528pub enum LabelEditedAction {
17529 #[serde(rename = "edited")]
17530 Edited,
17531}
17532impl From<&LabelEditedAction> for LabelEditedAction {
17533 fn from(value: &LabelEditedAction) -> Self {
17534 value.clone()
17535 }
17536}
17537impl ToString for LabelEditedAction {
17538 fn to_string(&self) -> String {
17539 match *self {
17540 Self::Edited => "edited".to_string(),
17541 }
17542 }
17543}
17544impl std::str::FromStr for LabelEditedAction {
17545 type Err = &'static str;
17546
17547 fn from_str(value: &str) -> Result<Self, &'static str> {
17548 match value {
17549 "edited" => Ok(Self::Edited),
17550 _ => Err("invalid value"),
17551 }
17552 }
17553}
17554impl std::convert::TryFrom<&str> for LabelEditedAction {
17555 type Error = &'static str;
17556
17557 fn try_from(value: &str) -> Result<Self, &'static str> {
17558 value.parse()
17559 }
17560}
17561impl std::convert::TryFrom<&String> for LabelEditedAction {
17562 type Error = &'static str;
17563
17564 fn try_from(value: &String) -> Result<Self, &'static str> {
17565 value.parse()
17566 }
17567}
17568impl std::convert::TryFrom<String> for LabelEditedAction {
17569 type Error = &'static str;
17570
17571 fn try_from(value: String) -> Result<Self, &'static str> {
17572 value.parse()
17573 }
17574}
17575#[derive(Clone, Debug, Deserialize, Serialize)]
17577#[serde(deny_unknown_fields)]
17578pub struct LabelEditedChanges {
17579 #[serde(default, skip_serializing_if = "Option::is_none")]
17580 pub color: Option<LabelEditedChangesColor>,
17581 #[serde(default, skip_serializing_if = "Option::is_none")]
17582 pub description: Option<LabelEditedChangesDescription>,
17583 #[serde(default, skip_serializing_if = "Option::is_none")]
17584 pub name: Option<LabelEditedChangesName>,
17585}
17586impl From<&LabelEditedChanges> for LabelEditedChanges {
17587 fn from(value: &LabelEditedChanges) -> Self {
17588 value.clone()
17589 }
17590}
17591#[derive(Clone, Debug, Deserialize, Serialize)]
17592#[serde(deny_unknown_fields)]
17593pub struct LabelEditedChangesColor {
17594 pub from: String,
17596}
17597impl From<&LabelEditedChangesColor> for LabelEditedChangesColor {
17598 fn from(value: &LabelEditedChangesColor) -> Self {
17599 value.clone()
17600 }
17601}
17602#[derive(Clone, Debug, Deserialize, Serialize)]
17603#[serde(deny_unknown_fields)]
17604pub struct LabelEditedChangesDescription {
17605 pub from: String,
17607}
17608impl From<&LabelEditedChangesDescription> for LabelEditedChangesDescription {
17609 fn from(value: &LabelEditedChangesDescription) -> Self {
17610 value.clone()
17611 }
17612}
17613#[derive(Clone, Debug, Deserialize, Serialize)]
17614#[serde(deny_unknown_fields)]
17615pub struct LabelEditedChangesName {
17616 pub from: String,
17618}
17619impl From<&LabelEditedChangesName> for LabelEditedChangesName {
17620 fn from(value: &LabelEditedChangesName) -> Self {
17621 value.clone()
17622 }
17623}
17624#[derive(Clone, Debug, Deserialize, Serialize)]
17625#[serde(untagged)]
17626pub enum LabelEvent {
17627 Created(LabelCreated),
17628 Deleted(LabelDeleted),
17629 Edited(LabelEdited),
17630}
17631impl From<&LabelEvent> for LabelEvent {
17632 fn from(value: &LabelEvent) -> Self {
17633 value.clone()
17634 }
17635}
17636impl From<LabelCreated> for LabelEvent {
17637 fn from(value: LabelCreated) -> Self {
17638 Self::Created(value)
17639 }
17640}
17641impl From<LabelDeleted> for LabelEvent {
17642 fn from(value: LabelDeleted) -> Self {
17643 Self::Deleted(value)
17644 }
17645}
17646impl From<LabelEdited> for LabelEvent {
17647 fn from(value: LabelEdited) -> Self {
17648 Self::Edited(value)
17649 }
17650}
17651#[derive(Clone, Debug, Deserialize, Serialize)]
17652#[serde(deny_unknown_fields)]
17653pub struct License {
17654 pub key: String,
17655 pub name: String,
17656 pub node_id: String,
17657 pub spdx_id: String,
17658 pub url: Option<String>,
17659}
17660impl From<&License> for License {
17661 fn from(value: &License) -> Self {
17662 value.clone()
17663 }
17664}
17665#[derive(Clone, Debug, Deserialize, Serialize)]
17666#[serde(deny_unknown_fields)]
17667pub struct Link {
17668 pub href: String,
17669}
17670impl From<&Link> for Link {
17671 fn from(value: &Link) -> Self {
17672 value.clone()
17673 }
17674}
17675#[derive(Clone, Debug, Deserialize, Serialize)]
17676#[serde(deny_unknown_fields)]
17677pub struct MarketplacePurchase {
17678 pub account: MarketplacePurchaseAccount,
17679 pub billing_cycle: String,
17680 pub free_trial_ends_on: Option<chrono::DateTime<chrono::offset::Utc>>,
17681 #[serde(default, skip_serializing_if = "Option::is_none")]
17682 pub next_billing_date: Option<String>,
17683 pub on_free_trial: bool,
17684 pub plan: MarketplacePurchasePlan,
17685 pub unit_count: i64,
17686}
17687impl From<&MarketplacePurchase> for MarketplacePurchase {
17688 fn from(value: &MarketplacePurchase) -> Self {
17689 value.clone()
17690 }
17691}
17692#[derive(Clone, Debug, Deserialize, Serialize)]
17693#[serde(deny_unknown_fields)]
17694pub struct MarketplacePurchaseAccount {
17695 pub id: i64,
17696 pub login: String,
17697 pub node_id: String,
17698 pub organization_billing_email: String,
17699 #[serde(rename = "type")]
17700 pub type_: String,
17701}
17702impl From<&MarketplacePurchaseAccount> for MarketplacePurchaseAccount {
17703 fn from(value: &MarketplacePurchaseAccount) -> Self {
17704 value.clone()
17705 }
17706}
17707#[derive(Clone, Debug, Deserialize, Serialize)]
17708#[serde(deny_unknown_fields)]
17709pub struct MarketplacePurchaseCancelled {
17710 pub action: MarketplacePurchaseCancelledAction,
17711 pub effective_date: chrono::DateTime<chrono::offset::Utc>,
17712 pub marketplace_purchase: MarketplacePurchase,
17713 #[serde(default, skip_serializing_if = "Option::is_none")]
17714 pub previous_marketplace_purchase: Option<MarketplacePurchase>,
17715 pub sender: MarketplacePurchaseCancelledSender,
17716}
17717impl From<&MarketplacePurchaseCancelled> for MarketplacePurchaseCancelled {
17718 fn from(value: &MarketplacePurchaseCancelled) -> Self {
17719 value.clone()
17720 }
17721}
17722#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17723pub enum MarketplacePurchaseCancelledAction {
17724 #[serde(rename = "cancelled")]
17725 Cancelled,
17726}
17727impl From<&MarketplacePurchaseCancelledAction> for MarketplacePurchaseCancelledAction {
17728 fn from(value: &MarketplacePurchaseCancelledAction) -> Self {
17729 value.clone()
17730 }
17731}
17732impl ToString for MarketplacePurchaseCancelledAction {
17733 fn to_string(&self) -> String {
17734 match *self {
17735 Self::Cancelled => "cancelled".to_string(),
17736 }
17737 }
17738}
17739impl std::str::FromStr for MarketplacePurchaseCancelledAction {
17740 type Err = &'static str;
17741
17742 fn from_str(value: &str) -> Result<Self, &'static str> {
17743 match value {
17744 "cancelled" => Ok(Self::Cancelled),
17745 _ => Err("invalid value"),
17746 }
17747 }
17748}
17749impl std::convert::TryFrom<&str> for MarketplacePurchaseCancelledAction {
17750 type Error = &'static str;
17751
17752 fn try_from(value: &str) -> Result<Self, &'static str> {
17753 value.parse()
17754 }
17755}
17756impl std::convert::TryFrom<&String> for MarketplacePurchaseCancelledAction {
17757 type Error = &'static str;
17758
17759 fn try_from(value: &String) -> Result<Self, &'static str> {
17760 value.parse()
17761 }
17762}
17763impl std::convert::TryFrom<String> for MarketplacePurchaseCancelledAction {
17764 type Error = &'static str;
17765
17766 fn try_from(value: String) -> Result<Self, &'static str> {
17767 value.parse()
17768 }
17769}
17770#[derive(Clone, Debug, Deserialize, Serialize)]
17771#[serde(deny_unknown_fields)]
17772pub struct MarketplacePurchaseCancelledSender {
17773 pub avatar_url: String,
17774 pub email: String,
17775 pub events_url: String,
17776 pub followers_url: String,
17777 pub following_url: String,
17778 pub gists_url: String,
17779 pub gravatar_id: String,
17780 pub html_url: String,
17781 pub id: i64,
17782 pub login: String,
17783 pub organizations_url: String,
17784 pub received_events_url: String,
17785 pub repos_url: String,
17786 pub site_admin: bool,
17787 pub starred_url: String,
17788 pub subscriptions_url: String,
17789 #[serde(rename = "type")]
17790 pub type_: String,
17791 pub url: String,
17792}
17793impl From<&MarketplacePurchaseCancelledSender> for MarketplacePurchaseCancelledSender {
17794 fn from(value: &MarketplacePurchaseCancelledSender) -> Self {
17795 value.clone()
17796 }
17797}
17798#[derive(Clone, Debug, Deserialize, Serialize)]
17799#[serde(deny_unknown_fields)]
17800pub struct MarketplacePurchaseChanged {
17801 pub action: MarketplacePurchaseChangedAction,
17802 pub effective_date: chrono::DateTime<chrono::offset::Utc>,
17803 pub marketplace_purchase: MarketplacePurchase,
17804 #[serde(default, skip_serializing_if = "Option::is_none")]
17805 pub previous_marketplace_purchase: Option<MarketplacePurchase>,
17806 pub sender: MarketplacePurchaseChangedSender,
17807}
17808impl From<&MarketplacePurchaseChanged> for MarketplacePurchaseChanged {
17809 fn from(value: &MarketplacePurchaseChanged) -> Self {
17810 value.clone()
17811 }
17812}
17813#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17814pub enum MarketplacePurchaseChangedAction {
17815 #[serde(rename = "changed")]
17816 Changed,
17817}
17818impl From<&MarketplacePurchaseChangedAction> for MarketplacePurchaseChangedAction {
17819 fn from(value: &MarketplacePurchaseChangedAction) -> Self {
17820 value.clone()
17821 }
17822}
17823impl ToString for MarketplacePurchaseChangedAction {
17824 fn to_string(&self) -> String {
17825 match *self {
17826 Self::Changed => "changed".to_string(),
17827 }
17828 }
17829}
17830impl std::str::FromStr for MarketplacePurchaseChangedAction {
17831 type Err = &'static str;
17832
17833 fn from_str(value: &str) -> Result<Self, &'static str> {
17834 match value {
17835 "changed" => Ok(Self::Changed),
17836 _ => Err("invalid value"),
17837 }
17838 }
17839}
17840impl std::convert::TryFrom<&str> for MarketplacePurchaseChangedAction {
17841 type Error = &'static str;
17842
17843 fn try_from(value: &str) -> Result<Self, &'static str> {
17844 value.parse()
17845 }
17846}
17847impl std::convert::TryFrom<&String> for MarketplacePurchaseChangedAction {
17848 type Error = &'static str;
17849
17850 fn try_from(value: &String) -> Result<Self, &'static str> {
17851 value.parse()
17852 }
17853}
17854impl std::convert::TryFrom<String> for MarketplacePurchaseChangedAction {
17855 type Error = &'static str;
17856
17857 fn try_from(value: String) -> Result<Self, &'static str> {
17858 value.parse()
17859 }
17860}
17861#[derive(Clone, Debug, Deserialize, Serialize)]
17862#[serde(deny_unknown_fields)]
17863pub struct MarketplacePurchaseChangedSender {
17864 pub avatar_url: String,
17865 pub email: String,
17866 pub events_url: String,
17867 pub followers_url: String,
17868 pub following_url: String,
17869 pub gists_url: String,
17870 pub gravatar_id: String,
17871 pub html_url: String,
17872 pub id: i64,
17873 pub login: String,
17874 pub organizations_url: String,
17875 pub received_events_url: String,
17876 pub repos_url: String,
17877 pub site_admin: bool,
17878 pub starred_url: String,
17879 pub subscriptions_url: String,
17880 #[serde(rename = "type")]
17881 pub type_: String,
17882 pub url: String,
17883}
17884impl From<&MarketplacePurchaseChangedSender> for MarketplacePurchaseChangedSender {
17885 fn from(value: &MarketplacePurchaseChangedSender) -> Self {
17886 value.clone()
17887 }
17888}
17889#[derive(Clone, Debug, Deserialize, Serialize)]
17890#[serde(untagged)]
17891pub enum MarketplacePurchaseEvent {
17892 Cancelled(MarketplacePurchaseCancelled),
17893 Changed(MarketplacePurchaseChanged),
17894 PendingChange(MarketplacePurchasePendingChange),
17895 PendingChangeCancelled(MarketplacePurchasePendingChangeCancelled),
17896 Purchased(MarketplacePurchasePurchased),
17897}
17898impl From<&MarketplacePurchaseEvent> for MarketplacePurchaseEvent {
17899 fn from(value: &MarketplacePurchaseEvent) -> Self {
17900 value.clone()
17901 }
17902}
17903impl From<MarketplacePurchaseCancelled> for MarketplacePurchaseEvent {
17904 fn from(value: MarketplacePurchaseCancelled) -> Self {
17905 Self::Cancelled(value)
17906 }
17907}
17908impl From<MarketplacePurchaseChanged> for MarketplacePurchaseEvent {
17909 fn from(value: MarketplacePurchaseChanged) -> Self {
17910 Self::Changed(value)
17911 }
17912}
17913impl From<MarketplacePurchasePendingChange> for MarketplacePurchaseEvent {
17914 fn from(value: MarketplacePurchasePendingChange) -> Self {
17915 Self::PendingChange(value)
17916 }
17917}
17918impl From<MarketplacePurchasePendingChangeCancelled> for MarketplacePurchaseEvent {
17919 fn from(value: MarketplacePurchasePendingChangeCancelled) -> Self {
17920 Self::PendingChangeCancelled(value)
17921 }
17922}
17923impl From<MarketplacePurchasePurchased> for MarketplacePurchaseEvent {
17924 fn from(value: MarketplacePurchasePurchased) -> Self {
17925 Self::Purchased(value)
17926 }
17927}
17928#[derive(Clone, Debug, Deserialize, Serialize)]
17929#[serde(deny_unknown_fields)]
17930pub struct MarketplacePurchasePendingChange {
17931 pub action: MarketplacePurchasePendingChangeAction,
17932 pub effective_date: chrono::DateTime<chrono::offset::Utc>,
17933 pub marketplace_purchase: MarketplacePurchase,
17934 #[serde(default, skip_serializing_if = "Option::is_none")]
17935 pub previous_marketplace_purchase: Option<MarketplacePurchase>,
17936 pub sender: MarketplacePurchasePendingChangeSender,
17937}
17938impl From<&MarketplacePurchasePendingChange> for MarketplacePurchasePendingChange {
17939 fn from(value: &MarketplacePurchasePendingChange) -> Self {
17940 value.clone()
17941 }
17942}
17943#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
17944pub enum MarketplacePurchasePendingChangeAction {
17945 #[serde(rename = "pending_change")]
17946 PendingChange,
17947}
17948impl From<&MarketplacePurchasePendingChangeAction> for MarketplacePurchasePendingChangeAction {
17949 fn from(value: &MarketplacePurchasePendingChangeAction) -> Self {
17950 value.clone()
17951 }
17952}
17953impl ToString for MarketplacePurchasePendingChangeAction {
17954 fn to_string(&self) -> String {
17955 match *self {
17956 Self::PendingChange => "pending_change".to_string(),
17957 }
17958 }
17959}
17960impl std::str::FromStr for MarketplacePurchasePendingChangeAction {
17961 type Err = &'static str;
17962
17963 fn from_str(value: &str) -> Result<Self, &'static str> {
17964 match value {
17965 "pending_change" => Ok(Self::PendingChange),
17966 _ => Err("invalid value"),
17967 }
17968 }
17969}
17970impl std::convert::TryFrom<&str> for MarketplacePurchasePendingChangeAction {
17971 type Error = &'static str;
17972
17973 fn try_from(value: &str) -> Result<Self, &'static str> {
17974 value.parse()
17975 }
17976}
17977impl std::convert::TryFrom<&String> for MarketplacePurchasePendingChangeAction {
17978 type Error = &'static str;
17979
17980 fn try_from(value: &String) -> Result<Self, &'static str> {
17981 value.parse()
17982 }
17983}
17984impl std::convert::TryFrom<String> for MarketplacePurchasePendingChangeAction {
17985 type Error = &'static str;
17986
17987 fn try_from(value: String) -> Result<Self, &'static str> {
17988 value.parse()
17989 }
17990}
17991#[derive(Clone, Debug, Deserialize, Serialize)]
17992#[serde(deny_unknown_fields)]
17993pub struct MarketplacePurchasePendingChangeCancelled {
17994 pub action: MarketplacePurchasePendingChangeCancelledAction,
17995 pub effective_date: chrono::DateTime<chrono::offset::Utc>,
17996 pub marketplace_purchase: MarketplacePurchase,
17997 #[serde(default, skip_serializing_if = "Option::is_none")]
17998 pub previous_marketplace_purchase: Option<MarketplacePurchase>,
17999 pub sender: MarketplacePurchasePendingChangeCancelledSender,
18000}
18001impl From<&MarketplacePurchasePendingChangeCancelled>
18002 for MarketplacePurchasePendingChangeCancelled
18003{
18004 fn from(value: &MarketplacePurchasePendingChangeCancelled) -> Self {
18005 value.clone()
18006 }
18007}
18008#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18009pub enum MarketplacePurchasePendingChangeCancelledAction {
18010 #[serde(rename = "pending_change_cancelled")]
18011 PendingChangeCancelled,
18012}
18013impl From<&MarketplacePurchasePendingChangeCancelledAction>
18014 for MarketplacePurchasePendingChangeCancelledAction
18015{
18016 fn from(value: &MarketplacePurchasePendingChangeCancelledAction) -> Self {
18017 value.clone()
18018 }
18019}
18020impl ToString for MarketplacePurchasePendingChangeCancelledAction {
18021 fn to_string(&self) -> String {
18022 match *self {
18023 Self::PendingChangeCancelled => "pending_change_cancelled".to_string(),
18024 }
18025 }
18026}
18027impl std::str::FromStr for MarketplacePurchasePendingChangeCancelledAction {
18028 type Err = &'static str;
18029
18030 fn from_str(value: &str) -> Result<Self, &'static str> {
18031 match value {
18032 "pending_change_cancelled" => Ok(Self::PendingChangeCancelled),
18033 _ => Err("invalid value"),
18034 }
18035 }
18036}
18037impl std::convert::TryFrom<&str> for MarketplacePurchasePendingChangeCancelledAction {
18038 type Error = &'static str;
18039
18040 fn try_from(value: &str) -> Result<Self, &'static str> {
18041 value.parse()
18042 }
18043}
18044impl std::convert::TryFrom<&String> for MarketplacePurchasePendingChangeCancelledAction {
18045 type Error = &'static str;
18046
18047 fn try_from(value: &String) -> Result<Self, &'static str> {
18048 value.parse()
18049 }
18050}
18051impl std::convert::TryFrom<String> for MarketplacePurchasePendingChangeCancelledAction {
18052 type Error = &'static str;
18053
18054 fn try_from(value: String) -> Result<Self, &'static str> {
18055 value.parse()
18056 }
18057}
18058#[derive(Clone, Debug, Deserialize, Serialize)]
18059#[serde(deny_unknown_fields)]
18060pub struct MarketplacePurchasePendingChangeCancelledSender {
18061 pub avatar_url: String,
18062 pub email: String,
18063 pub events_url: String,
18064 pub followers_url: String,
18065 pub following_url: String,
18066 pub gists_url: String,
18067 pub gravatar_id: String,
18068 pub html_url: String,
18069 pub id: i64,
18070 pub login: String,
18071 pub organizations_url: String,
18072 pub received_events_url: String,
18073 pub repos_url: String,
18074 pub site_admin: bool,
18075 pub starred_url: String,
18076 pub subscriptions_url: String,
18077 #[serde(rename = "type")]
18078 pub type_: String,
18079 pub url: String,
18080}
18081impl From<&MarketplacePurchasePendingChangeCancelledSender>
18082 for MarketplacePurchasePendingChangeCancelledSender
18083{
18084 fn from(value: &MarketplacePurchasePendingChangeCancelledSender) -> Self {
18085 value.clone()
18086 }
18087}
18088#[derive(Clone, Debug, Deserialize, Serialize)]
18089#[serde(deny_unknown_fields)]
18090pub struct MarketplacePurchasePendingChangeSender {
18091 pub avatar_url: String,
18092 pub email: String,
18093 pub events_url: String,
18094 pub followers_url: String,
18095 pub following_url: String,
18096 pub gists_url: String,
18097 pub gravatar_id: String,
18098 pub html_url: String,
18099 pub id: i64,
18100 pub login: String,
18101 pub organizations_url: String,
18102 pub received_events_url: String,
18103 pub repos_url: String,
18104 pub site_admin: bool,
18105 pub starred_url: String,
18106 pub subscriptions_url: String,
18107 #[serde(rename = "type")]
18108 pub type_: String,
18109 pub url: String,
18110}
18111impl From<&MarketplacePurchasePendingChangeSender> for MarketplacePurchasePendingChangeSender {
18112 fn from(value: &MarketplacePurchasePendingChangeSender) -> Self {
18113 value.clone()
18114 }
18115}
18116#[derive(Clone, Debug, Deserialize, Serialize)]
18117#[serde(deny_unknown_fields)]
18118pub struct MarketplacePurchasePlan {
18119 pub bullets: Vec<String>,
18120 pub description: String,
18121 pub has_free_trial: bool,
18122 pub id: i64,
18123 pub monthly_price_in_cents: i64,
18124 pub name: String,
18125 pub price_model: String,
18126 pub unit_name: Option<String>,
18127 pub yearly_price_in_cents: i64,
18128}
18129impl From<&MarketplacePurchasePlan> for MarketplacePurchasePlan {
18130 fn from(value: &MarketplacePurchasePlan) -> Self {
18131 value.clone()
18132 }
18133}
18134#[derive(Clone, Debug, Deserialize, Serialize)]
18135#[serde(deny_unknown_fields)]
18136pub struct MarketplacePurchasePurchased {
18137 pub action: MarketplacePurchasePurchasedAction,
18138 pub effective_date: chrono::DateTime<chrono::offset::Utc>,
18139 pub marketplace_purchase: MarketplacePurchase,
18140 #[serde(default, skip_serializing_if = "Option::is_none")]
18141 pub previous_marketplace_purchase: Option<MarketplacePurchase>,
18142 pub sender: MarketplacePurchasePurchasedSender,
18143}
18144impl From<&MarketplacePurchasePurchased> for MarketplacePurchasePurchased {
18145 fn from(value: &MarketplacePurchasePurchased) -> Self {
18146 value.clone()
18147 }
18148}
18149#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18150pub enum MarketplacePurchasePurchasedAction {
18151 #[serde(rename = "purchased")]
18152 Purchased,
18153}
18154impl From<&MarketplacePurchasePurchasedAction> for MarketplacePurchasePurchasedAction {
18155 fn from(value: &MarketplacePurchasePurchasedAction) -> Self {
18156 value.clone()
18157 }
18158}
18159impl ToString for MarketplacePurchasePurchasedAction {
18160 fn to_string(&self) -> String {
18161 match *self {
18162 Self::Purchased => "purchased".to_string(),
18163 }
18164 }
18165}
18166impl std::str::FromStr for MarketplacePurchasePurchasedAction {
18167 type Err = &'static str;
18168
18169 fn from_str(value: &str) -> Result<Self, &'static str> {
18170 match value {
18171 "purchased" => Ok(Self::Purchased),
18172 _ => Err("invalid value"),
18173 }
18174 }
18175}
18176impl std::convert::TryFrom<&str> for MarketplacePurchasePurchasedAction {
18177 type Error = &'static str;
18178
18179 fn try_from(value: &str) -> Result<Self, &'static str> {
18180 value.parse()
18181 }
18182}
18183impl std::convert::TryFrom<&String> for MarketplacePurchasePurchasedAction {
18184 type Error = &'static str;
18185
18186 fn try_from(value: &String) -> Result<Self, &'static str> {
18187 value.parse()
18188 }
18189}
18190impl std::convert::TryFrom<String> for MarketplacePurchasePurchasedAction {
18191 type Error = &'static str;
18192
18193 fn try_from(value: String) -> Result<Self, &'static str> {
18194 value.parse()
18195 }
18196}
18197#[derive(Clone, Debug, Deserialize, Serialize)]
18198#[serde(deny_unknown_fields)]
18199pub struct MarketplacePurchasePurchasedSender {
18200 pub avatar_url: String,
18201 pub email: String,
18202 pub events_url: String,
18203 pub followers_url: String,
18204 pub following_url: String,
18205 pub gists_url: String,
18206 pub gravatar_id: String,
18207 pub html_url: String,
18208 pub id: i64,
18209 pub login: String,
18210 pub organizations_url: String,
18211 pub received_events_url: String,
18212 pub repos_url: String,
18213 pub site_admin: bool,
18214 pub starred_url: String,
18215 pub subscriptions_url: String,
18216 #[serde(rename = "type")]
18217 pub type_: String,
18218 pub url: String,
18219}
18220impl From<&MarketplacePurchasePurchasedSender> for MarketplacePurchasePurchasedSender {
18221 fn from(value: &MarketplacePurchasePurchasedSender) -> Self {
18222 value.clone()
18223 }
18224}
18225#[derive(Clone, Debug, Deserialize, Serialize)]
18228#[serde(deny_unknown_fields)]
18229pub struct MemberAdded {
18230 pub action: MemberAddedAction,
18231 #[serde(default, skip_serializing_if = "Option::is_none")]
18232 pub changes: Option<MemberAddedChanges>,
18233 #[serde(default, skip_serializing_if = "Option::is_none")]
18234 pub installation: Option<InstallationLite>,
18235 pub member: User,
18237 #[serde(default, skip_serializing_if = "Option::is_none")]
18238 pub organization: Option<Organization>,
18239 pub repository: Repository,
18240 pub sender: User,
18241}
18242impl From<&MemberAdded> for MemberAdded {
18243 fn from(value: &MemberAdded) -> Self {
18244 value.clone()
18245 }
18246}
18247#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18248pub enum MemberAddedAction {
18249 #[serde(rename = "added")]
18250 Added,
18251}
18252impl From<&MemberAddedAction> for MemberAddedAction {
18253 fn from(value: &MemberAddedAction) -> Self {
18254 value.clone()
18255 }
18256}
18257impl ToString for MemberAddedAction {
18258 fn to_string(&self) -> String {
18259 match *self {
18260 Self::Added => "added".to_string(),
18261 }
18262 }
18263}
18264impl std::str::FromStr for MemberAddedAction {
18265 type Err = &'static str;
18266
18267 fn from_str(value: &str) -> Result<Self, &'static str> {
18268 match value {
18269 "added" => Ok(Self::Added),
18270 _ => Err("invalid value"),
18271 }
18272 }
18273}
18274impl std::convert::TryFrom<&str> for MemberAddedAction {
18275 type Error = &'static str;
18276
18277 fn try_from(value: &str) -> Result<Self, &'static str> {
18278 value.parse()
18279 }
18280}
18281impl std::convert::TryFrom<&String> for MemberAddedAction {
18282 type Error = &'static str;
18283
18284 fn try_from(value: &String) -> Result<Self, &'static str> {
18285 value.parse()
18286 }
18287}
18288impl std::convert::TryFrom<String> for MemberAddedAction {
18289 type Error = &'static str;
18290
18291 fn try_from(value: String) -> Result<Self, &'static str> {
18292 value.parse()
18293 }
18294}
18295#[derive(Clone, Debug, Deserialize, Serialize)]
18296#[serde(deny_unknown_fields)]
18297pub struct MemberAddedChanges {
18298 #[serde(default, skip_serializing_if = "Option::is_none")]
18299 pub permission: Option<MemberAddedChangesPermission>,
18300}
18301impl From<&MemberAddedChanges> for MemberAddedChanges {
18302 fn from(value: &MemberAddedChanges) -> Self {
18303 value.clone()
18304 }
18305}
18306#[derive(Clone, Debug, Deserialize, Serialize)]
18307#[serde(deny_unknown_fields)]
18308pub struct MemberAddedChangesPermission {
18309 pub to: MemberAddedChangesPermissionTo,
18310}
18311impl From<&MemberAddedChangesPermission> for MemberAddedChangesPermission {
18312 fn from(value: &MemberAddedChangesPermission) -> Self {
18313 value.clone()
18314 }
18315}
18316#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18317pub enum MemberAddedChangesPermissionTo {
18318 #[serde(rename = "write")]
18319 Write,
18320 #[serde(rename = "admin")]
18321 Admin,
18322}
18323impl From<&MemberAddedChangesPermissionTo> for MemberAddedChangesPermissionTo {
18324 fn from(value: &MemberAddedChangesPermissionTo) -> Self {
18325 value.clone()
18326 }
18327}
18328impl ToString for MemberAddedChangesPermissionTo {
18329 fn to_string(&self) -> String {
18330 match *self {
18331 Self::Write => "write".to_string(),
18332 Self::Admin => "admin".to_string(),
18333 }
18334 }
18335}
18336impl std::str::FromStr for MemberAddedChangesPermissionTo {
18337 type Err = &'static str;
18338
18339 fn from_str(value: &str) -> Result<Self, &'static str> {
18340 match value {
18341 "write" => Ok(Self::Write),
18342 "admin" => Ok(Self::Admin),
18343 _ => Err("invalid value"),
18344 }
18345 }
18346}
18347impl std::convert::TryFrom<&str> for MemberAddedChangesPermissionTo {
18348 type Error = &'static str;
18349
18350 fn try_from(value: &str) -> Result<Self, &'static str> {
18351 value.parse()
18352 }
18353}
18354impl std::convert::TryFrom<&String> for MemberAddedChangesPermissionTo {
18355 type Error = &'static str;
18356
18357 fn try_from(value: &String) -> Result<Self, &'static str> {
18358 value.parse()
18359 }
18360}
18361impl std::convert::TryFrom<String> for MemberAddedChangesPermissionTo {
18362 type Error = &'static str;
18363
18364 fn try_from(value: String) -> Result<Self, &'static str> {
18365 value.parse()
18366 }
18367}
18368#[derive(Clone, Debug, Deserialize, Serialize)]
18369#[serde(deny_unknown_fields)]
18370pub struct MemberEdited {
18371 pub action: MemberEditedAction,
18372 pub changes: MemberEditedChanges,
18373 #[serde(default, skip_serializing_if = "Option::is_none")]
18374 pub installation: Option<InstallationLite>,
18375 pub member: User,
18377 #[serde(default, skip_serializing_if = "Option::is_none")]
18378 pub organization: Option<Organization>,
18379 pub repository: Repository,
18380 pub sender: User,
18381}
18382impl From<&MemberEdited> for MemberEdited {
18383 fn from(value: &MemberEdited) -> Self {
18384 value.clone()
18385 }
18386}
18387#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18388pub enum MemberEditedAction {
18389 #[serde(rename = "edited")]
18390 Edited,
18391}
18392impl From<&MemberEditedAction> for MemberEditedAction {
18393 fn from(value: &MemberEditedAction) -> Self {
18394 value.clone()
18395 }
18396}
18397impl ToString for MemberEditedAction {
18398 fn to_string(&self) -> String {
18399 match *self {
18400 Self::Edited => "edited".to_string(),
18401 }
18402 }
18403}
18404impl std::str::FromStr for MemberEditedAction {
18405 type Err = &'static str;
18406
18407 fn from_str(value: &str) -> Result<Self, &'static str> {
18408 match value {
18409 "edited" => Ok(Self::Edited),
18410 _ => Err("invalid value"),
18411 }
18412 }
18413}
18414impl std::convert::TryFrom<&str> for MemberEditedAction {
18415 type Error = &'static str;
18416
18417 fn try_from(value: &str) -> Result<Self, &'static str> {
18418 value.parse()
18419 }
18420}
18421impl std::convert::TryFrom<&String> for MemberEditedAction {
18422 type Error = &'static str;
18423
18424 fn try_from(value: &String) -> Result<Self, &'static str> {
18425 value.parse()
18426 }
18427}
18428impl std::convert::TryFrom<String> for MemberEditedAction {
18429 type Error = &'static str;
18430
18431 fn try_from(value: String) -> Result<Self, &'static str> {
18432 value.parse()
18433 }
18434}
18435#[derive(Clone, Debug, Deserialize, Serialize)]
18437#[serde(deny_unknown_fields)]
18438pub struct MemberEditedChanges {
18439 pub old_permission: MemberEditedChangesOldPermission,
18440}
18441impl From<&MemberEditedChanges> for MemberEditedChanges {
18442 fn from(value: &MemberEditedChanges) -> Self {
18443 value.clone()
18444 }
18445}
18446#[derive(Clone, Debug, Deserialize, Serialize)]
18447#[serde(deny_unknown_fields)]
18448pub struct MemberEditedChangesOldPermission {
18449 pub from: String,
18451}
18452impl From<&MemberEditedChangesOldPermission> for MemberEditedChangesOldPermission {
18453 fn from(value: &MemberEditedChangesOldPermission) -> Self {
18454 value.clone()
18455 }
18456}
18457#[derive(Clone, Debug, Deserialize, Serialize)]
18458#[serde(untagged)]
18459pub enum MemberEvent {
18460 Added(MemberAdded),
18461 Edited(MemberEdited),
18462 Removed(MemberRemoved),
18463}
18464impl From<&MemberEvent> for MemberEvent {
18465 fn from(value: &MemberEvent) -> Self {
18466 value.clone()
18467 }
18468}
18469impl From<MemberAdded> for MemberEvent {
18470 fn from(value: MemberAdded) -> Self {
18471 Self::Added(value)
18472 }
18473}
18474impl From<MemberEdited> for MemberEvent {
18475 fn from(value: MemberEdited) -> Self {
18476 Self::Edited(value)
18477 }
18478}
18479impl From<MemberRemoved> for MemberEvent {
18480 fn from(value: MemberRemoved) -> Self {
18481 Self::Removed(value)
18482 }
18483}
18484#[derive(Clone, Debug, Deserialize, Serialize)]
18485#[serde(deny_unknown_fields)]
18486pub struct MemberRemoved {
18487 pub action: MemberRemovedAction,
18488 #[serde(default, skip_serializing_if = "Option::is_none")]
18489 pub installation: Option<InstallationLite>,
18490 pub member: User,
18492 #[serde(default, skip_serializing_if = "Option::is_none")]
18493 pub organization: Option<Organization>,
18494 pub repository: Repository,
18495 pub sender: User,
18496}
18497impl From<&MemberRemoved> for MemberRemoved {
18498 fn from(value: &MemberRemoved) -> Self {
18499 value.clone()
18500 }
18501}
18502#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18503pub enum MemberRemovedAction {
18504 #[serde(rename = "removed")]
18505 Removed,
18506}
18507impl From<&MemberRemovedAction> for MemberRemovedAction {
18508 fn from(value: &MemberRemovedAction) -> Self {
18509 value.clone()
18510 }
18511}
18512impl ToString for MemberRemovedAction {
18513 fn to_string(&self) -> String {
18514 match *self {
18515 Self::Removed => "removed".to_string(),
18516 }
18517 }
18518}
18519impl std::str::FromStr for MemberRemovedAction {
18520 type Err = &'static str;
18521
18522 fn from_str(value: &str) -> Result<Self, &'static str> {
18523 match value {
18524 "removed" => Ok(Self::Removed),
18525 _ => Err("invalid value"),
18526 }
18527 }
18528}
18529impl std::convert::TryFrom<&str> for MemberRemovedAction {
18530 type Error = &'static str;
18531
18532 fn try_from(value: &str) -> Result<Self, &'static str> {
18533 value.parse()
18534 }
18535}
18536impl std::convert::TryFrom<&String> for MemberRemovedAction {
18537 type Error = &'static str;
18538
18539 fn try_from(value: &String) -> Result<Self, &'static str> {
18540 value.parse()
18541 }
18542}
18543impl std::convert::TryFrom<String> for MemberRemovedAction {
18544 type Error = &'static str;
18545
18546 fn try_from(value: String) -> Result<Self, &'static str> {
18547 value.parse()
18548 }
18549}
18550#[derive(Clone, Debug, Deserialize, Serialize)]
18553#[serde(deny_unknown_fields)]
18554pub struct Membership {
18555 pub organization_url: String,
18556 pub role: String,
18558 pub state: String,
18560 pub url: String,
18561 pub user: User,
18562}
18563impl From<&Membership> for Membership {
18564 fn from(value: &Membership) -> Self {
18565 value.clone()
18566 }
18567}
18568#[derive(Clone, Debug, Deserialize, Serialize)]
18569#[serde(deny_unknown_fields)]
18570pub struct MembershipAdded {
18571 pub action: MembershipAddedAction,
18572 #[serde(default, skip_serializing_if = "Option::is_none")]
18573 pub installation: Option<InstallationLite>,
18574 pub member: User,
18576 pub organization: Organization,
18577 pub scope: MembershipAddedScope,
18579 pub sender: User,
18580 pub team: Team,
18582}
18583impl From<&MembershipAdded> for MembershipAdded {
18584 fn from(value: &MembershipAdded) -> Self {
18585 value.clone()
18586 }
18587}
18588#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18589pub enum MembershipAddedAction {
18590 #[serde(rename = "added")]
18591 Added,
18592}
18593impl From<&MembershipAddedAction> for MembershipAddedAction {
18594 fn from(value: &MembershipAddedAction) -> Self {
18595 value.clone()
18596 }
18597}
18598impl ToString for MembershipAddedAction {
18599 fn to_string(&self) -> String {
18600 match *self {
18601 Self::Added => "added".to_string(),
18602 }
18603 }
18604}
18605impl std::str::FromStr for MembershipAddedAction {
18606 type Err = &'static str;
18607
18608 fn from_str(value: &str) -> Result<Self, &'static str> {
18609 match value {
18610 "added" => Ok(Self::Added),
18611 _ => Err("invalid value"),
18612 }
18613 }
18614}
18615impl std::convert::TryFrom<&str> for MembershipAddedAction {
18616 type Error = &'static str;
18617
18618 fn try_from(value: &str) -> Result<Self, &'static str> {
18619 value.parse()
18620 }
18621}
18622impl std::convert::TryFrom<&String> for MembershipAddedAction {
18623 type Error = &'static str;
18624
18625 fn try_from(value: &String) -> Result<Self, &'static str> {
18626 value.parse()
18627 }
18628}
18629impl std::convert::TryFrom<String> for MembershipAddedAction {
18630 type Error = &'static str;
18631
18632 fn try_from(value: String) -> Result<Self, &'static str> {
18633 value.parse()
18634 }
18635}
18636#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18638pub enum MembershipAddedScope {
18639 #[serde(rename = "team")]
18640 Team,
18641}
18642impl From<&MembershipAddedScope> for MembershipAddedScope {
18643 fn from(value: &MembershipAddedScope) -> Self {
18644 value.clone()
18645 }
18646}
18647impl ToString for MembershipAddedScope {
18648 fn to_string(&self) -> String {
18649 match *self {
18650 Self::Team => "team".to_string(),
18651 }
18652 }
18653}
18654impl std::str::FromStr for MembershipAddedScope {
18655 type Err = &'static str;
18656
18657 fn from_str(value: &str) -> Result<Self, &'static str> {
18658 match value {
18659 "team" => Ok(Self::Team),
18660 _ => Err("invalid value"),
18661 }
18662 }
18663}
18664impl std::convert::TryFrom<&str> for MembershipAddedScope {
18665 type Error = &'static str;
18666
18667 fn try_from(value: &str) -> Result<Self, &'static str> {
18668 value.parse()
18669 }
18670}
18671impl std::convert::TryFrom<&String> for MembershipAddedScope {
18672 type Error = &'static str;
18673
18674 fn try_from(value: &String) -> Result<Self, &'static str> {
18675 value.parse()
18676 }
18677}
18678impl std::convert::TryFrom<String> for MembershipAddedScope {
18679 type Error = &'static str;
18680
18681 fn try_from(value: String) -> Result<Self, &'static str> {
18682 value.parse()
18683 }
18684}
18685#[derive(Clone, Debug, Deserialize, Serialize)]
18686#[serde(untagged)]
18687pub enum MembershipEvent {
18688 Added(MembershipAdded),
18689 Removed(MembershipRemoved),
18690}
18691impl From<&MembershipEvent> for MembershipEvent {
18692 fn from(value: &MembershipEvent) -> Self {
18693 value.clone()
18694 }
18695}
18696impl From<MembershipAdded> for MembershipEvent {
18697 fn from(value: MembershipAdded) -> Self {
18698 Self::Added(value)
18699 }
18700}
18701impl From<MembershipRemoved> for MembershipEvent {
18702 fn from(value: MembershipRemoved) -> Self {
18703 Self::Removed(value)
18704 }
18705}
18706#[derive(Clone, Debug, Deserialize, Serialize)]
18707#[serde(deny_unknown_fields)]
18708pub struct MembershipRemoved {
18709 pub action: MembershipRemovedAction,
18710 #[serde(default, skip_serializing_if = "Option::is_none")]
18711 pub installation: Option<InstallationLite>,
18712 pub member: User,
18714 pub organization: Organization,
18715 pub scope: MembershipRemovedScope,
18717 pub sender: User,
18718 pub team: MembershipRemovedTeam,
18720}
18721impl From<&MembershipRemoved> for MembershipRemoved {
18722 fn from(value: &MembershipRemoved) -> Self {
18723 value.clone()
18724 }
18725}
18726#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18727pub enum MembershipRemovedAction {
18728 #[serde(rename = "removed")]
18729 Removed,
18730}
18731impl From<&MembershipRemovedAction> for MembershipRemovedAction {
18732 fn from(value: &MembershipRemovedAction) -> Self {
18733 value.clone()
18734 }
18735}
18736impl ToString for MembershipRemovedAction {
18737 fn to_string(&self) -> String {
18738 match *self {
18739 Self::Removed => "removed".to_string(),
18740 }
18741 }
18742}
18743impl std::str::FromStr for MembershipRemovedAction {
18744 type Err = &'static str;
18745
18746 fn from_str(value: &str) -> Result<Self, &'static str> {
18747 match value {
18748 "removed" => Ok(Self::Removed),
18749 _ => Err("invalid value"),
18750 }
18751 }
18752}
18753impl std::convert::TryFrom<&str> for MembershipRemovedAction {
18754 type Error = &'static str;
18755
18756 fn try_from(value: &str) -> Result<Self, &'static str> {
18757 value.parse()
18758 }
18759}
18760impl std::convert::TryFrom<&String> for MembershipRemovedAction {
18761 type Error = &'static str;
18762
18763 fn try_from(value: &String) -> Result<Self, &'static str> {
18764 value.parse()
18765 }
18766}
18767impl std::convert::TryFrom<String> for MembershipRemovedAction {
18768 type Error = &'static str;
18769
18770 fn try_from(value: String) -> Result<Self, &'static str> {
18771 value.parse()
18772 }
18773}
18774#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18776pub enum MembershipRemovedScope {
18777 #[serde(rename = "team")]
18778 Team,
18779 #[serde(rename = "organization")]
18780 Organization,
18781}
18782impl From<&MembershipRemovedScope> for MembershipRemovedScope {
18783 fn from(value: &MembershipRemovedScope) -> Self {
18784 value.clone()
18785 }
18786}
18787impl ToString for MembershipRemovedScope {
18788 fn to_string(&self) -> String {
18789 match *self {
18790 Self::Team => "team".to_string(),
18791 Self::Organization => "organization".to_string(),
18792 }
18793 }
18794}
18795impl std::str::FromStr for MembershipRemovedScope {
18796 type Err = &'static str;
18797
18798 fn from_str(value: &str) -> Result<Self, &'static str> {
18799 match value {
18800 "team" => Ok(Self::Team),
18801 "organization" => Ok(Self::Organization),
18802 _ => Err("invalid value"),
18803 }
18804 }
18805}
18806impl std::convert::TryFrom<&str> for MembershipRemovedScope {
18807 type Error = &'static str;
18808
18809 fn try_from(value: &str) -> Result<Self, &'static str> {
18810 value.parse()
18811 }
18812}
18813impl std::convert::TryFrom<&String> for MembershipRemovedScope {
18814 type Error = &'static str;
18815
18816 fn try_from(value: &String) -> Result<Self, &'static str> {
18817 value.parse()
18818 }
18819}
18820impl std::convert::TryFrom<String> for MembershipRemovedScope {
18821 type Error = &'static str;
18822
18823 fn try_from(value: String) -> Result<Self, &'static str> {
18824 value.parse()
18825 }
18826}
18827#[derive(Clone, Debug, Deserialize, Serialize)]
18829#[serde(untagged, deny_unknown_fields)]
18830pub enum MembershipRemovedTeam {
18831 Variant0(Team),
18832 Variant1 {
18833 #[serde(default, skip_serializing_if = "Option::is_none")]
18834 deleted: Option<bool>,
18835 id: i64,
18836 name: String,
18837 },
18838}
18839impl From<&MembershipRemovedTeam> for MembershipRemovedTeam {
18840 fn from(value: &MembershipRemovedTeam) -> Self {
18841 value.clone()
18842 }
18843}
18844impl From<Team> for MembershipRemovedTeam {
18845 fn from(value: Team) -> Self {
18846 Self::Variant0(value)
18847 }
18848}
18849#[derive(Clone, Debug, Deserialize, Serialize)]
18850#[serde(deny_unknown_fields)]
18851pub struct MergeGroupChecksRequested {
18852 pub action: MergeGroupChecksRequestedAction,
18853 #[serde(default, skip_serializing_if = "Option::is_none")]
18854 pub installation: Option<InstallationLite>,
18855 pub merge_group: MergeGroupChecksRequestedMergeGroup,
18856 #[serde(default, skip_serializing_if = "Option::is_none")]
18857 pub organization: Option<Organization>,
18858 pub repository: Repository,
18859 pub sender: User,
18860}
18861impl From<&MergeGroupChecksRequested> for MergeGroupChecksRequested {
18862 fn from(value: &MergeGroupChecksRequested) -> Self {
18863 value.clone()
18864 }
18865}
18866#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
18867pub enum MergeGroupChecksRequestedAction {
18868 #[serde(rename = "checks_requested")]
18869 ChecksRequested,
18870}
18871impl From<&MergeGroupChecksRequestedAction> for MergeGroupChecksRequestedAction {
18872 fn from(value: &MergeGroupChecksRequestedAction) -> Self {
18873 value.clone()
18874 }
18875}
18876impl ToString for MergeGroupChecksRequestedAction {
18877 fn to_string(&self) -> String {
18878 match *self {
18879 Self::ChecksRequested => "checks_requested".to_string(),
18880 }
18881 }
18882}
18883impl std::str::FromStr for MergeGroupChecksRequestedAction {
18884 type Err = &'static str;
18885
18886 fn from_str(value: &str) -> Result<Self, &'static str> {
18887 match value {
18888 "checks_requested" => Ok(Self::ChecksRequested),
18889 _ => Err("invalid value"),
18890 }
18891 }
18892}
18893impl std::convert::TryFrom<&str> for MergeGroupChecksRequestedAction {
18894 type Error = &'static str;
18895
18896 fn try_from(value: &str) -> Result<Self, &'static str> {
18897 value.parse()
18898 }
18899}
18900impl std::convert::TryFrom<&String> for MergeGroupChecksRequestedAction {
18901 type Error = &'static str;
18902
18903 fn try_from(value: &String) -> Result<Self, &'static str> {
18904 value.parse()
18905 }
18906}
18907impl std::convert::TryFrom<String> for MergeGroupChecksRequestedAction {
18908 type Error = &'static str;
18909
18910 fn try_from(value: String) -> Result<Self, &'static str> {
18911 value.parse()
18912 }
18913}
18914#[derive(Clone, Debug, Deserialize, Serialize)]
18916#[serde(deny_unknown_fields)]
18917pub struct MergeGroupChecksRequestedMergeGroup {
18918 pub base_ref: String,
18920 pub base_sha: String,
18922 pub head_commit: MergeGroupChecksRequestedMergeGroupHeadCommit,
18923 pub head_ref: String,
18925 pub head_sha: String,
18927}
18928impl From<&MergeGroupChecksRequestedMergeGroup> for MergeGroupChecksRequestedMergeGroup {
18929 fn from(value: &MergeGroupChecksRequestedMergeGroup) -> Self {
18930 value.clone()
18931 }
18932}
18933#[derive(Clone, Debug, Deserialize, Serialize)]
18935#[serde(deny_unknown_fields)]
18936pub struct MergeGroupChecksRequestedMergeGroupHeadCommit {
18937 pub author: MergeGroupChecksRequestedMergeGroupHeadCommitAuthor,
18938 pub committer: MergeGroupChecksRequestedMergeGroupHeadCommitCommitter,
18939 pub id: String,
18940 pub message: String,
18941 pub timestamp: chrono::DateTime<chrono::offset::Utc>,
18942 pub tree_id: String,
18943}
18944impl From<&MergeGroupChecksRequestedMergeGroupHeadCommit>
18945 for MergeGroupChecksRequestedMergeGroupHeadCommit
18946{
18947 fn from(value: &MergeGroupChecksRequestedMergeGroupHeadCommit) -> Self {
18948 value.clone()
18949 }
18950}
18951#[derive(Clone, Debug, Deserialize, Serialize)]
18952#[serde(deny_unknown_fields)]
18953pub struct MergeGroupChecksRequestedMergeGroupHeadCommitAuthor {
18954 pub email: String,
18955 pub name: String,
18956}
18957impl From<&MergeGroupChecksRequestedMergeGroupHeadCommitAuthor>
18958 for MergeGroupChecksRequestedMergeGroupHeadCommitAuthor
18959{
18960 fn from(value: &MergeGroupChecksRequestedMergeGroupHeadCommitAuthor) -> Self {
18961 value.clone()
18962 }
18963}
18964#[derive(Clone, Debug, Deserialize, Serialize)]
18965#[serde(deny_unknown_fields)]
18966pub struct MergeGroupChecksRequestedMergeGroupHeadCommitCommitter {
18967 pub email: String,
18968 pub name: String,
18969}
18970impl From<&MergeGroupChecksRequestedMergeGroupHeadCommitCommitter>
18971 for MergeGroupChecksRequestedMergeGroupHeadCommitCommitter
18972{
18973 fn from(value: &MergeGroupChecksRequestedMergeGroupHeadCommitCommitter) -> Self {
18974 value.clone()
18975 }
18976}
18977#[derive(Clone, Debug, Deserialize, Serialize)]
18978pub struct MergeGroupEvent(pub MergeGroupChecksRequested);
18979impl std::ops::Deref for MergeGroupEvent {
18980 type Target = MergeGroupChecksRequested;
18981
18982 fn deref(&self) -> &MergeGroupChecksRequested {
18983 &self.0
18984 }
18985}
18986impl From<MergeGroupEvent> for MergeGroupChecksRequested {
18987 fn from(value: MergeGroupEvent) -> Self {
18988 value.0
18989 }
18990}
18991impl From<&MergeGroupEvent> for MergeGroupEvent {
18992 fn from(value: &MergeGroupEvent) -> Self {
18993 value.clone()
18994 }
18995}
18996impl From<MergeGroupChecksRequested> for MergeGroupEvent {
18997 fn from(value: MergeGroupChecksRequested) -> Self {
18998 Self(value)
18999 }
19000}
19001#[derive(Clone, Debug, Deserialize, Serialize)]
19002#[serde(deny_unknown_fields)]
19003pub struct MetaDeleted {
19004 pub action: MetaDeletedAction,
19005 pub hook: MetaDeletedHook,
19006 pub hook_id: i64,
19008 pub repository: Repository,
19009 pub sender: User,
19010}
19011impl From<&MetaDeleted> for MetaDeleted {
19012 fn from(value: &MetaDeleted) -> Self {
19013 value.clone()
19014 }
19015}
19016#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19017pub enum MetaDeletedAction {
19018 #[serde(rename = "deleted")]
19019 Deleted,
19020}
19021impl From<&MetaDeletedAction> for MetaDeletedAction {
19022 fn from(value: &MetaDeletedAction) -> Self {
19023 value.clone()
19024 }
19025}
19026impl ToString for MetaDeletedAction {
19027 fn to_string(&self) -> String {
19028 match *self {
19029 Self::Deleted => "deleted".to_string(),
19030 }
19031 }
19032}
19033impl std::str::FromStr for MetaDeletedAction {
19034 type Err = &'static str;
19035
19036 fn from_str(value: &str) -> Result<Self, &'static str> {
19037 match value {
19038 "deleted" => Ok(Self::Deleted),
19039 _ => Err("invalid value"),
19040 }
19041 }
19042}
19043impl std::convert::TryFrom<&str> for MetaDeletedAction {
19044 type Error = &'static str;
19045
19046 fn try_from(value: &str) -> Result<Self, &'static str> {
19047 value.parse()
19048 }
19049}
19050impl std::convert::TryFrom<&String> for MetaDeletedAction {
19051 type Error = &'static str;
19052
19053 fn try_from(value: &String) -> Result<Self, &'static str> {
19054 value.parse()
19055 }
19056}
19057impl std::convert::TryFrom<String> for MetaDeletedAction {
19058 type Error = &'static str;
19059
19060 fn try_from(value: String) -> Result<Self, &'static str> {
19061 value.parse()
19062 }
19063}
19064#[derive(Clone, Debug, Deserialize, Serialize)]
19068#[serde(deny_unknown_fields)]
19069pub struct MetaDeletedHook {
19070 pub active: bool,
19071 pub config: MetaDeletedHookConfig,
19072 pub created_at: chrono::DateTime<chrono::offset::Utc>,
19073 pub events: WebhookEvents,
19074 pub id: i64,
19075 pub name: String,
19076 #[serde(rename = "type")]
19077 pub type_: String,
19078 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
19079}
19080impl From<&MetaDeletedHook> for MetaDeletedHook {
19081 fn from(value: &MetaDeletedHook) -> Self {
19082 value.clone()
19083 }
19084}
19085#[derive(Clone, Debug, Deserialize, Serialize)]
19087#[serde(deny_unknown_fields)]
19088pub struct MetaDeletedHookConfig {
19089 pub content_type: MetaDeletedHookConfigContentType,
19092 pub insecure_ssl: MetaDeletedHookConfigInsecureSsl,
19097 #[serde(default, skip_serializing_if = "Option::is_none")]
19099 pub secret: Option<String>,
19100 pub url: String,
19102}
19103impl From<&MetaDeletedHookConfig> for MetaDeletedHookConfig {
19104 fn from(value: &MetaDeletedHookConfig) -> Self {
19105 value.clone()
19106 }
19107}
19108#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19111pub enum MetaDeletedHookConfigContentType {
19112 #[serde(rename = "json")]
19113 Json,
19114 #[serde(rename = "form")]
19115 Form,
19116}
19117impl From<&MetaDeletedHookConfigContentType> for MetaDeletedHookConfigContentType {
19118 fn from(value: &MetaDeletedHookConfigContentType) -> Self {
19119 value.clone()
19120 }
19121}
19122impl ToString for MetaDeletedHookConfigContentType {
19123 fn to_string(&self) -> String {
19124 match *self {
19125 Self::Json => "json".to_string(),
19126 Self::Form => "form".to_string(),
19127 }
19128 }
19129}
19130impl std::str::FromStr for MetaDeletedHookConfigContentType {
19131 type Err = &'static str;
19132
19133 fn from_str(value: &str) -> Result<Self, &'static str> {
19134 match value {
19135 "json" => Ok(Self::Json),
19136 "form" => Ok(Self::Form),
19137 _ => Err("invalid value"),
19138 }
19139 }
19140}
19141impl std::convert::TryFrom<&str> for MetaDeletedHookConfigContentType {
19142 type Error = &'static str;
19143
19144 fn try_from(value: &str) -> Result<Self, &'static str> {
19145 value.parse()
19146 }
19147}
19148impl std::convert::TryFrom<&String> for MetaDeletedHookConfigContentType {
19149 type Error = &'static str;
19150
19151 fn try_from(value: &String) -> Result<Self, &'static str> {
19152 value.parse()
19153 }
19154}
19155impl std::convert::TryFrom<String> for MetaDeletedHookConfigContentType {
19156 type Error = &'static str;
19157
19158 fn try_from(value: String) -> Result<Self, &'static str> {
19159 value.parse()
19160 }
19161}
19162#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19167pub enum MetaDeletedHookConfigInsecureSsl {
19168 #[serde(rename = "0")]
19169 _0,
19170 #[serde(rename = "1")]
19171 _1,
19172}
19173impl From<&MetaDeletedHookConfigInsecureSsl> for MetaDeletedHookConfigInsecureSsl {
19174 fn from(value: &MetaDeletedHookConfigInsecureSsl) -> Self {
19175 value.clone()
19176 }
19177}
19178impl ToString for MetaDeletedHookConfigInsecureSsl {
19179 fn to_string(&self) -> String {
19180 match *self {
19181 Self::_0 => "0".to_string(),
19182 Self::_1 => "1".to_string(),
19183 }
19184 }
19185}
19186impl std::str::FromStr for MetaDeletedHookConfigInsecureSsl {
19187 type Err = &'static str;
19188
19189 fn from_str(value: &str) -> Result<Self, &'static str> {
19190 match value {
19191 "0" => Ok(Self::_0),
19192 "1" => Ok(Self::_1),
19193 _ => Err("invalid value"),
19194 }
19195 }
19196}
19197impl std::convert::TryFrom<&str> for MetaDeletedHookConfigInsecureSsl {
19198 type Error = &'static str;
19199
19200 fn try_from(value: &str) -> Result<Self, &'static str> {
19201 value.parse()
19202 }
19203}
19204impl std::convert::TryFrom<&String> for MetaDeletedHookConfigInsecureSsl {
19205 type Error = &'static str;
19206
19207 fn try_from(value: &String) -> Result<Self, &'static str> {
19208 value.parse()
19209 }
19210}
19211impl std::convert::TryFrom<String> for MetaDeletedHookConfigInsecureSsl {
19212 type Error = &'static str;
19213
19214 fn try_from(value: String) -> Result<Self, &'static str> {
19215 value.parse()
19216 }
19217}
19218#[derive(Clone, Debug, Deserialize, Serialize)]
19219pub struct MetaEvent(pub MetaDeleted);
19220impl std::ops::Deref for MetaEvent {
19221 type Target = MetaDeleted;
19222
19223 fn deref(&self) -> &MetaDeleted {
19224 &self.0
19225 }
19226}
19227impl From<MetaEvent> for MetaDeleted {
19228 fn from(value: MetaEvent) -> Self {
19229 value.0
19230 }
19231}
19232impl From<&MetaEvent> for MetaEvent {
19233 fn from(value: &MetaEvent) -> Self {
19234 value.clone()
19235 }
19236}
19237impl From<MetaDeleted> for MetaEvent {
19238 fn from(value: MetaDeleted) -> Self {
19239 Self(value)
19240 }
19241}
19242#[derive(Clone, Debug, Deserialize, Serialize)]
19244#[serde(deny_unknown_fields)]
19245pub struct Milestone {
19246 pub closed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
19247 pub closed_issues: i64,
19248 pub created_at: chrono::DateTime<chrono::offset::Utc>,
19249 pub creator: User,
19250 pub description: Option<String>,
19251 pub due_on: Option<chrono::DateTime<chrono::offset::Utc>>,
19252 pub html_url: String,
19253 pub id: i64,
19254 pub labels_url: String,
19255 pub node_id: String,
19256 pub number: i64,
19258 pub open_issues: i64,
19259 pub state: MilestoneState,
19261 pub title: String,
19263 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
19264 pub url: String,
19265}
19266impl From<&Milestone> for Milestone {
19267 fn from(value: &Milestone) -> Self {
19268 value.clone()
19269 }
19270}
19271#[derive(Clone, Debug, Deserialize, Serialize)]
19272#[serde(deny_unknown_fields)]
19273pub struct MilestoneClosed {
19274 pub action: MilestoneClosedAction,
19275 #[serde(default, skip_serializing_if = "Option::is_none")]
19276 pub installation: Option<InstallationLite>,
19277 pub milestone: Milestone,
19278 #[serde(default, skip_serializing_if = "Option::is_none")]
19279 pub organization: Option<Organization>,
19280 pub repository: Repository,
19281 pub sender: User,
19282}
19283impl From<&MilestoneClosed> for MilestoneClosed {
19284 fn from(value: &MilestoneClosed) -> Self {
19285 value.clone()
19286 }
19287}
19288#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19289pub enum MilestoneClosedAction {
19290 #[serde(rename = "closed")]
19291 Closed,
19292}
19293impl From<&MilestoneClosedAction> for MilestoneClosedAction {
19294 fn from(value: &MilestoneClosedAction) -> Self {
19295 value.clone()
19296 }
19297}
19298impl ToString for MilestoneClosedAction {
19299 fn to_string(&self) -> String {
19300 match *self {
19301 Self::Closed => "closed".to_string(),
19302 }
19303 }
19304}
19305impl std::str::FromStr for MilestoneClosedAction {
19306 type Err = &'static str;
19307
19308 fn from_str(value: &str) -> Result<Self, &'static str> {
19309 match value {
19310 "closed" => Ok(Self::Closed),
19311 _ => Err("invalid value"),
19312 }
19313 }
19314}
19315impl std::convert::TryFrom<&str> for MilestoneClosedAction {
19316 type Error = &'static str;
19317
19318 fn try_from(value: &str) -> Result<Self, &'static str> {
19319 value.parse()
19320 }
19321}
19322impl std::convert::TryFrom<&String> for MilestoneClosedAction {
19323 type Error = &'static str;
19324
19325 fn try_from(value: &String) -> Result<Self, &'static str> {
19326 value.parse()
19327 }
19328}
19329impl std::convert::TryFrom<String> for MilestoneClosedAction {
19330 type Error = &'static str;
19331
19332 fn try_from(value: String) -> Result<Self, &'static str> {
19333 value.parse()
19334 }
19335}
19336#[derive(Clone, Debug, Deserialize, Serialize)]
19337#[serde(deny_unknown_fields)]
19338pub struct MilestoneCreated {
19339 pub action: MilestoneCreatedAction,
19340 #[serde(default, skip_serializing_if = "Option::is_none")]
19341 pub installation: Option<InstallationLite>,
19342 pub milestone: Milestone,
19343 #[serde(default, skip_serializing_if = "Option::is_none")]
19344 pub organization: Option<Organization>,
19345 pub repository: Repository,
19346 pub sender: User,
19347}
19348impl From<&MilestoneCreated> for MilestoneCreated {
19349 fn from(value: &MilestoneCreated) -> Self {
19350 value.clone()
19351 }
19352}
19353#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19354pub enum MilestoneCreatedAction {
19355 #[serde(rename = "created")]
19356 Created,
19357}
19358impl From<&MilestoneCreatedAction> for MilestoneCreatedAction {
19359 fn from(value: &MilestoneCreatedAction) -> Self {
19360 value.clone()
19361 }
19362}
19363impl ToString for MilestoneCreatedAction {
19364 fn to_string(&self) -> String {
19365 match *self {
19366 Self::Created => "created".to_string(),
19367 }
19368 }
19369}
19370impl std::str::FromStr for MilestoneCreatedAction {
19371 type Err = &'static str;
19372
19373 fn from_str(value: &str) -> Result<Self, &'static str> {
19374 match value {
19375 "created" => Ok(Self::Created),
19376 _ => Err("invalid value"),
19377 }
19378 }
19379}
19380impl std::convert::TryFrom<&str> for MilestoneCreatedAction {
19381 type Error = &'static str;
19382
19383 fn try_from(value: &str) -> Result<Self, &'static str> {
19384 value.parse()
19385 }
19386}
19387impl std::convert::TryFrom<&String> for MilestoneCreatedAction {
19388 type Error = &'static str;
19389
19390 fn try_from(value: &String) -> Result<Self, &'static str> {
19391 value.parse()
19392 }
19393}
19394impl std::convert::TryFrom<String> for MilestoneCreatedAction {
19395 type Error = &'static str;
19396
19397 fn try_from(value: String) -> Result<Self, &'static str> {
19398 value.parse()
19399 }
19400}
19401#[derive(Clone, Debug, Deserialize, Serialize)]
19402#[serde(deny_unknown_fields)]
19403pub struct MilestoneDeleted {
19404 pub action: MilestoneDeletedAction,
19405 #[serde(default, skip_serializing_if = "Option::is_none")]
19406 pub installation: Option<InstallationLite>,
19407 pub milestone: Milestone,
19408 #[serde(default, skip_serializing_if = "Option::is_none")]
19409 pub organization: Option<Organization>,
19410 pub repository: Repository,
19411 pub sender: User,
19412}
19413impl From<&MilestoneDeleted> for MilestoneDeleted {
19414 fn from(value: &MilestoneDeleted) -> Self {
19415 value.clone()
19416 }
19417}
19418#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19419pub enum MilestoneDeletedAction {
19420 #[serde(rename = "deleted")]
19421 Deleted,
19422}
19423impl From<&MilestoneDeletedAction> for MilestoneDeletedAction {
19424 fn from(value: &MilestoneDeletedAction) -> Self {
19425 value.clone()
19426 }
19427}
19428impl ToString for MilestoneDeletedAction {
19429 fn to_string(&self) -> String {
19430 match *self {
19431 Self::Deleted => "deleted".to_string(),
19432 }
19433 }
19434}
19435impl std::str::FromStr for MilestoneDeletedAction {
19436 type Err = &'static str;
19437
19438 fn from_str(value: &str) -> Result<Self, &'static str> {
19439 match value {
19440 "deleted" => Ok(Self::Deleted),
19441 _ => Err("invalid value"),
19442 }
19443 }
19444}
19445impl std::convert::TryFrom<&str> for MilestoneDeletedAction {
19446 type Error = &'static str;
19447
19448 fn try_from(value: &str) -> Result<Self, &'static str> {
19449 value.parse()
19450 }
19451}
19452impl std::convert::TryFrom<&String> for MilestoneDeletedAction {
19453 type Error = &'static str;
19454
19455 fn try_from(value: &String) -> Result<Self, &'static str> {
19456 value.parse()
19457 }
19458}
19459impl std::convert::TryFrom<String> for MilestoneDeletedAction {
19460 type Error = &'static str;
19461
19462 fn try_from(value: String) -> Result<Self, &'static str> {
19463 value.parse()
19464 }
19465}
19466#[derive(Clone, Debug, Deserialize, Serialize)]
19467#[serde(deny_unknown_fields)]
19468pub struct MilestoneEdited {
19469 pub action: MilestoneEditedAction,
19470 pub changes: MilestoneEditedChanges,
19471 #[serde(default, skip_serializing_if = "Option::is_none")]
19472 pub installation: Option<InstallationLite>,
19473 pub milestone: Milestone,
19474 #[serde(default, skip_serializing_if = "Option::is_none")]
19475 pub organization: Option<Organization>,
19476 pub repository: Repository,
19477 pub sender: User,
19478}
19479impl From<&MilestoneEdited> for MilestoneEdited {
19480 fn from(value: &MilestoneEdited) -> Self {
19481 value.clone()
19482 }
19483}
19484#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19485pub enum MilestoneEditedAction {
19486 #[serde(rename = "edited")]
19487 Edited,
19488}
19489impl From<&MilestoneEditedAction> for MilestoneEditedAction {
19490 fn from(value: &MilestoneEditedAction) -> Self {
19491 value.clone()
19492 }
19493}
19494impl ToString for MilestoneEditedAction {
19495 fn to_string(&self) -> String {
19496 match *self {
19497 Self::Edited => "edited".to_string(),
19498 }
19499 }
19500}
19501impl std::str::FromStr for MilestoneEditedAction {
19502 type Err = &'static str;
19503
19504 fn from_str(value: &str) -> Result<Self, &'static str> {
19505 match value {
19506 "edited" => Ok(Self::Edited),
19507 _ => Err("invalid value"),
19508 }
19509 }
19510}
19511impl std::convert::TryFrom<&str> for MilestoneEditedAction {
19512 type Error = &'static str;
19513
19514 fn try_from(value: &str) -> Result<Self, &'static str> {
19515 value.parse()
19516 }
19517}
19518impl std::convert::TryFrom<&String> for MilestoneEditedAction {
19519 type Error = &'static str;
19520
19521 fn try_from(value: &String) -> Result<Self, &'static str> {
19522 value.parse()
19523 }
19524}
19525impl std::convert::TryFrom<String> for MilestoneEditedAction {
19526 type Error = &'static str;
19527
19528 fn try_from(value: String) -> Result<Self, &'static str> {
19529 value.parse()
19530 }
19531}
19532#[derive(Clone, Debug, Deserialize, Serialize)]
19534#[serde(deny_unknown_fields)]
19535pub struct MilestoneEditedChanges {
19536 #[serde(default, skip_serializing_if = "Option::is_none")]
19537 pub description: Option<MilestoneEditedChangesDescription>,
19538 #[serde(default, skip_serializing_if = "Option::is_none")]
19539 pub due_on: Option<MilestoneEditedChangesDueOn>,
19540 #[serde(default, skip_serializing_if = "Option::is_none")]
19541 pub title: Option<MilestoneEditedChangesTitle>,
19542}
19543impl From<&MilestoneEditedChanges> for MilestoneEditedChanges {
19544 fn from(value: &MilestoneEditedChanges) -> Self {
19545 value.clone()
19546 }
19547}
19548#[derive(Clone, Debug, Deserialize, Serialize)]
19549#[serde(deny_unknown_fields)]
19550pub struct MilestoneEditedChangesDescription {
19551 pub from: String,
19553}
19554impl From<&MilestoneEditedChangesDescription> for MilestoneEditedChangesDescription {
19555 fn from(value: &MilestoneEditedChangesDescription) -> Self {
19556 value.clone()
19557 }
19558}
19559#[derive(Clone, Debug, Deserialize, Serialize)]
19560#[serde(deny_unknown_fields)]
19561pub struct MilestoneEditedChangesDueOn {
19562 pub from: String,
19564}
19565impl From<&MilestoneEditedChangesDueOn> for MilestoneEditedChangesDueOn {
19566 fn from(value: &MilestoneEditedChangesDueOn) -> Self {
19567 value.clone()
19568 }
19569}
19570#[derive(Clone, Debug, Deserialize, Serialize)]
19571#[serde(deny_unknown_fields)]
19572pub struct MilestoneEditedChangesTitle {
19573 pub from: String,
19575}
19576impl From<&MilestoneEditedChangesTitle> for MilestoneEditedChangesTitle {
19577 fn from(value: &MilestoneEditedChangesTitle) -> Self {
19578 value.clone()
19579 }
19580}
19581#[derive(Clone, Debug, Deserialize, Serialize)]
19582#[serde(untagged)]
19583pub enum MilestoneEvent {
19584 Closed(MilestoneClosed),
19585 Created(MilestoneCreated),
19586 Deleted(MilestoneDeleted),
19587 Edited(MilestoneEdited),
19588 Opened(MilestoneOpened),
19589}
19590impl From<&MilestoneEvent> for MilestoneEvent {
19591 fn from(value: &MilestoneEvent) -> Self {
19592 value.clone()
19593 }
19594}
19595impl From<MilestoneClosed> for MilestoneEvent {
19596 fn from(value: MilestoneClosed) -> Self {
19597 Self::Closed(value)
19598 }
19599}
19600impl From<MilestoneCreated> for MilestoneEvent {
19601 fn from(value: MilestoneCreated) -> Self {
19602 Self::Created(value)
19603 }
19604}
19605impl From<MilestoneDeleted> for MilestoneEvent {
19606 fn from(value: MilestoneDeleted) -> Self {
19607 Self::Deleted(value)
19608 }
19609}
19610impl From<MilestoneEdited> for MilestoneEvent {
19611 fn from(value: MilestoneEdited) -> Self {
19612 Self::Edited(value)
19613 }
19614}
19615impl From<MilestoneOpened> for MilestoneEvent {
19616 fn from(value: MilestoneOpened) -> Self {
19617 Self::Opened(value)
19618 }
19619}
19620#[derive(Clone, Debug, Deserialize, Serialize)]
19621#[serde(deny_unknown_fields)]
19622pub struct MilestoneOpened {
19623 pub action: MilestoneOpenedAction,
19624 #[serde(default, skip_serializing_if = "Option::is_none")]
19625 pub installation: Option<InstallationLite>,
19626 pub milestone: Milestone,
19627 #[serde(default, skip_serializing_if = "Option::is_none")]
19628 pub organization: Option<Organization>,
19629 pub repository: Repository,
19630 pub sender: User,
19631}
19632impl From<&MilestoneOpened> for MilestoneOpened {
19633 fn from(value: &MilestoneOpened) -> Self {
19634 value.clone()
19635 }
19636}
19637#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19638pub enum MilestoneOpenedAction {
19639 #[serde(rename = "opened")]
19640 Opened,
19641}
19642impl From<&MilestoneOpenedAction> for MilestoneOpenedAction {
19643 fn from(value: &MilestoneOpenedAction) -> Self {
19644 value.clone()
19645 }
19646}
19647impl ToString for MilestoneOpenedAction {
19648 fn to_string(&self) -> String {
19649 match *self {
19650 Self::Opened => "opened".to_string(),
19651 }
19652 }
19653}
19654impl std::str::FromStr for MilestoneOpenedAction {
19655 type Err = &'static str;
19656
19657 fn from_str(value: &str) -> Result<Self, &'static str> {
19658 match value {
19659 "opened" => Ok(Self::Opened),
19660 _ => Err("invalid value"),
19661 }
19662 }
19663}
19664impl std::convert::TryFrom<&str> for MilestoneOpenedAction {
19665 type Error = &'static str;
19666
19667 fn try_from(value: &str) -> Result<Self, &'static str> {
19668 value.parse()
19669 }
19670}
19671impl std::convert::TryFrom<&String> for MilestoneOpenedAction {
19672 type Error = &'static str;
19673
19674 fn try_from(value: &String) -> Result<Self, &'static str> {
19675 value.parse()
19676 }
19677}
19678impl std::convert::TryFrom<String> for MilestoneOpenedAction {
19679 type Error = &'static str;
19680
19681 fn try_from(value: String) -> Result<Self, &'static str> {
19682 value.parse()
19683 }
19684}
19685#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19687pub enum MilestoneState {
19688 #[serde(rename = "open")]
19689 Open,
19690 #[serde(rename = "closed")]
19691 Closed,
19692}
19693impl From<&MilestoneState> for MilestoneState {
19694 fn from(value: &MilestoneState) -> Self {
19695 value.clone()
19696 }
19697}
19698impl ToString for MilestoneState {
19699 fn to_string(&self) -> String {
19700 match *self {
19701 Self::Open => "open".to_string(),
19702 Self::Closed => "closed".to_string(),
19703 }
19704 }
19705}
19706impl std::str::FromStr for MilestoneState {
19707 type Err = &'static str;
19708
19709 fn from_str(value: &str) -> Result<Self, &'static str> {
19710 match value {
19711 "open" => Ok(Self::Open),
19712 "closed" => Ok(Self::Closed),
19713 _ => Err("invalid value"),
19714 }
19715 }
19716}
19717impl std::convert::TryFrom<&str> for MilestoneState {
19718 type Error = &'static str;
19719
19720 fn try_from(value: &str) -> Result<Self, &'static str> {
19721 value.parse()
19722 }
19723}
19724impl std::convert::TryFrom<&String> for MilestoneState {
19725 type Error = &'static str;
19726
19727 fn try_from(value: &String) -> Result<Self, &'static str> {
19728 value.parse()
19729 }
19730}
19731impl std::convert::TryFrom<String> for MilestoneState {
19732 type Error = &'static str;
19733
19734 fn try_from(value: String) -> Result<Self, &'static str> {
19735 value.parse()
19736 }
19737}
19738#[derive(Clone, Debug, Deserialize, Serialize)]
19739#[serde(deny_unknown_fields)]
19740pub struct OrgBlockBlocked {
19741 pub action: OrgBlockBlockedAction,
19742 pub blocked_user: User,
19744 #[serde(default, skip_serializing_if = "Option::is_none")]
19745 pub installation: Option<InstallationLite>,
19746 pub organization: Organization,
19747 pub sender: User,
19748}
19749impl From<&OrgBlockBlocked> for OrgBlockBlocked {
19750 fn from(value: &OrgBlockBlocked) -> Self {
19751 value.clone()
19752 }
19753}
19754#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19755pub enum OrgBlockBlockedAction {
19756 #[serde(rename = "blocked")]
19757 Blocked,
19758}
19759impl From<&OrgBlockBlockedAction> for OrgBlockBlockedAction {
19760 fn from(value: &OrgBlockBlockedAction) -> Self {
19761 value.clone()
19762 }
19763}
19764impl ToString for OrgBlockBlockedAction {
19765 fn to_string(&self) -> String {
19766 match *self {
19767 Self::Blocked => "blocked".to_string(),
19768 }
19769 }
19770}
19771impl std::str::FromStr for OrgBlockBlockedAction {
19772 type Err = &'static str;
19773
19774 fn from_str(value: &str) -> Result<Self, &'static str> {
19775 match value {
19776 "blocked" => Ok(Self::Blocked),
19777 _ => Err("invalid value"),
19778 }
19779 }
19780}
19781impl std::convert::TryFrom<&str> for OrgBlockBlockedAction {
19782 type Error = &'static str;
19783
19784 fn try_from(value: &str) -> Result<Self, &'static str> {
19785 value.parse()
19786 }
19787}
19788impl std::convert::TryFrom<&String> for OrgBlockBlockedAction {
19789 type Error = &'static str;
19790
19791 fn try_from(value: &String) -> Result<Self, &'static str> {
19792 value.parse()
19793 }
19794}
19795impl std::convert::TryFrom<String> for OrgBlockBlockedAction {
19796 type Error = &'static str;
19797
19798 fn try_from(value: String) -> Result<Self, &'static str> {
19799 value.parse()
19800 }
19801}
19802#[derive(Clone, Debug, Deserialize, Serialize)]
19803#[serde(untagged)]
19804pub enum OrgBlockEvent {
19805 Blocked(OrgBlockBlocked),
19806 Unblocked(OrgBlockUnblocked),
19807}
19808impl From<&OrgBlockEvent> for OrgBlockEvent {
19809 fn from(value: &OrgBlockEvent) -> Self {
19810 value.clone()
19811 }
19812}
19813impl From<OrgBlockBlocked> for OrgBlockEvent {
19814 fn from(value: OrgBlockBlocked) -> Self {
19815 Self::Blocked(value)
19816 }
19817}
19818impl From<OrgBlockUnblocked> for OrgBlockEvent {
19819 fn from(value: OrgBlockUnblocked) -> Self {
19820 Self::Unblocked(value)
19821 }
19822}
19823#[derive(Clone, Debug, Deserialize, Serialize)]
19824#[serde(deny_unknown_fields)]
19825pub struct OrgBlockUnblocked {
19826 pub action: OrgBlockUnblockedAction,
19827 pub blocked_user: User,
19829 #[serde(default, skip_serializing_if = "Option::is_none")]
19830 pub installation: Option<InstallationLite>,
19831 pub organization: Organization,
19832 pub sender: User,
19833}
19834impl From<&OrgBlockUnblocked> for OrgBlockUnblocked {
19835 fn from(value: &OrgBlockUnblocked) -> Self {
19836 value.clone()
19837 }
19838}
19839#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19840pub enum OrgBlockUnblockedAction {
19841 #[serde(rename = "unblocked")]
19842 Unblocked,
19843}
19844impl From<&OrgBlockUnblockedAction> for OrgBlockUnblockedAction {
19845 fn from(value: &OrgBlockUnblockedAction) -> Self {
19846 value.clone()
19847 }
19848}
19849impl ToString for OrgBlockUnblockedAction {
19850 fn to_string(&self) -> String {
19851 match *self {
19852 Self::Unblocked => "unblocked".to_string(),
19853 }
19854 }
19855}
19856impl std::str::FromStr for OrgBlockUnblockedAction {
19857 type Err = &'static str;
19858
19859 fn from_str(value: &str) -> Result<Self, &'static str> {
19860 match value {
19861 "unblocked" => Ok(Self::Unblocked),
19862 _ => Err("invalid value"),
19863 }
19864 }
19865}
19866impl std::convert::TryFrom<&str> for OrgBlockUnblockedAction {
19867 type Error = &'static str;
19868
19869 fn try_from(value: &str) -> Result<Self, &'static str> {
19870 value.parse()
19871 }
19872}
19873impl std::convert::TryFrom<&String> for OrgBlockUnblockedAction {
19874 type Error = &'static str;
19875
19876 fn try_from(value: &String) -> Result<Self, &'static str> {
19877 value.parse()
19878 }
19879}
19880impl std::convert::TryFrom<String> for OrgBlockUnblockedAction {
19881 type Error = &'static str;
19882
19883 fn try_from(value: String) -> Result<Self, &'static str> {
19884 value.parse()
19885 }
19886}
19887#[derive(Clone, Debug, Deserialize, Serialize)]
19888#[serde(deny_unknown_fields)]
19889pub struct Organization {
19890 pub avatar_url: String,
19891 pub description: Option<String>,
19892 pub events_url: String,
19893 pub hooks_url: String,
19894 #[serde(default, skip_serializing_if = "Option::is_none")]
19895 pub html_url: Option<String>,
19896 pub id: i64,
19897 pub issues_url: String,
19898 pub login: String,
19899 pub members_url: String,
19900 pub node_id: String,
19901 pub public_members_url: String,
19902 pub repos_url: String,
19903 pub url: String,
19904}
19905impl From<&Organization> for Organization {
19906 fn from(value: &Organization) -> Self {
19907 value.clone()
19908 }
19909}
19910#[derive(Clone, Debug, Deserialize, Serialize)]
19911#[serde(deny_unknown_fields)]
19912pub struct OrganizationDeleted {
19913 pub action: OrganizationDeletedAction,
19914 #[serde(default, skip_serializing_if = "Option::is_none")]
19915 pub installation: Option<InstallationLite>,
19916 #[serde(default, skip_serializing_if = "Option::is_none")]
19917 pub membership: Option<Membership>,
19918 pub organization: Organization,
19919 pub sender: User,
19920}
19921impl From<&OrganizationDeleted> for OrganizationDeleted {
19922 fn from(value: &OrganizationDeleted) -> Self {
19923 value.clone()
19924 }
19925}
19926#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
19927pub enum OrganizationDeletedAction {
19928 #[serde(rename = "deleted")]
19929 Deleted,
19930}
19931impl From<&OrganizationDeletedAction> for OrganizationDeletedAction {
19932 fn from(value: &OrganizationDeletedAction) -> Self {
19933 value.clone()
19934 }
19935}
19936impl ToString for OrganizationDeletedAction {
19937 fn to_string(&self) -> String {
19938 match *self {
19939 Self::Deleted => "deleted".to_string(),
19940 }
19941 }
19942}
19943impl std::str::FromStr for OrganizationDeletedAction {
19944 type Err = &'static str;
19945
19946 fn from_str(value: &str) -> Result<Self, &'static str> {
19947 match value {
19948 "deleted" => Ok(Self::Deleted),
19949 _ => Err("invalid value"),
19950 }
19951 }
19952}
19953impl std::convert::TryFrom<&str> for OrganizationDeletedAction {
19954 type Error = &'static str;
19955
19956 fn try_from(value: &str) -> Result<Self, &'static str> {
19957 value.parse()
19958 }
19959}
19960impl std::convert::TryFrom<&String> for OrganizationDeletedAction {
19961 type Error = &'static str;
19962
19963 fn try_from(value: &String) -> Result<Self, &'static str> {
19964 value.parse()
19965 }
19966}
19967impl std::convert::TryFrom<String> for OrganizationDeletedAction {
19968 type Error = &'static str;
19969
19970 fn try_from(value: String) -> Result<Self, &'static str> {
19971 value.parse()
19972 }
19973}
19974#[derive(Clone, Debug, Deserialize, Serialize)]
19975#[serde(untagged)]
19976pub enum OrganizationEvent {
19977 Deleted(OrganizationDeleted),
19978 MemberAdded(OrganizationMemberAdded),
19979 MemberInvited(OrganizationMemberInvited),
19980 MemberRemoved(OrganizationMemberRemoved),
19981 Renamed(OrganizationRenamed),
19982}
19983impl From<&OrganizationEvent> for OrganizationEvent {
19984 fn from(value: &OrganizationEvent) -> Self {
19985 value.clone()
19986 }
19987}
19988impl From<OrganizationDeleted> for OrganizationEvent {
19989 fn from(value: OrganizationDeleted) -> Self {
19990 Self::Deleted(value)
19991 }
19992}
19993impl From<OrganizationMemberAdded> for OrganizationEvent {
19994 fn from(value: OrganizationMemberAdded) -> Self {
19995 Self::MemberAdded(value)
19996 }
19997}
19998impl From<OrganizationMemberInvited> for OrganizationEvent {
19999 fn from(value: OrganizationMemberInvited) -> Self {
20000 Self::MemberInvited(value)
20001 }
20002}
20003impl From<OrganizationMemberRemoved> for OrganizationEvent {
20004 fn from(value: OrganizationMemberRemoved) -> Self {
20005 Self::MemberRemoved(value)
20006 }
20007}
20008impl From<OrganizationRenamed> for OrganizationEvent {
20009 fn from(value: OrganizationRenamed) -> Self {
20010 Self::Renamed(value)
20011 }
20012}
20013#[derive(Clone, Debug, Deserialize, Serialize)]
20014#[serde(deny_unknown_fields)]
20015pub struct OrganizationMemberAdded {
20016 pub action: OrganizationMemberAddedAction,
20017 #[serde(default, skip_serializing_if = "Option::is_none")]
20018 pub installation: Option<InstallationLite>,
20019 pub membership: Membership,
20020 pub organization: Organization,
20021 pub sender: User,
20022}
20023impl From<&OrganizationMemberAdded> for OrganizationMemberAdded {
20024 fn from(value: &OrganizationMemberAdded) -> Self {
20025 value.clone()
20026 }
20027}
20028#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
20029pub enum OrganizationMemberAddedAction {
20030 #[serde(rename = "member_added")]
20031 MemberAdded,
20032}
20033impl From<&OrganizationMemberAddedAction> for OrganizationMemberAddedAction {
20034 fn from(value: &OrganizationMemberAddedAction) -> Self {
20035 value.clone()
20036 }
20037}
20038impl ToString for OrganizationMemberAddedAction {
20039 fn to_string(&self) -> String {
20040 match *self {
20041 Self::MemberAdded => "member_added".to_string(),
20042 }
20043 }
20044}
20045impl std::str::FromStr for OrganizationMemberAddedAction {
20046 type Err = &'static str;
20047
20048 fn from_str(value: &str) -> Result<Self, &'static str> {
20049 match value {
20050 "member_added" => Ok(Self::MemberAdded),
20051 _ => Err("invalid value"),
20052 }
20053 }
20054}
20055impl std::convert::TryFrom<&str> for OrganizationMemberAddedAction {
20056 type Error = &'static str;
20057
20058 fn try_from(value: &str) -> Result<Self, &'static str> {
20059 value.parse()
20060 }
20061}
20062impl std::convert::TryFrom<&String> for OrganizationMemberAddedAction {
20063 type Error = &'static str;
20064
20065 fn try_from(value: &String) -> Result<Self, &'static str> {
20066 value.parse()
20067 }
20068}
20069impl std::convert::TryFrom<String> for OrganizationMemberAddedAction {
20070 type Error = &'static str;
20071
20072 fn try_from(value: String) -> Result<Self, &'static str> {
20073 value.parse()
20074 }
20075}
20076#[derive(Clone, Debug, Deserialize, Serialize)]
20077#[serde(deny_unknown_fields)]
20078pub struct OrganizationMemberInvited {
20079 pub action: OrganizationMemberInvitedAction,
20080 #[serde(default, skip_serializing_if = "Option::is_none")]
20081 pub installation: Option<InstallationLite>,
20082 pub invitation: OrganizationMemberInvitedInvitation,
20083 pub organization: Organization,
20084 pub sender: User,
20085 pub user: User,
20086}
20087impl From<&OrganizationMemberInvited> for OrganizationMemberInvited {
20088 fn from(value: &OrganizationMemberInvited) -> Self {
20089 value.clone()
20090 }
20091}
20092#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
20093pub enum OrganizationMemberInvitedAction {
20094 #[serde(rename = "member_invited")]
20095 MemberInvited,
20096}
20097impl From<&OrganizationMemberInvitedAction> for OrganizationMemberInvitedAction {
20098 fn from(value: &OrganizationMemberInvitedAction) -> Self {
20099 value.clone()
20100 }
20101}
20102impl ToString for OrganizationMemberInvitedAction {
20103 fn to_string(&self) -> String {
20104 match *self {
20105 Self::MemberInvited => "member_invited".to_string(),
20106 }
20107 }
20108}
20109impl std::str::FromStr for OrganizationMemberInvitedAction {
20110 type Err = &'static str;
20111
20112 fn from_str(value: &str) -> Result<Self, &'static str> {
20113 match value {
20114 "member_invited" => Ok(Self::MemberInvited),
20115 _ => Err("invalid value"),
20116 }
20117 }
20118}
20119impl std::convert::TryFrom<&str> for OrganizationMemberInvitedAction {
20120 type Error = &'static str;
20121
20122 fn try_from(value: &str) -> Result<Self, &'static str> {
20123 value.parse()
20124 }
20125}
20126impl std::convert::TryFrom<&String> for OrganizationMemberInvitedAction {
20127 type Error = &'static str;
20128
20129 fn try_from(value: &String) -> Result<Self, &'static str> {
20130 value.parse()
20131 }
20132}
20133impl std::convert::TryFrom<String> for OrganizationMemberInvitedAction {
20134 type Error = &'static str;
20135
20136 fn try_from(value: String) -> Result<Self, &'static str> {
20137 value.parse()
20138 }
20139}
20140#[derive(Clone, Debug, Deserialize, Serialize)]
20142#[serde(deny_unknown_fields)]
20143pub struct OrganizationMemberInvitedInvitation {
20144 pub created_at: chrono::DateTime<chrono::offset::Utc>,
20145 pub email: Option<String>,
20146 pub failed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
20147 pub failed_reason: Option<String>,
20148 pub id: f64,
20149 pub invitation_teams_url: String,
20150 pub inviter: User,
20151 pub login: String,
20152 pub node_id: String,
20153 pub role: String,
20154 pub team_count: f64,
20155}
20156impl From<&OrganizationMemberInvitedInvitation> for OrganizationMemberInvitedInvitation {
20157 fn from(value: &OrganizationMemberInvitedInvitation) -> Self {
20158 value.clone()
20159 }
20160}
20161#[derive(Clone, Debug, Deserialize, Serialize)]
20162#[serde(deny_unknown_fields)]
20163pub struct OrganizationMemberRemoved {
20164 pub action: OrganizationMemberRemovedAction,
20165 #[serde(default, skip_serializing_if = "Option::is_none")]
20166 pub installation: Option<InstallationLite>,
20167 pub membership: Membership,
20168 pub organization: Organization,
20169 pub sender: User,
20170}
20171impl From<&OrganizationMemberRemoved> for OrganizationMemberRemoved {
20172 fn from(value: &OrganizationMemberRemoved) -> Self {
20173 value.clone()
20174 }
20175}
20176#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
20177pub enum OrganizationMemberRemovedAction {
20178 #[serde(rename = "member_removed")]
20179 MemberRemoved,
20180}
20181impl From<&OrganizationMemberRemovedAction> for OrganizationMemberRemovedAction {
20182 fn from(value: &OrganizationMemberRemovedAction) -> Self {
20183 value.clone()
20184 }
20185}
20186impl ToString for OrganizationMemberRemovedAction {
20187 fn to_string(&self) -> String {
20188 match *self {
20189 Self::MemberRemoved => "member_removed".to_string(),
20190 }
20191 }
20192}
20193impl std::str::FromStr for OrganizationMemberRemovedAction {
20194 type Err = &'static str;
20195
20196 fn from_str(value: &str) -> Result<Self, &'static str> {
20197 match value {
20198 "member_removed" => Ok(Self::MemberRemoved),
20199 _ => Err("invalid value"),
20200 }
20201 }
20202}
20203impl std::convert::TryFrom<&str> for OrganizationMemberRemovedAction {
20204 type Error = &'static str;
20205
20206 fn try_from(value: &str) -> Result<Self, &'static str> {
20207 value.parse()
20208 }
20209}
20210impl std::convert::TryFrom<&String> for OrganizationMemberRemovedAction {
20211 type Error = &'static str;
20212
20213 fn try_from(value: &String) -> Result<Self, &'static str> {
20214 value.parse()
20215 }
20216}
20217impl std::convert::TryFrom<String> for OrganizationMemberRemovedAction {
20218 type Error = &'static str;
20219
20220 fn try_from(value: String) -> Result<Self, &'static str> {
20221 value.parse()
20222 }
20223}
20224#[derive(Clone, Debug, Deserialize, Serialize)]
20225#[serde(deny_unknown_fields)]
20226pub struct OrganizationRenamed {
20227 pub action: OrganizationRenamedAction,
20228 pub changes: OrganizationRenamedChanges,
20229 #[serde(default, skip_serializing_if = "Option::is_none")]
20230 pub installation: Option<InstallationLite>,
20231 pub organization: Organization,
20232 pub sender: User,
20233}
20234impl From<&OrganizationRenamed> for OrganizationRenamed {
20235 fn from(value: &OrganizationRenamed) -> Self {
20236 value.clone()
20237 }
20238}
20239#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
20240pub enum OrganizationRenamedAction {
20241 #[serde(rename = "renamed")]
20242 Renamed,
20243}
20244impl From<&OrganizationRenamedAction> for OrganizationRenamedAction {
20245 fn from(value: &OrganizationRenamedAction) -> Self {
20246 value.clone()
20247 }
20248}
20249impl ToString for OrganizationRenamedAction {
20250 fn to_string(&self) -> String {
20251 match *self {
20252 Self::Renamed => "renamed".to_string(),
20253 }
20254 }
20255}
20256impl std::str::FromStr for OrganizationRenamedAction {
20257 type Err = &'static str;
20258
20259 fn from_str(value: &str) -> Result<Self, &'static str> {
20260 match value {
20261 "renamed" => Ok(Self::Renamed),
20262 _ => Err("invalid value"),
20263 }
20264 }
20265}
20266impl std::convert::TryFrom<&str> for OrganizationRenamedAction {
20267 type Error = &'static str;
20268
20269 fn try_from(value: &str) -> Result<Self, &'static str> {
20270 value.parse()
20271 }
20272}
20273impl std::convert::TryFrom<&String> for OrganizationRenamedAction {
20274 type Error = &'static str;
20275
20276 fn try_from(value: &String) -> Result<Self, &'static str> {
20277 value.parse()
20278 }
20279}
20280impl std::convert::TryFrom<String> for OrganizationRenamedAction {
20281 type Error = &'static str;
20282
20283 fn try_from(value: String) -> Result<Self, &'static str> {
20284 value.parse()
20285 }
20286}
20287#[derive(Clone, Debug, Deserialize, Serialize)]
20288#[serde(deny_unknown_fields)]
20289pub struct OrganizationRenamedChanges {
20290 pub login: OrganizationRenamedChangesLogin,
20291}
20292impl From<&OrganizationRenamedChanges> for OrganizationRenamedChanges {
20293 fn from(value: &OrganizationRenamedChanges) -> Self {
20294 value.clone()
20295 }
20296}
20297#[derive(Clone, Debug, Deserialize, Serialize)]
20298#[serde(deny_unknown_fields)]
20299pub struct OrganizationRenamedChangesLogin {
20300 pub from: String,
20301}
20302impl From<&OrganizationRenamedChangesLogin> for OrganizationRenamedChangesLogin {
20303 fn from(value: &OrganizationRenamedChangesLogin) -> Self {
20304 value.clone()
20305 }
20306}
20307#[derive(Clone, Debug, Deserialize, Serialize)]
20308#[serde(untagged)]
20309pub enum PackageEvent {
20310 Published(PackagePublished),
20311 Updated(PackageUpdated),
20312}
20313impl From<&PackageEvent> for PackageEvent {
20314 fn from(value: &PackageEvent) -> Self {
20315 value.clone()
20316 }
20317}
20318impl From<PackagePublished> for PackageEvent {
20319 fn from(value: PackagePublished) -> Self {
20320 Self::Published(value)
20321 }
20322}
20323impl From<PackageUpdated> for PackageEvent {
20324 fn from(value: PackageUpdated) -> Self {
20325 Self::Updated(value)
20326 }
20327}
20328#[derive(Clone, Debug, Deserialize, Serialize)]
20329#[serde(deny_unknown_fields)]
20330pub struct PackageNpmMetadata {
20331 #[serde(default, skip_serializing_if = "Option::is_none")]
20332 pub author: Option<std::collections::HashMap<String, String>>,
20333 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
20334 pub bin: std::collections::HashMap<String, serde_json::Value>,
20335 #[serde(default, skip_serializing_if = "Option::is_none")]
20336 pub bugs: Option<std::collections::HashMap<String, String>>,
20337 #[serde(default, skip_serializing_if = "Option::is_none")]
20338 pub commit_oid: Option<String>,
20339 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20340 pub contributors: Vec<std::collections::HashMap<String, serde_json::Value>>,
20341 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20342 pub cpu: Vec<String>,
20343 #[serde(default, skip_serializing_if = "Option::is_none")]
20344 pub deleted_by_id: Option<i64>,
20345 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
20346 pub dependencies: std::collections::HashMap<String, String>,
20347 #[serde(default, skip_serializing_if = "Option::is_none")]
20348 pub description: Option<String>,
20349 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
20350 pub dev_dependencies: std::collections::HashMap<String, String>,
20351 #[serde(default, skip_serializing_if = "Option::is_none")]
20352 pub directories: Option<std::collections::HashMap<String, String>>,
20353 #[serde(default, skip_serializing_if = "Option::is_none")]
20354 pub dist: Option<std::collections::HashMap<String, String>>,
20355 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
20356 pub engines: std::collections::HashMap<String, String>,
20357 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20358 pub files: Vec<String>,
20359 #[serde(default, skip_serializing_if = "Option::is_none")]
20360 pub git_head: Option<String>,
20361 #[serde(default, skip_serializing_if = "Option::is_none")]
20362 pub has_shrinkwrap: Option<bool>,
20363 #[serde(default, skip_serializing_if = "Option::is_none")]
20364 pub homepage: Option<String>,
20365 #[serde(default, skip_serializing_if = "Option::is_none")]
20366 pub id: Option<String>,
20367 #[serde(default, skip_serializing_if = "Option::is_none")]
20368 pub installation_command: Option<String>,
20369 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20370 pub keywords: Vec<String>,
20371 #[serde(default, skip_serializing_if = "Option::is_none")]
20372 pub license: Option<String>,
20373 #[serde(default, skip_serializing_if = "Option::is_none")]
20374 pub main: Option<String>,
20375 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20376 pub maintainers: Vec<std::collections::HashMap<String, serde_json::Value>>,
20377 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
20378 pub man: std::collections::HashMap<String, serde_json::Value>,
20379 #[serde(default, skip_serializing_if = "Option::is_none")]
20380 pub name: Option<String>,
20381 #[serde(default, skip_serializing_if = "Option::is_none")]
20382 pub node_version: Option<String>,
20383 #[serde(default, skip_serializing_if = "Option::is_none")]
20384 pub npm_user: Option<String>,
20385 #[serde(default, skip_serializing_if = "Option::is_none")]
20386 pub npm_version: Option<String>,
20387 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
20388 pub optional_dependencies: std::collections::HashMap<String, String>,
20389 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20390 pub os: Vec<String>,
20391 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
20392 pub peer_dependencies: std::collections::HashMap<String, String>,
20393 #[serde(default, skip_serializing_if = "Option::is_none")]
20394 pub published_via_actions: Option<bool>,
20395 #[serde(default, skip_serializing_if = "Option::is_none")]
20396 pub readme: Option<String>,
20397 #[serde(default, skip_serializing_if = "Option::is_none")]
20398 pub release_id: Option<i64>,
20399 #[serde(default, skip_serializing_if = "Option::is_none")]
20400 pub repository: Option<std::collections::HashMap<String, String>>,
20401 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
20402 pub scripts: std::collections::HashMap<String, serde_json::Value>,
20403 #[serde(default, skip_serializing_if = "Option::is_none")]
20404 pub version: Option<String>,
20405}
20406impl From<&PackageNpmMetadata> for PackageNpmMetadata {
20407 fn from(value: &PackageNpmMetadata) -> Self {
20408 value.clone()
20409 }
20410}
20411#[derive(Clone, Debug, Deserialize, Serialize)]
20412#[serde(deny_unknown_fields)]
20413pub struct PackageNugetMetadata {
20414 #[serde(default, skip_serializing_if = "Option::is_none")]
20415 pub id: Option<PackageNugetMetadataId>,
20416 #[serde(default, skip_serializing_if = "Option::is_none")]
20417 pub name: Option<String>,
20418 #[serde(default, skip_serializing_if = "Option::is_none")]
20419 pub value: Option<PackageNugetMetadataValue>,
20420}
20421impl From<&PackageNugetMetadata> for PackageNugetMetadata {
20422 fn from(value: &PackageNugetMetadata) -> Self {
20423 value.clone()
20424 }
20425}
20426#[derive(Clone, Debug, Deserialize, Serialize)]
20427#[serde(untagged)]
20428pub enum PackageNugetMetadataId {
20429 Variant0(String),
20430 Variant1(std::collections::HashMap<String, serde_json::Value>),
20431 Variant2(i64),
20432}
20433impl From<&PackageNugetMetadataId> for PackageNugetMetadataId {
20434 fn from(value: &PackageNugetMetadataId) -> Self {
20435 value.clone()
20436 }
20437}
20438impl From<std::collections::HashMap<String, serde_json::Value>> for PackageNugetMetadataId {
20439 fn from(value: std::collections::HashMap<String, serde_json::Value>) -> Self {
20440 Self::Variant1(value)
20441 }
20442}
20443impl From<i64> for PackageNugetMetadataId {
20444 fn from(value: i64) -> Self {
20445 Self::Variant2(value)
20446 }
20447}
20448#[derive(Clone, Debug, Deserialize, Serialize)]
20449#[serde(untagged, deny_unknown_fields)]
20450pub enum PackageNugetMetadataValue {
20451 Variant0(bool),
20452 Variant1(String),
20453 Variant2(i64),
20454 Variant3 {
20455 #[serde(default, skip_serializing_if = "Option::is_none")]
20456 branch: Option<String>,
20457 #[serde(default, skip_serializing_if = "Option::is_none")]
20458 commit: Option<String>,
20459 #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
20460 type_: Option<String>,
20461 #[serde(default, skip_serializing_if = "Option::is_none")]
20462 url: Option<String>,
20463 },
20464}
20465impl From<&PackageNugetMetadataValue> for PackageNugetMetadataValue {
20466 fn from(value: &PackageNugetMetadataValue) -> Self {
20467 value.clone()
20468 }
20469}
20470impl From<bool> for PackageNugetMetadataValue {
20471 fn from(value: bool) -> Self {
20472 Self::Variant0(value)
20473 }
20474}
20475impl From<i64> for PackageNugetMetadataValue {
20476 fn from(value: i64) -> Self {
20477 Self::Variant2(value)
20478 }
20479}
20480#[derive(Clone, Debug, Deserialize, Serialize)]
20481#[serde(deny_unknown_fields)]
20482pub struct PackagePublished {
20483 pub action: PackagePublishedAction,
20484 #[serde(default, skip_serializing_if = "Option::is_none")]
20485 pub organization: Option<Organization>,
20486 pub package: PackagePublishedPackage,
20487 pub repository: Repository,
20488 pub sender: User,
20489}
20490impl From<&PackagePublished> for PackagePublished {
20491 fn from(value: &PackagePublished) -> Self {
20492 value.clone()
20493 }
20494}
20495#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
20496pub enum PackagePublishedAction {
20497 #[serde(rename = "published")]
20498 Published,
20499}
20500impl From<&PackagePublishedAction> for PackagePublishedAction {
20501 fn from(value: &PackagePublishedAction) -> Self {
20502 value.clone()
20503 }
20504}
20505impl ToString for PackagePublishedAction {
20506 fn to_string(&self) -> String {
20507 match *self {
20508 Self::Published => "published".to_string(),
20509 }
20510 }
20511}
20512impl std::str::FromStr for PackagePublishedAction {
20513 type Err = &'static str;
20514
20515 fn from_str(value: &str) -> Result<Self, &'static str> {
20516 match value {
20517 "published" => Ok(Self::Published),
20518 _ => Err("invalid value"),
20519 }
20520 }
20521}
20522impl std::convert::TryFrom<&str> for PackagePublishedAction {
20523 type Error = &'static str;
20524
20525 fn try_from(value: &str) -> Result<Self, &'static str> {
20526 value.parse()
20527 }
20528}
20529impl std::convert::TryFrom<&String> for PackagePublishedAction {
20530 type Error = &'static str;
20531
20532 fn try_from(value: &String) -> Result<Self, &'static str> {
20533 value.parse()
20534 }
20535}
20536impl std::convert::TryFrom<String> for PackagePublishedAction {
20537 type Error = &'static str;
20538
20539 fn try_from(value: String) -> Result<Self, &'static str> {
20540 value.parse()
20541 }
20542}
20543#[derive(Clone, Debug, Deserialize, Serialize)]
20545#[serde(deny_unknown_fields)]
20546pub struct PackagePublishedPackage {
20547 pub created_at: chrono::DateTime<chrono::offset::Utc>,
20548 pub description: Option<String>,
20549 pub ecosystem: String,
20550 pub html_url: String,
20551 pub id: i64,
20553 pub name: String,
20555 pub namespace: String,
20556 pub owner: User,
20557 pub package_type: PackagePublishedPackagePackageType,
20564 pub package_version: Option<PackagePublishedPackagePackageVersion>,
20566 pub registry: PackagePublishedPackageRegistry,
20567 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
20568}
20569impl From<&PackagePublishedPackage> for PackagePublishedPackage {
20570 fn from(value: &PackagePublishedPackage) -> Self {
20571 value.clone()
20572 }
20573}
20574#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
20581pub enum PackagePublishedPackagePackageType {
20582 #[serde(rename = "npm")]
20583 Npm,
20584 #[serde(rename = "maven")]
20585 Maven,
20586 #[serde(rename = "rubygems")]
20587 Rubygems,
20588 #[serde(rename = "docker")]
20589 Docker,
20590 #[serde(rename = "nuget")]
20591 Nuget,
20592 #[serde(rename = "CONTAINER")]
20593 Container,
20594}
20595impl From<&PackagePublishedPackagePackageType> for PackagePublishedPackagePackageType {
20596 fn from(value: &PackagePublishedPackagePackageType) -> Self {
20597 value.clone()
20598 }
20599}
20600impl ToString for PackagePublishedPackagePackageType {
20601 fn to_string(&self) -> String {
20602 match *self {
20603 Self::Npm => "npm".to_string(),
20604 Self::Maven => "maven".to_string(),
20605 Self::Rubygems => "rubygems".to_string(),
20606 Self::Docker => "docker".to_string(),
20607 Self::Nuget => "nuget".to_string(),
20608 Self::Container => "CONTAINER".to_string(),
20609 }
20610 }
20611}
20612impl std::str::FromStr for PackagePublishedPackagePackageType {
20613 type Err = &'static str;
20614
20615 fn from_str(value: &str) -> Result<Self, &'static str> {
20616 match value {
20617 "npm" => Ok(Self::Npm),
20618 "maven" => Ok(Self::Maven),
20619 "rubygems" => Ok(Self::Rubygems),
20620 "docker" => Ok(Self::Docker),
20621 "nuget" => Ok(Self::Nuget),
20622 "CONTAINER" => Ok(Self::Container),
20623 _ => Err("invalid value"),
20624 }
20625 }
20626}
20627impl std::convert::TryFrom<&str> for PackagePublishedPackagePackageType {
20628 type Error = &'static str;
20629
20630 fn try_from(value: &str) -> Result<Self, &'static str> {
20631 value.parse()
20632 }
20633}
20634impl std::convert::TryFrom<&String> for PackagePublishedPackagePackageType {
20635 type Error = &'static str;
20636
20637 fn try_from(value: &String) -> Result<Self, &'static str> {
20638 value.parse()
20639 }
20640}
20641impl std::convert::TryFrom<String> for PackagePublishedPackagePackageType {
20642 type Error = &'static str;
20643
20644 fn try_from(value: String) -> Result<Self, &'static str> {
20645 value.parse()
20646 }
20647}
20648#[derive(Clone, Debug, Deserialize, Serialize)]
20649#[serde(deny_unknown_fields)]
20650pub struct PackagePublishedPackagePackageVersion {
20651 #[serde(default, skip_serializing_if = "Option::is_none")]
20652 pub author: Option<User>,
20653 #[serde(default, skip_serializing_if = "Option::is_none")]
20654 pub body: Option<PackagePublishedPackagePackageVersionBody>,
20655 #[serde(default, skip_serializing_if = "Option::is_none")]
20656 pub body_html: Option<String>,
20657 #[serde(default, skip_serializing_if = "Option::is_none")]
20658 pub container_metadata: Option<PackagePublishedPackagePackageVersionContainerMetadata>,
20659 #[serde(default, skip_serializing_if = "Option::is_none")]
20660 pub created_at: Option<chrono::DateTime<chrono::offset::Utc>>,
20661 pub description: String,
20662 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20663 pub docker_metadata: Vec<serde_json::Value>,
20664 #[serde(default, skip_serializing_if = "Option::is_none")]
20665 pub draft: Option<bool>,
20666 pub html_url: String,
20667 pub id: i64,
20669 pub installation_command: String,
20670 #[serde(default, skip_serializing_if = "Option::is_none")]
20671 pub manifest: Option<String>,
20672 pub metadata: Vec<serde_json::Value>,
20674 pub name: String,
20676 #[serde(default, skip_serializing_if = "Option::is_none")]
20677 pub npm_metadata: Option<PackageNpmMetadata>,
20678 #[serde(default, skip_serializing_if = "Option::is_none")]
20679 pub nuget_metadata: Option<Vec<PackageNugetMetadata>>,
20680 pub package_files: Vec<PackagePublishedPackagePackageVersionPackageFilesItem>,
20681 #[serde(default, skip_serializing_if = "Option::is_none")]
20682 pub package_url: Option<String>,
20683 #[serde(default, skip_serializing_if = "Option::is_none")]
20684 pub prerelease: Option<bool>,
20685 #[serde(default, skip_serializing_if = "Option::is_none")]
20686 pub release: Option<PackagePublishedPackagePackageVersionRelease>,
20687 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20688 pub rubygems_metadata: Vec<serde_json::Value>,
20689 #[serde(default, skip_serializing_if = "Option::is_none")]
20690 pub source_url: Option<String>,
20691 pub summary: String,
20692 #[serde(default, skip_serializing_if = "Option::is_none")]
20693 pub tag_name: Option<String>,
20694 #[serde(default, skip_serializing_if = "Option::is_none")]
20695 pub target_commitish: Option<String>,
20696 #[serde(default, skip_serializing_if = "Option::is_none")]
20697 pub target_oid: Option<String>,
20698 #[serde(default, skip_serializing_if = "Option::is_none")]
20699 pub updated_at: Option<chrono::DateTime<chrono::offset::Utc>>,
20700 pub version: String,
20701}
20702impl From<&PackagePublishedPackagePackageVersion> for PackagePublishedPackagePackageVersion {
20703 fn from(value: &PackagePublishedPackagePackageVersion) -> Self {
20704 value.clone()
20705 }
20706}
20707#[derive(Clone, Debug, Deserialize, Serialize)]
20708#[serde(untagged, deny_unknown_fields)]
20709pub enum PackagePublishedPackagePackageVersionBody {
20710 Variant0(String),
20711 Variant1 {
20712 attributes: PackagePublishedPackagePackageVersionBodyVariant1Attributes,
20713 #[serde(rename = "_formatted")]
20714 formatted: bool,
20715 info: PackagePublishedPackagePackageVersionBodyVariant1Info,
20716 repository: PackagePublishedPackagePackageVersionBodyVariant1Repository,
20717 },
20718}
20719impl From<&PackagePublishedPackagePackageVersionBody>
20720 for PackagePublishedPackagePackageVersionBody
20721{
20722 fn from(value: &PackagePublishedPackagePackageVersionBody) -> Self {
20723 value.clone()
20724 }
20725}
20726#[derive(Clone, Debug, Deserialize, Serialize)]
20727#[serde(deny_unknown_fields)]
20728pub struct PackagePublishedPackagePackageVersionBodyVariant1Attributes {}
20729impl From<&PackagePublishedPackagePackageVersionBodyVariant1Attributes>
20730 for PackagePublishedPackagePackageVersionBodyVariant1Attributes
20731{
20732 fn from(value: &PackagePublishedPackagePackageVersionBodyVariant1Attributes) -> Self {
20733 value.clone()
20734 }
20735}
20736#[derive(Clone, Debug, Deserialize, Serialize)]
20737#[serde(deny_unknown_fields)]
20738pub struct PackagePublishedPackagePackageVersionBodyVariant1Info {
20739 pub collection: bool,
20740 pub mode: i64,
20741 pub name: String,
20742 pub oid: String,
20743 pub path: String,
20744 pub size: Option<i64>,
20745 #[serde(rename = "type")]
20746 pub type_: String,
20747}
20748impl From<&PackagePublishedPackagePackageVersionBodyVariant1Info>
20749 for PackagePublishedPackagePackageVersionBodyVariant1Info
20750{
20751 fn from(value: &PackagePublishedPackagePackageVersionBodyVariant1Info) -> Self {
20752 value.clone()
20753 }
20754}
20755#[derive(Clone, Debug, Deserialize, Serialize)]
20756#[serde(deny_unknown_fields)]
20757pub struct PackagePublishedPackagePackageVersionBodyVariant1Repository {
20758 pub repository: Repository,
20759}
20760impl From<&PackagePublishedPackagePackageVersionBodyVariant1Repository>
20761 for PackagePublishedPackagePackageVersionBodyVariant1Repository
20762{
20763 fn from(value: &PackagePublishedPackagePackageVersionBodyVariant1Repository) -> Self {
20764 value.clone()
20765 }
20766}
20767#[derive(Clone, Debug, Deserialize, Serialize)]
20768#[serde(deny_unknown_fields)]
20769pub struct PackagePublishedPackagePackageVersionContainerMetadata {
20770 #[serde(default, skip_serializing_if = "Option::is_none")]
20771 pub labels: Option<std::collections::HashMap<String, serde_json::Value>>,
20772 #[serde(default, skip_serializing_if = "Option::is_none")]
20773 pub manifest: Option<std::collections::HashMap<String, serde_json::Value>>,
20774 #[serde(default, skip_serializing_if = "Option::is_none")]
20775 pub tag: Option<PackagePublishedPackagePackageVersionContainerMetadataTag>,
20776}
20777impl From<&PackagePublishedPackagePackageVersionContainerMetadata>
20778 for PackagePublishedPackagePackageVersionContainerMetadata
20779{
20780 fn from(value: &PackagePublishedPackagePackageVersionContainerMetadata) -> Self {
20781 value.clone()
20782 }
20783}
20784#[derive(Clone, Debug, Deserialize, Serialize)]
20785#[serde(deny_unknown_fields)]
20786pub struct PackagePublishedPackagePackageVersionContainerMetadataTag {
20787 #[serde(default, skip_serializing_if = "Option::is_none")]
20788 pub digest: Option<String>,
20789 #[serde(default, skip_serializing_if = "Option::is_none")]
20790 pub name: Option<String>,
20791}
20792impl From<&PackagePublishedPackagePackageVersionContainerMetadataTag>
20793 for PackagePublishedPackagePackageVersionContainerMetadataTag
20794{
20795 fn from(value: &PackagePublishedPackagePackageVersionContainerMetadataTag) -> Self {
20796 value.clone()
20797 }
20798}
20799#[derive(Clone, Debug, Deserialize, Serialize)]
20800#[serde(deny_unknown_fields)]
20801pub struct PackagePublishedPackagePackageVersionPackageFilesItem {
20802 pub content_type: String,
20803 pub created_at: chrono::DateTime<chrono::offset::Utc>,
20804 pub download_url: String,
20805 pub id: i64,
20806 pub md5: String,
20807 pub name: String,
20808 pub sha1: String,
20809 pub sha256: String,
20810 pub size: i64,
20811 pub state: String,
20812 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
20813}
20814impl From<&PackagePublishedPackagePackageVersionPackageFilesItem>
20815 for PackagePublishedPackagePackageVersionPackageFilesItem
20816{
20817 fn from(value: &PackagePublishedPackagePackageVersionPackageFilesItem) -> Self {
20818 value.clone()
20819 }
20820}
20821#[derive(Clone, Debug, Deserialize, Serialize)]
20822#[serde(deny_unknown_fields)]
20823pub struct PackagePublishedPackagePackageVersionRelease {
20824 pub author: User,
20825 pub created_at: chrono::DateTime<chrono::offset::Utc>,
20826 pub draft: bool,
20827 pub html_url: String,
20828 pub id: i64,
20829 pub name: String,
20830 pub prerelease: bool,
20831 pub published_at: chrono::DateTime<chrono::offset::Utc>,
20832 pub tag_name: String,
20833 pub target_commitish: String,
20834 pub url: String,
20835}
20836impl From<&PackagePublishedPackagePackageVersionRelease>
20837 for PackagePublishedPackagePackageVersionRelease
20838{
20839 fn from(value: &PackagePublishedPackagePackageVersionRelease) -> Self {
20840 value.clone()
20841 }
20842}
20843#[derive(Clone, Debug, Deserialize, Serialize)]
20844#[serde(deny_unknown_fields)]
20845pub struct PackagePublishedPackageRegistry {
20846 pub about_url: String,
20847 pub name: String,
20848 #[serde(rename = "type")]
20849 pub type_: String,
20850 pub url: String,
20851 pub vendor: String,
20852}
20853impl From<&PackagePublishedPackageRegistry> for PackagePublishedPackageRegistry {
20854 fn from(value: &PackagePublishedPackageRegistry) -> Self {
20855 value.clone()
20856 }
20857}
20858#[derive(Clone, Debug, Deserialize, Serialize)]
20859#[serde(deny_unknown_fields)]
20860pub struct PackageUpdated {
20861 pub action: PackageUpdatedAction,
20862 #[serde(default, skip_serializing_if = "Option::is_none")]
20863 pub organization: Option<Organization>,
20864 pub package: PackageUpdatedPackage,
20865 pub repository: Repository,
20866 pub sender: User,
20867}
20868impl From<&PackageUpdated> for PackageUpdated {
20869 fn from(value: &PackageUpdated) -> Self {
20870 value.clone()
20871 }
20872}
20873#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
20874pub enum PackageUpdatedAction {
20875 #[serde(rename = "updated")]
20876 Updated,
20877}
20878impl From<&PackageUpdatedAction> for PackageUpdatedAction {
20879 fn from(value: &PackageUpdatedAction) -> Self {
20880 value.clone()
20881 }
20882}
20883impl ToString for PackageUpdatedAction {
20884 fn to_string(&self) -> String {
20885 match *self {
20886 Self::Updated => "updated".to_string(),
20887 }
20888 }
20889}
20890impl std::str::FromStr for PackageUpdatedAction {
20891 type Err = &'static str;
20892
20893 fn from_str(value: &str) -> Result<Self, &'static str> {
20894 match value {
20895 "updated" => Ok(Self::Updated),
20896 _ => Err("invalid value"),
20897 }
20898 }
20899}
20900impl std::convert::TryFrom<&str> for PackageUpdatedAction {
20901 type Error = &'static str;
20902
20903 fn try_from(value: &str) -> Result<Self, &'static str> {
20904 value.parse()
20905 }
20906}
20907impl std::convert::TryFrom<&String> for PackageUpdatedAction {
20908 type Error = &'static str;
20909
20910 fn try_from(value: &String) -> Result<Self, &'static str> {
20911 value.parse()
20912 }
20913}
20914impl std::convert::TryFrom<String> for PackageUpdatedAction {
20915 type Error = &'static str;
20916
20917 fn try_from(value: String) -> Result<Self, &'static str> {
20918 value.parse()
20919 }
20920}
20921#[derive(Clone, Debug, Deserialize, Serialize)]
20923#[serde(deny_unknown_fields)]
20924pub struct PackageUpdatedPackage {
20925 pub created_at: chrono::DateTime<chrono::offset::Utc>,
20926 pub description: Option<String>,
20927 pub ecosystem: String,
20928 pub html_url: String,
20929 pub id: i64,
20931 pub name: String,
20933 pub namespace: String,
20934 pub owner: User,
20935 pub package_type: PackageUpdatedPackagePackageType,
20936 pub package_version: Option<PackageUpdatedPackagePackageVersion>,
20938 pub registry: PackageUpdatedPackageRegistry,
20939 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
20940}
20941impl From<&PackageUpdatedPackage> for PackageUpdatedPackage {
20942 fn from(value: &PackageUpdatedPackage) -> Self {
20943 value.clone()
20944 }
20945}
20946#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
20947pub enum PackageUpdatedPackagePackageType {
20948 #[serde(rename = "npm")]
20949 Npm,
20950 #[serde(rename = "maven")]
20951 Maven,
20952 #[serde(rename = "rubygems")]
20953 Rubygems,
20954 #[serde(rename = "docker")]
20955 Docker,
20956 #[serde(rename = "nuget")]
20957 Nuget,
20958 #[serde(rename = "CONTAINER")]
20959 Container,
20960}
20961impl From<&PackageUpdatedPackagePackageType> for PackageUpdatedPackagePackageType {
20962 fn from(value: &PackageUpdatedPackagePackageType) -> Self {
20963 value.clone()
20964 }
20965}
20966impl ToString for PackageUpdatedPackagePackageType {
20967 fn to_string(&self) -> String {
20968 match *self {
20969 Self::Npm => "npm".to_string(),
20970 Self::Maven => "maven".to_string(),
20971 Self::Rubygems => "rubygems".to_string(),
20972 Self::Docker => "docker".to_string(),
20973 Self::Nuget => "nuget".to_string(),
20974 Self::Container => "CONTAINER".to_string(),
20975 }
20976 }
20977}
20978impl std::str::FromStr for PackageUpdatedPackagePackageType {
20979 type Err = &'static str;
20980
20981 fn from_str(value: &str) -> Result<Self, &'static str> {
20982 match value {
20983 "npm" => Ok(Self::Npm),
20984 "maven" => Ok(Self::Maven),
20985 "rubygems" => Ok(Self::Rubygems),
20986 "docker" => Ok(Self::Docker),
20987 "nuget" => Ok(Self::Nuget),
20988 "CONTAINER" => Ok(Self::Container),
20989 _ => Err("invalid value"),
20990 }
20991 }
20992}
20993impl std::convert::TryFrom<&str> for PackageUpdatedPackagePackageType {
20994 type Error = &'static str;
20995
20996 fn try_from(value: &str) -> Result<Self, &'static str> {
20997 value.parse()
20998 }
20999}
21000impl std::convert::TryFrom<&String> for PackageUpdatedPackagePackageType {
21001 type Error = &'static str;
21002
21003 fn try_from(value: &String) -> Result<Self, &'static str> {
21004 value.parse()
21005 }
21006}
21007impl std::convert::TryFrom<String> for PackageUpdatedPackagePackageType {
21008 type Error = &'static str;
21009
21010 fn try_from(value: String) -> Result<Self, &'static str> {
21011 value.parse()
21012 }
21013}
21014#[derive(Clone, Debug, Deserialize, Serialize)]
21015#[serde(deny_unknown_fields)]
21016pub struct PackageUpdatedPackagePackageVersion {
21017 #[serde(default, skip_serializing_if = "Option::is_none")]
21018 pub author: Option<User>,
21019 #[serde(default, skip_serializing_if = "Option::is_none")]
21020 pub body: Option<PackageUpdatedPackagePackageVersionBody>,
21021 #[serde(default, skip_serializing_if = "Option::is_none")]
21022 pub body_html: Option<String>,
21023 #[serde(default, skip_serializing_if = "Option::is_none")]
21024 pub container_metadata: Option<PackageUpdatedPackagePackageVersionContainerMetadata>,
21025 #[serde(default, skip_serializing_if = "Option::is_none")]
21026 pub created_at: Option<chrono::DateTime<chrono::offset::Utc>>,
21027 pub description: String,
21028 #[serde(default, skip_serializing_if = "Vec::is_empty")]
21029 pub docker_metadata: Vec<serde_json::Value>,
21030 #[serde(default, skip_serializing_if = "Option::is_none")]
21031 pub draft: Option<bool>,
21032 pub html_url: String,
21033 pub id: i64,
21035 pub installation_command: String,
21036 #[serde(default, skip_serializing_if = "Option::is_none")]
21037 pub manifest: Option<String>,
21038 pub metadata: Vec<serde_json::Value>,
21040 pub name: String,
21042 #[serde(default, skip_serializing_if = "Option::is_none")]
21043 pub npm_metadata: Option<PackageNpmMetadata>,
21044 #[serde(default, skip_serializing_if = "Option::is_none")]
21045 pub nuget_metadata: Option<Vec<PackageNugetMetadata>>,
21046 pub package_files: Vec<PackageUpdatedPackagePackageVersionPackageFilesItem>,
21047 #[serde(default, skip_serializing_if = "Option::is_none")]
21048 pub package_url: Option<String>,
21049 #[serde(default, skip_serializing_if = "Option::is_none")]
21050 pub prerelease: Option<bool>,
21051 #[serde(default, skip_serializing_if = "Option::is_none")]
21052 pub release: Option<PackageUpdatedPackagePackageVersionRelease>,
21053 #[serde(default, skip_serializing_if = "Vec::is_empty")]
21054 pub rubygems_metadata: Vec<serde_json::Value>,
21055 #[serde(default, skip_serializing_if = "Option::is_none")]
21056 pub source_url: Option<String>,
21057 pub summary: String,
21058 #[serde(default, skip_serializing_if = "Option::is_none")]
21059 pub tag_name: Option<String>,
21060 #[serde(default, skip_serializing_if = "Option::is_none")]
21061 pub target_commitish: Option<String>,
21062 #[serde(default, skip_serializing_if = "Option::is_none")]
21063 pub target_oid: Option<String>,
21064 #[serde(default, skip_serializing_if = "Option::is_none")]
21065 pub updated_at: Option<chrono::DateTime<chrono::offset::Utc>>,
21066 pub version: String,
21067}
21068impl From<&PackageUpdatedPackagePackageVersion> for PackageUpdatedPackagePackageVersion {
21069 fn from(value: &PackageUpdatedPackagePackageVersion) -> Self {
21070 value.clone()
21071 }
21072}
21073#[derive(Clone, Debug, Deserialize, Serialize)]
21074#[serde(untagged, deny_unknown_fields)]
21075pub enum PackageUpdatedPackagePackageVersionBody {
21076 Variant0(String),
21077 Variant1 {
21078 attributes: PackageUpdatedPackagePackageVersionBodyVariant1Attributes,
21079 #[serde(rename = "_formatted")]
21080 formatted: bool,
21081 info: PackageUpdatedPackagePackageVersionBodyVariant1Info,
21082 repository: PackageUpdatedPackagePackageVersionBodyVariant1Repository,
21083 },
21084}
21085impl From<&PackageUpdatedPackagePackageVersionBody> for PackageUpdatedPackagePackageVersionBody {
21086 fn from(value: &PackageUpdatedPackagePackageVersionBody) -> Self {
21087 value.clone()
21088 }
21089}
21090#[derive(Clone, Debug, Deserialize, Serialize)]
21091#[serde(deny_unknown_fields)]
21092pub struct PackageUpdatedPackagePackageVersionBodyVariant1Attributes {}
21093impl From<&PackageUpdatedPackagePackageVersionBodyVariant1Attributes>
21094 for PackageUpdatedPackagePackageVersionBodyVariant1Attributes
21095{
21096 fn from(value: &PackageUpdatedPackagePackageVersionBodyVariant1Attributes) -> Self {
21097 value.clone()
21098 }
21099}
21100#[derive(Clone, Debug, Deserialize, Serialize)]
21101#[serde(deny_unknown_fields)]
21102pub struct PackageUpdatedPackagePackageVersionBodyVariant1Info {
21103 pub collection: bool,
21104 pub mode: i64,
21105 pub name: String,
21106 pub oid: String,
21107 pub path: String,
21108 pub size: Option<i64>,
21109 #[serde(rename = "type")]
21110 pub type_: String,
21111}
21112impl From<&PackageUpdatedPackagePackageVersionBodyVariant1Info>
21113 for PackageUpdatedPackagePackageVersionBodyVariant1Info
21114{
21115 fn from(value: &PackageUpdatedPackagePackageVersionBodyVariant1Info) -> Self {
21116 value.clone()
21117 }
21118}
21119#[derive(Clone, Debug, Deserialize, Serialize)]
21120#[serde(deny_unknown_fields)]
21121pub struct PackageUpdatedPackagePackageVersionBodyVariant1Repository {
21122 pub repository: Repository,
21123}
21124impl From<&PackageUpdatedPackagePackageVersionBodyVariant1Repository>
21125 for PackageUpdatedPackagePackageVersionBodyVariant1Repository
21126{
21127 fn from(value: &PackageUpdatedPackagePackageVersionBodyVariant1Repository) -> Self {
21128 value.clone()
21129 }
21130}
21131#[derive(Clone, Debug, Deserialize, Serialize)]
21132#[serde(deny_unknown_fields)]
21133pub struct PackageUpdatedPackagePackageVersionContainerMetadata {
21134 #[serde(default, skip_serializing_if = "Option::is_none")]
21135 pub labels: Option<std::collections::HashMap<String, serde_json::Value>>,
21136 #[serde(default, skip_serializing_if = "Option::is_none")]
21137 pub manifest: Option<std::collections::HashMap<String, serde_json::Value>>,
21138 #[serde(default, skip_serializing_if = "Option::is_none")]
21139 pub tag: Option<PackageUpdatedPackagePackageVersionContainerMetadataTag>,
21140}
21141impl From<&PackageUpdatedPackagePackageVersionContainerMetadata>
21142 for PackageUpdatedPackagePackageVersionContainerMetadata
21143{
21144 fn from(value: &PackageUpdatedPackagePackageVersionContainerMetadata) -> Self {
21145 value.clone()
21146 }
21147}
21148#[derive(Clone, Debug, Deserialize, Serialize)]
21149#[serde(deny_unknown_fields)]
21150pub struct PackageUpdatedPackagePackageVersionContainerMetadataTag {
21151 #[serde(default, skip_serializing_if = "Option::is_none")]
21152 pub digest: Option<String>,
21153 #[serde(default, skip_serializing_if = "Option::is_none")]
21154 pub name: Option<String>,
21155}
21156impl From<&PackageUpdatedPackagePackageVersionContainerMetadataTag>
21157 for PackageUpdatedPackagePackageVersionContainerMetadataTag
21158{
21159 fn from(value: &PackageUpdatedPackagePackageVersionContainerMetadataTag) -> Self {
21160 value.clone()
21161 }
21162}
21163#[derive(Clone, Debug, Deserialize, Serialize)]
21164#[serde(deny_unknown_fields)]
21165pub struct PackageUpdatedPackagePackageVersionPackageFilesItem {
21166 pub content_type: String,
21167 pub created_at: chrono::DateTime<chrono::offset::Utc>,
21168 pub download_url: String,
21169 pub id: i64,
21170 pub md5: String,
21171 pub name: String,
21172 pub sha1: String,
21173 pub sha256: String,
21174 pub size: i64,
21175 pub state: String,
21176 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
21177}
21178impl From<&PackageUpdatedPackagePackageVersionPackageFilesItem>
21179 for PackageUpdatedPackagePackageVersionPackageFilesItem
21180{
21181 fn from(value: &PackageUpdatedPackagePackageVersionPackageFilesItem) -> Self {
21182 value.clone()
21183 }
21184}
21185#[derive(Clone, Debug, Deserialize, Serialize)]
21186#[serde(deny_unknown_fields)]
21187pub struct PackageUpdatedPackagePackageVersionRelease {
21188 pub author: User,
21189 pub created_at: chrono::DateTime<chrono::offset::Utc>,
21190 pub draft: bool,
21191 pub html_url: String,
21192 pub id: i64,
21193 pub name: String,
21194 pub prerelease: bool,
21195 pub published_at: chrono::DateTime<chrono::offset::Utc>,
21196 pub tag_name: String,
21197 pub target_commitish: String,
21198 pub url: String,
21199}
21200impl From<&PackageUpdatedPackagePackageVersionRelease>
21201 for PackageUpdatedPackagePackageVersionRelease
21202{
21203 fn from(value: &PackageUpdatedPackagePackageVersionRelease) -> Self {
21204 value.clone()
21205 }
21206}
21207#[derive(Clone, Debug, Deserialize, Serialize)]
21208#[serde(deny_unknown_fields)]
21209pub struct PackageUpdatedPackageRegistry {
21210 pub about_url: String,
21211 pub name: String,
21212 #[serde(rename = "type")]
21213 pub type_: String,
21214 pub url: String,
21215 pub vendor: String,
21216}
21217impl From<&PackageUpdatedPackageRegistry> for PackageUpdatedPackageRegistry {
21218 fn from(value: &PackageUpdatedPackageRegistry) -> Self {
21219 value.clone()
21220 }
21221}
21222#[derive(Clone, Debug, Deserialize, Serialize)]
21224#[serde(deny_unknown_fields)]
21225pub struct PageBuildEvent {
21226 pub build: PageBuildEventBuild,
21227 pub id: i64,
21228 #[serde(default, skip_serializing_if = "Option::is_none")]
21229 pub installation: Option<InstallationLite>,
21230 #[serde(default, skip_serializing_if = "Option::is_none")]
21231 pub organization: Option<Organization>,
21232 pub repository: Repository,
21233 pub sender: User,
21234}
21235impl From<&PageBuildEvent> for PageBuildEvent {
21236 fn from(value: &PageBuildEvent) -> Self {
21237 value.clone()
21238 }
21239}
21240#[derive(Clone, Debug, Deserialize, Serialize)]
21242#[serde(deny_unknown_fields)]
21243pub struct PageBuildEventBuild {
21244 pub commit: String,
21245 pub created_at: chrono::DateTime<chrono::offset::Utc>,
21246 pub duration: i64,
21247 pub error: PageBuildEventBuildError,
21248 pub pusher: User,
21249 pub status: String,
21250 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
21251 pub url: String,
21252}
21253impl From<&PageBuildEventBuild> for PageBuildEventBuild {
21254 fn from(value: &PageBuildEventBuild) -> Self {
21255 value.clone()
21256 }
21257}
21258#[derive(Clone, Debug, Deserialize, Serialize)]
21259#[serde(deny_unknown_fields)]
21260pub struct PageBuildEventBuildError {
21261 pub message: Option<String>,
21262}
21263impl From<&PageBuildEventBuildError> for PageBuildEventBuildError {
21264 fn from(value: &PageBuildEventBuildError) -> Self {
21265 value.clone()
21266 }
21267}
21268#[derive(Clone, Debug, Deserialize, Serialize)]
21269#[serde(deny_unknown_fields)]
21270pub struct PingEvent {
21271 pub hook: PingEventHook,
21272 pub hook_id: i64,
21274 #[serde(default, skip_serializing_if = "Option::is_none")]
21275 pub organization: Option<Organization>,
21276 #[serde(default, skip_serializing_if = "Option::is_none")]
21277 pub repository: Option<Repository>,
21278 #[serde(default, skip_serializing_if = "Option::is_none")]
21279 pub sender: Option<User>,
21280 pub zen: String,
21281}
21282impl From<&PingEvent> for PingEvent {
21283 fn from(value: &PingEvent) -> Self {
21284 value.clone()
21285 }
21286}
21287#[derive(Clone, Debug, Deserialize, Serialize)]
21289#[serde(deny_unknown_fields)]
21290pub struct PingEventHook {
21291 pub active: bool,
21292 #[serde(default, skip_serializing_if = "Option::is_none")]
21294 pub app_id: Option<i64>,
21295 pub config: PingEventHookConfig,
21296 pub created_at: chrono::DateTime<chrono::offset::Utc>,
21297 pub deliveries_url: String,
21298 pub events: WebhookEvents,
21299 pub id: i64,
21300 #[serde(default, skip_serializing_if = "Option::is_none")]
21301 pub last_response: Option<PingEventHookLastResponse>,
21302 pub name: String,
21303 pub ping_url: String,
21304 #[serde(default, skip_serializing_if = "Option::is_none")]
21305 pub test_url: Option<String>,
21306 #[serde(rename = "type")]
21307 pub type_: PingEventHookType,
21308 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
21309 pub url: String,
21310}
21311impl From<&PingEventHook> for PingEventHook {
21312 fn from(value: &PingEventHook) -> Self {
21313 value.clone()
21314 }
21315}
21316#[derive(Clone, Debug, Deserialize, Serialize)]
21318#[serde(deny_unknown_fields)]
21319pub struct PingEventHookConfig {
21320 pub content_type: PingEventHookConfigContentType,
21323 pub insecure_ssl: PingEventHookConfigInsecureSsl,
21328 #[serde(default, skip_serializing_if = "Option::is_none")]
21330 pub secret: Option<String>,
21331 pub url: String,
21333}
21334impl From<&PingEventHookConfig> for PingEventHookConfig {
21335 fn from(value: &PingEventHookConfig) -> Self {
21336 value.clone()
21337 }
21338}
21339#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
21342pub enum PingEventHookConfigContentType {
21343 #[serde(rename = "json")]
21344 Json,
21345 #[serde(rename = "form")]
21346 Form,
21347}
21348impl From<&PingEventHookConfigContentType> for PingEventHookConfigContentType {
21349 fn from(value: &PingEventHookConfigContentType) -> Self {
21350 value.clone()
21351 }
21352}
21353impl ToString for PingEventHookConfigContentType {
21354 fn to_string(&self) -> String {
21355 match *self {
21356 Self::Json => "json".to_string(),
21357 Self::Form => "form".to_string(),
21358 }
21359 }
21360}
21361impl std::str::FromStr for PingEventHookConfigContentType {
21362 type Err = &'static str;
21363
21364 fn from_str(value: &str) -> Result<Self, &'static str> {
21365 match value {
21366 "json" => Ok(Self::Json),
21367 "form" => Ok(Self::Form),
21368 _ => Err("invalid value"),
21369 }
21370 }
21371}
21372impl std::convert::TryFrom<&str> for PingEventHookConfigContentType {
21373 type Error = &'static str;
21374
21375 fn try_from(value: &str) -> Result<Self, &'static str> {
21376 value.parse()
21377 }
21378}
21379impl std::convert::TryFrom<&String> for PingEventHookConfigContentType {
21380 type Error = &'static str;
21381
21382 fn try_from(value: &String) -> Result<Self, &'static str> {
21383 value.parse()
21384 }
21385}
21386impl std::convert::TryFrom<String> for PingEventHookConfigContentType {
21387 type Error = &'static str;
21388
21389 fn try_from(value: String) -> Result<Self, &'static str> {
21390 value.parse()
21391 }
21392}
21393#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
21398pub enum PingEventHookConfigInsecureSsl {
21399 #[serde(rename = "0")]
21400 _0,
21401 #[serde(rename = "1")]
21402 _1,
21403}
21404impl From<&PingEventHookConfigInsecureSsl> for PingEventHookConfigInsecureSsl {
21405 fn from(value: &PingEventHookConfigInsecureSsl) -> Self {
21406 value.clone()
21407 }
21408}
21409impl ToString for PingEventHookConfigInsecureSsl {
21410 fn to_string(&self) -> String {
21411 match *self {
21412 Self::_0 => "0".to_string(),
21413 Self::_1 => "1".to_string(),
21414 }
21415 }
21416}
21417impl std::str::FromStr for PingEventHookConfigInsecureSsl {
21418 type Err = &'static str;
21419
21420 fn from_str(value: &str) -> Result<Self, &'static str> {
21421 match value {
21422 "0" => Ok(Self::_0),
21423 "1" => Ok(Self::_1),
21424 _ => Err("invalid value"),
21425 }
21426 }
21427}
21428impl std::convert::TryFrom<&str> for PingEventHookConfigInsecureSsl {
21429 type Error = &'static str;
21430
21431 fn try_from(value: &str) -> Result<Self, &'static str> {
21432 value.parse()
21433 }
21434}
21435impl std::convert::TryFrom<&String> for PingEventHookConfigInsecureSsl {
21436 type Error = &'static str;
21437
21438 fn try_from(value: &String) -> Result<Self, &'static str> {
21439 value.parse()
21440 }
21441}
21442impl std::convert::TryFrom<String> for PingEventHookConfigInsecureSsl {
21443 type Error = &'static str;
21444
21445 fn try_from(value: String) -> Result<Self, &'static str> {
21446 value.parse()
21447 }
21448}
21449#[derive(Clone, Debug, Deserialize, Serialize)]
21450#[serde(deny_unknown_fields)]
21451pub struct PingEventHookLastResponse {
21452 pub code: (),
21453 pub message: (),
21454 pub status: String,
21455}
21456impl From<&PingEventHookLastResponse> for PingEventHookLastResponse {
21457 fn from(value: &PingEventHookLastResponse) -> Self {
21458 value.clone()
21459 }
21460}
21461#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
21462pub enum PingEventHookType {
21463 Repository,
21464 Organization,
21465 App,
21466}
21467impl From<&PingEventHookType> for PingEventHookType {
21468 fn from(value: &PingEventHookType) -> Self {
21469 value.clone()
21470 }
21471}
21472impl ToString for PingEventHookType {
21473 fn to_string(&self) -> String {
21474 match *self {
21475 Self::Repository => "Repository".to_string(),
21476 Self::Organization => "Organization".to_string(),
21477 Self::App => "App".to_string(),
21478 }
21479 }
21480}
21481impl std::str::FromStr for PingEventHookType {
21482 type Err = &'static str;
21483
21484 fn from_str(value: &str) -> Result<Self, &'static str> {
21485 match value {
21486 "Repository" => Ok(Self::Repository),
21487 "Organization" => Ok(Self::Organization),
21488 "App" => Ok(Self::App),
21489 _ => Err("invalid value"),
21490 }
21491 }
21492}
21493impl std::convert::TryFrom<&str> for PingEventHookType {
21494 type Error = &'static str;
21495
21496 fn try_from(value: &str) -> Result<Self, &'static str> {
21497 value.parse()
21498 }
21499}
21500impl std::convert::TryFrom<&String> for PingEventHookType {
21501 type Error = &'static str;
21502
21503 fn try_from(value: &String) -> Result<Self, &'static str> {
21504 value.parse()
21505 }
21506}
21507impl std::convert::TryFrom<String> for PingEventHookType {
21508 type Error = &'static str;
21509
21510 fn try_from(value: String) -> Result<Self, &'static str> {
21511 value.parse()
21512 }
21513}
21514#[derive(Clone, Debug, Deserialize, Serialize)]
21515#[serde(deny_unknown_fields)]
21516pub struct Project {
21517 pub body: Option<String>,
21519 pub columns_url: String,
21520 pub created_at: chrono::DateTime<chrono::offset::Utc>,
21521 pub creator: User,
21522 pub html_url: String,
21523 pub id: i64,
21524 pub name: String,
21526 pub node_id: String,
21527 pub number: i64,
21528 pub owner_url: String,
21529 pub state: ProjectState,
21531 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
21532 pub url: String,
21533}
21534impl From<&Project> for Project {
21535 fn from(value: &Project) -> Self {
21536 value.clone()
21537 }
21538}
21539#[derive(Clone, Debug, Deserialize, Serialize)]
21540#[serde(deny_unknown_fields)]
21541pub struct ProjectCard {
21542 #[serde(default, skip_serializing_if = "Option::is_none")]
21543 pub after_id: Option<ProjectCardAfterId>,
21544 pub archived: bool,
21546 pub column_id: i64,
21547 pub column_url: String,
21548 #[serde(default, skip_serializing_if = "Option::is_none")]
21549 pub content_url: Option<String>,
21550 pub created_at: chrono::DateTime<chrono::offset::Utc>,
21551 pub creator: User,
21552 pub id: i64,
21554 pub node_id: String,
21555 pub note: Option<String>,
21556 pub project_url: String,
21557 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
21558 pub url: String,
21559}
21560impl From<&ProjectCard> for ProjectCard {
21561 fn from(value: &ProjectCard) -> Self {
21562 value.clone()
21563 }
21564}
21565#[derive(Clone, Debug, Deserialize, Serialize)]
21566#[serde(untagged)]
21567pub enum ProjectCardAfterId {
21568 Variant0(String),
21569 Variant1(f64),
21570 Variant2,
21571}
21572impl From<&ProjectCardAfterId> for ProjectCardAfterId {
21573 fn from(value: &ProjectCardAfterId) -> Self {
21574 value.clone()
21575 }
21576}
21577impl From<f64> for ProjectCardAfterId {
21578 fn from(value: f64) -> Self {
21579 Self::Variant1(value)
21580 }
21581}
21582#[derive(Clone, Debug, Deserialize, Serialize)]
21583#[serde(deny_unknown_fields)]
21584pub struct ProjectCardConverted {
21585 pub action: ProjectCardConvertedAction,
21586 pub changes: ProjectCardConvertedChanges,
21587 #[serde(default, skip_serializing_if = "Option::is_none")]
21588 pub installation: Option<InstallationLite>,
21589 #[serde(default, skip_serializing_if = "Option::is_none")]
21590 pub organization: Option<Organization>,
21591 pub project_card: ProjectCard,
21592 #[serde(default, skip_serializing_if = "Option::is_none")]
21593 pub repository: Option<Repository>,
21594 pub sender: User,
21595}
21596impl From<&ProjectCardConverted> for ProjectCardConverted {
21597 fn from(value: &ProjectCardConverted) -> Self {
21598 value.clone()
21599 }
21600}
21601#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
21602pub enum ProjectCardConvertedAction {
21603 #[serde(rename = "converted")]
21604 Converted,
21605}
21606impl From<&ProjectCardConvertedAction> for ProjectCardConvertedAction {
21607 fn from(value: &ProjectCardConvertedAction) -> Self {
21608 value.clone()
21609 }
21610}
21611impl ToString for ProjectCardConvertedAction {
21612 fn to_string(&self) -> String {
21613 match *self {
21614 Self::Converted => "converted".to_string(),
21615 }
21616 }
21617}
21618impl std::str::FromStr for ProjectCardConvertedAction {
21619 type Err = &'static str;
21620
21621 fn from_str(value: &str) -> Result<Self, &'static str> {
21622 match value {
21623 "converted" => Ok(Self::Converted),
21624 _ => Err("invalid value"),
21625 }
21626 }
21627}
21628impl std::convert::TryFrom<&str> for ProjectCardConvertedAction {
21629 type Error = &'static str;
21630
21631 fn try_from(value: &str) -> Result<Self, &'static str> {
21632 value.parse()
21633 }
21634}
21635impl std::convert::TryFrom<&String> for ProjectCardConvertedAction {
21636 type Error = &'static str;
21637
21638 fn try_from(value: &String) -> Result<Self, &'static str> {
21639 value.parse()
21640 }
21641}
21642impl std::convert::TryFrom<String> for ProjectCardConvertedAction {
21643 type Error = &'static str;
21644
21645 fn try_from(value: String) -> Result<Self, &'static str> {
21646 value.parse()
21647 }
21648}
21649#[derive(Clone, Debug, Deserialize, Serialize)]
21650#[serde(deny_unknown_fields)]
21651pub struct ProjectCardConvertedChanges {
21652 pub note: ProjectCardConvertedChangesNote,
21653}
21654impl From<&ProjectCardConvertedChanges> for ProjectCardConvertedChanges {
21655 fn from(value: &ProjectCardConvertedChanges) -> Self {
21656 value.clone()
21657 }
21658}
21659#[derive(Clone, Debug, Deserialize, Serialize)]
21660#[serde(deny_unknown_fields)]
21661pub struct ProjectCardConvertedChangesNote {
21662 pub from: String,
21663}
21664impl From<&ProjectCardConvertedChangesNote> for ProjectCardConvertedChangesNote {
21665 fn from(value: &ProjectCardConvertedChangesNote) -> Self {
21666 value.clone()
21667 }
21668}
21669#[derive(Clone, Debug, Deserialize, Serialize)]
21670#[serde(deny_unknown_fields)]
21671pub struct ProjectCardCreated {
21672 pub action: ProjectCardCreatedAction,
21673 #[serde(default, skip_serializing_if = "Option::is_none")]
21674 pub installation: Option<InstallationLite>,
21675 #[serde(default, skip_serializing_if = "Option::is_none")]
21676 pub organization: Option<Organization>,
21677 pub project_card: ProjectCard,
21678 #[serde(default, skip_serializing_if = "Option::is_none")]
21679 pub repository: Option<Repository>,
21680 pub sender: User,
21681}
21682impl From<&ProjectCardCreated> for ProjectCardCreated {
21683 fn from(value: &ProjectCardCreated) -> Self {
21684 value.clone()
21685 }
21686}
21687#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
21688pub enum ProjectCardCreatedAction {
21689 #[serde(rename = "created")]
21690 Created,
21691}
21692impl From<&ProjectCardCreatedAction> for ProjectCardCreatedAction {
21693 fn from(value: &ProjectCardCreatedAction) -> Self {
21694 value.clone()
21695 }
21696}
21697impl ToString for ProjectCardCreatedAction {
21698 fn to_string(&self) -> String {
21699 match *self {
21700 Self::Created => "created".to_string(),
21701 }
21702 }
21703}
21704impl std::str::FromStr for ProjectCardCreatedAction {
21705 type Err = &'static str;
21706
21707 fn from_str(value: &str) -> Result<Self, &'static str> {
21708 match value {
21709 "created" => Ok(Self::Created),
21710 _ => Err("invalid value"),
21711 }
21712 }
21713}
21714impl std::convert::TryFrom<&str> for ProjectCardCreatedAction {
21715 type Error = &'static str;
21716
21717 fn try_from(value: &str) -> Result<Self, &'static str> {
21718 value.parse()
21719 }
21720}
21721impl std::convert::TryFrom<&String> for ProjectCardCreatedAction {
21722 type Error = &'static str;
21723
21724 fn try_from(value: &String) -> Result<Self, &'static str> {
21725 value.parse()
21726 }
21727}
21728impl std::convert::TryFrom<String> for ProjectCardCreatedAction {
21729 type Error = &'static str;
21730
21731 fn try_from(value: String) -> Result<Self, &'static str> {
21732 value.parse()
21733 }
21734}
21735#[derive(Clone, Debug, Deserialize, Serialize)]
21736#[serde(deny_unknown_fields)]
21737pub struct ProjectCardDeleted {
21738 pub action: ProjectCardDeletedAction,
21739 #[serde(default, skip_serializing_if = "Option::is_none")]
21740 pub installation: Option<InstallationLite>,
21741 #[serde(default, skip_serializing_if = "Option::is_none")]
21742 pub organization: Option<Organization>,
21743 pub project_card: ProjectCard,
21744 #[serde(default, skip_serializing_if = "Option::is_none")]
21745 pub repository: Option<Repository>,
21746 pub sender: User,
21747}
21748impl From<&ProjectCardDeleted> for ProjectCardDeleted {
21749 fn from(value: &ProjectCardDeleted) -> Self {
21750 value.clone()
21751 }
21752}
21753#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
21754pub enum ProjectCardDeletedAction {
21755 #[serde(rename = "deleted")]
21756 Deleted,
21757}
21758impl From<&ProjectCardDeletedAction> for ProjectCardDeletedAction {
21759 fn from(value: &ProjectCardDeletedAction) -> Self {
21760 value.clone()
21761 }
21762}
21763impl ToString for ProjectCardDeletedAction {
21764 fn to_string(&self) -> String {
21765 match *self {
21766 Self::Deleted => "deleted".to_string(),
21767 }
21768 }
21769}
21770impl std::str::FromStr for ProjectCardDeletedAction {
21771 type Err = &'static str;
21772
21773 fn from_str(value: &str) -> Result<Self, &'static str> {
21774 match value {
21775 "deleted" => Ok(Self::Deleted),
21776 _ => Err("invalid value"),
21777 }
21778 }
21779}
21780impl std::convert::TryFrom<&str> for ProjectCardDeletedAction {
21781 type Error = &'static str;
21782
21783 fn try_from(value: &str) -> Result<Self, &'static str> {
21784 value.parse()
21785 }
21786}
21787impl std::convert::TryFrom<&String> for ProjectCardDeletedAction {
21788 type Error = &'static str;
21789
21790 fn try_from(value: &String) -> Result<Self, &'static str> {
21791 value.parse()
21792 }
21793}
21794impl std::convert::TryFrom<String> for ProjectCardDeletedAction {
21795 type Error = &'static str;
21796
21797 fn try_from(value: String) -> Result<Self, &'static str> {
21798 value.parse()
21799 }
21800}
21801#[derive(Clone, Debug, Deserialize, Serialize)]
21802#[serde(deny_unknown_fields)]
21803pub struct ProjectCardEdited {
21804 pub action: ProjectCardEditedAction,
21805 pub changes: ProjectCardEditedChanges,
21806 #[serde(default, skip_serializing_if = "Option::is_none")]
21807 pub installation: Option<InstallationLite>,
21808 #[serde(default, skip_serializing_if = "Option::is_none")]
21809 pub organization: Option<Organization>,
21810 pub project_card: ProjectCard,
21811 #[serde(default, skip_serializing_if = "Option::is_none")]
21812 pub repository: Option<Repository>,
21813 pub sender: User,
21814}
21815impl From<&ProjectCardEdited> for ProjectCardEdited {
21816 fn from(value: &ProjectCardEdited) -> Self {
21817 value.clone()
21818 }
21819}
21820#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
21821pub enum ProjectCardEditedAction {
21822 #[serde(rename = "edited")]
21823 Edited,
21824}
21825impl From<&ProjectCardEditedAction> for ProjectCardEditedAction {
21826 fn from(value: &ProjectCardEditedAction) -> Self {
21827 value.clone()
21828 }
21829}
21830impl ToString for ProjectCardEditedAction {
21831 fn to_string(&self) -> String {
21832 match *self {
21833 Self::Edited => "edited".to_string(),
21834 }
21835 }
21836}
21837impl std::str::FromStr for ProjectCardEditedAction {
21838 type Err = &'static str;
21839
21840 fn from_str(value: &str) -> Result<Self, &'static str> {
21841 match value {
21842 "edited" => Ok(Self::Edited),
21843 _ => Err("invalid value"),
21844 }
21845 }
21846}
21847impl std::convert::TryFrom<&str> for ProjectCardEditedAction {
21848 type Error = &'static str;
21849
21850 fn try_from(value: &str) -> Result<Self, &'static str> {
21851 value.parse()
21852 }
21853}
21854impl std::convert::TryFrom<&String> for ProjectCardEditedAction {
21855 type Error = &'static str;
21856
21857 fn try_from(value: &String) -> Result<Self, &'static str> {
21858 value.parse()
21859 }
21860}
21861impl std::convert::TryFrom<String> for ProjectCardEditedAction {
21862 type Error = &'static str;
21863
21864 fn try_from(value: String) -> Result<Self, &'static str> {
21865 value.parse()
21866 }
21867}
21868#[derive(Clone, Debug, Deserialize, Serialize)]
21869#[serde(deny_unknown_fields)]
21870pub struct ProjectCardEditedChanges {
21871 pub note: ProjectCardEditedChangesNote,
21872}
21873impl From<&ProjectCardEditedChanges> for ProjectCardEditedChanges {
21874 fn from(value: &ProjectCardEditedChanges) -> Self {
21875 value.clone()
21876 }
21877}
21878#[derive(Clone, Debug, Deserialize, Serialize)]
21879#[serde(deny_unknown_fields)]
21880pub struct ProjectCardEditedChangesNote {
21881 pub from: String,
21882}
21883impl From<&ProjectCardEditedChangesNote> for ProjectCardEditedChangesNote {
21884 fn from(value: &ProjectCardEditedChangesNote) -> Self {
21885 value.clone()
21886 }
21887}
21888#[derive(Clone, Debug, Deserialize, Serialize)]
21889#[serde(untagged)]
21890pub enum ProjectCardEvent {
21891 Converted(ProjectCardConverted),
21892 Created(ProjectCardCreated),
21893 Deleted(ProjectCardDeleted),
21894 Edited(ProjectCardEdited),
21895 Moved(ProjectCardMoved),
21896}
21897impl From<&ProjectCardEvent> for ProjectCardEvent {
21898 fn from(value: &ProjectCardEvent) -> Self {
21899 value.clone()
21900 }
21901}
21902impl From<ProjectCardConverted> for ProjectCardEvent {
21903 fn from(value: ProjectCardConverted) -> Self {
21904 Self::Converted(value)
21905 }
21906}
21907impl From<ProjectCardCreated> for ProjectCardEvent {
21908 fn from(value: ProjectCardCreated) -> Self {
21909 Self::Created(value)
21910 }
21911}
21912impl From<ProjectCardDeleted> for ProjectCardEvent {
21913 fn from(value: ProjectCardDeleted) -> Self {
21914 Self::Deleted(value)
21915 }
21916}
21917impl From<ProjectCardEdited> for ProjectCardEvent {
21918 fn from(value: ProjectCardEdited) -> Self {
21919 Self::Edited(value)
21920 }
21921}
21922impl From<ProjectCardMoved> for ProjectCardEvent {
21923 fn from(value: ProjectCardMoved) -> Self {
21924 Self::Moved(value)
21925 }
21926}
21927#[derive(Clone, Debug, Deserialize, Serialize)]
21928#[serde(deny_unknown_fields)]
21929pub struct ProjectCardMoved {
21930 pub action: ProjectCardMovedAction,
21931 #[serde(default, skip_serializing_if = "Option::is_none")]
21932 pub changes: Option<ProjectCardMovedChanges>,
21933 #[serde(default, skip_serializing_if = "Option::is_none")]
21934 pub installation: Option<InstallationLite>,
21935 #[serde(default, skip_serializing_if = "Option::is_none")]
21936 pub organization: Option<Organization>,
21937 pub project_card: ProjectCard,
21938 #[serde(default, skip_serializing_if = "Option::is_none")]
21939 pub repository: Option<Repository>,
21940 pub sender: User,
21941}
21942impl From<&ProjectCardMoved> for ProjectCardMoved {
21943 fn from(value: &ProjectCardMoved) -> Self {
21944 value.clone()
21945 }
21946}
21947#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
21948pub enum ProjectCardMovedAction {
21949 #[serde(rename = "moved")]
21950 Moved,
21951}
21952impl From<&ProjectCardMovedAction> for ProjectCardMovedAction {
21953 fn from(value: &ProjectCardMovedAction) -> Self {
21954 value.clone()
21955 }
21956}
21957impl ToString for ProjectCardMovedAction {
21958 fn to_string(&self) -> String {
21959 match *self {
21960 Self::Moved => "moved".to_string(),
21961 }
21962 }
21963}
21964impl std::str::FromStr for ProjectCardMovedAction {
21965 type Err = &'static str;
21966
21967 fn from_str(value: &str) -> Result<Self, &'static str> {
21968 match value {
21969 "moved" => Ok(Self::Moved),
21970 _ => Err("invalid value"),
21971 }
21972 }
21973}
21974impl std::convert::TryFrom<&str> for ProjectCardMovedAction {
21975 type Error = &'static str;
21976
21977 fn try_from(value: &str) -> Result<Self, &'static str> {
21978 value.parse()
21979 }
21980}
21981impl std::convert::TryFrom<&String> for ProjectCardMovedAction {
21982 type Error = &'static str;
21983
21984 fn try_from(value: &String) -> Result<Self, &'static str> {
21985 value.parse()
21986 }
21987}
21988impl std::convert::TryFrom<String> for ProjectCardMovedAction {
21989 type Error = &'static str;
21990
21991 fn try_from(value: String) -> Result<Self, &'static str> {
21992 value.parse()
21993 }
21994}
21995#[derive(Clone, Debug, Deserialize, Serialize)]
21996#[serde(deny_unknown_fields)]
21997pub struct ProjectCardMovedChanges {
21998 pub column_id: ProjectCardMovedChangesColumnId,
21999}
22000impl From<&ProjectCardMovedChanges> for ProjectCardMovedChanges {
22001 fn from(value: &ProjectCardMovedChanges) -> Self {
22002 value.clone()
22003 }
22004}
22005#[derive(Clone, Debug, Deserialize, Serialize)]
22006#[serde(deny_unknown_fields)]
22007pub struct ProjectCardMovedChangesColumnId {
22008 pub from: i64,
22009}
22010impl From<&ProjectCardMovedChangesColumnId> for ProjectCardMovedChangesColumnId {
22011 fn from(value: &ProjectCardMovedChangesColumnId) -> Self {
22012 value.clone()
22013 }
22014}
22015#[derive(Clone, Debug, Deserialize, Serialize)]
22016#[serde(deny_unknown_fields)]
22017pub struct ProjectClosed {
22018 pub action: ProjectClosedAction,
22019 #[serde(default, skip_serializing_if = "Option::is_none")]
22020 pub installation: Option<InstallationLite>,
22021 #[serde(default, skip_serializing_if = "Option::is_none")]
22022 pub organization: Option<Organization>,
22023 pub project: Project,
22024 pub repository: Repository,
22025 pub sender: User,
22026}
22027impl From<&ProjectClosed> for ProjectClosed {
22028 fn from(value: &ProjectClosed) -> Self {
22029 value.clone()
22030 }
22031}
22032#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22033pub enum ProjectClosedAction {
22034 #[serde(rename = "closed")]
22035 Closed,
22036}
22037impl From<&ProjectClosedAction> for ProjectClosedAction {
22038 fn from(value: &ProjectClosedAction) -> Self {
22039 value.clone()
22040 }
22041}
22042impl ToString for ProjectClosedAction {
22043 fn to_string(&self) -> String {
22044 match *self {
22045 Self::Closed => "closed".to_string(),
22046 }
22047 }
22048}
22049impl std::str::FromStr for ProjectClosedAction {
22050 type Err = &'static str;
22051
22052 fn from_str(value: &str) -> Result<Self, &'static str> {
22053 match value {
22054 "closed" => Ok(Self::Closed),
22055 _ => Err("invalid value"),
22056 }
22057 }
22058}
22059impl std::convert::TryFrom<&str> for ProjectClosedAction {
22060 type Error = &'static str;
22061
22062 fn try_from(value: &str) -> Result<Self, &'static str> {
22063 value.parse()
22064 }
22065}
22066impl std::convert::TryFrom<&String> for ProjectClosedAction {
22067 type Error = &'static str;
22068
22069 fn try_from(value: &String) -> Result<Self, &'static str> {
22070 value.parse()
22071 }
22072}
22073impl std::convert::TryFrom<String> for ProjectClosedAction {
22074 type Error = &'static str;
22075
22076 fn try_from(value: String) -> Result<Self, &'static str> {
22077 value.parse()
22078 }
22079}
22080#[derive(Clone, Debug, Deserialize, Serialize)]
22081#[serde(deny_unknown_fields)]
22082pub struct ProjectColumn {
22083 pub cards_url: String,
22084 pub created_at: chrono::DateTime<chrono::offset::Utc>,
22085 pub id: i64,
22087 pub name: String,
22089 pub node_id: String,
22090 pub project_url: String,
22091 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
22092 pub url: String,
22093}
22094impl From<&ProjectColumn> for ProjectColumn {
22095 fn from(value: &ProjectColumn) -> Self {
22096 value.clone()
22097 }
22098}
22099#[derive(Clone, Debug, Deserialize, Serialize)]
22100#[serde(deny_unknown_fields)]
22101pub struct ProjectColumnCreated {
22102 pub action: ProjectColumnCreatedAction,
22103 #[serde(default, skip_serializing_if = "Option::is_none")]
22104 pub installation: Option<InstallationLite>,
22105 #[serde(default, skip_serializing_if = "Option::is_none")]
22106 pub organization: Option<Organization>,
22107 pub project_column: ProjectColumn,
22108 #[serde(default, skip_serializing_if = "Option::is_none")]
22109 pub repository: Option<Repository>,
22110 pub sender: User,
22111}
22112impl From<&ProjectColumnCreated> for ProjectColumnCreated {
22113 fn from(value: &ProjectColumnCreated) -> Self {
22114 value.clone()
22115 }
22116}
22117#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22118pub enum ProjectColumnCreatedAction {
22119 #[serde(rename = "created")]
22120 Created,
22121}
22122impl From<&ProjectColumnCreatedAction> for ProjectColumnCreatedAction {
22123 fn from(value: &ProjectColumnCreatedAction) -> Self {
22124 value.clone()
22125 }
22126}
22127impl ToString for ProjectColumnCreatedAction {
22128 fn to_string(&self) -> String {
22129 match *self {
22130 Self::Created => "created".to_string(),
22131 }
22132 }
22133}
22134impl std::str::FromStr for ProjectColumnCreatedAction {
22135 type Err = &'static str;
22136
22137 fn from_str(value: &str) -> Result<Self, &'static str> {
22138 match value {
22139 "created" => Ok(Self::Created),
22140 _ => Err("invalid value"),
22141 }
22142 }
22143}
22144impl std::convert::TryFrom<&str> for ProjectColumnCreatedAction {
22145 type Error = &'static str;
22146
22147 fn try_from(value: &str) -> Result<Self, &'static str> {
22148 value.parse()
22149 }
22150}
22151impl std::convert::TryFrom<&String> for ProjectColumnCreatedAction {
22152 type Error = &'static str;
22153
22154 fn try_from(value: &String) -> Result<Self, &'static str> {
22155 value.parse()
22156 }
22157}
22158impl std::convert::TryFrom<String> for ProjectColumnCreatedAction {
22159 type Error = &'static str;
22160
22161 fn try_from(value: String) -> Result<Self, &'static str> {
22162 value.parse()
22163 }
22164}
22165#[derive(Clone, Debug, Deserialize, Serialize)]
22166#[serde(deny_unknown_fields)]
22167pub struct ProjectColumnDeleted {
22168 pub action: ProjectColumnDeletedAction,
22169 #[serde(default, skip_serializing_if = "Option::is_none")]
22170 pub installation: Option<InstallationLite>,
22171 #[serde(default, skip_serializing_if = "Option::is_none")]
22172 pub organization: Option<Organization>,
22173 pub project_column: ProjectColumn,
22174 #[serde(default, skip_serializing_if = "Option::is_none")]
22175 pub repository: Option<Repository>,
22176 pub sender: User,
22177}
22178impl From<&ProjectColumnDeleted> for ProjectColumnDeleted {
22179 fn from(value: &ProjectColumnDeleted) -> Self {
22180 value.clone()
22181 }
22182}
22183#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22184pub enum ProjectColumnDeletedAction {
22185 #[serde(rename = "deleted")]
22186 Deleted,
22187}
22188impl From<&ProjectColumnDeletedAction> for ProjectColumnDeletedAction {
22189 fn from(value: &ProjectColumnDeletedAction) -> Self {
22190 value.clone()
22191 }
22192}
22193impl ToString for ProjectColumnDeletedAction {
22194 fn to_string(&self) -> String {
22195 match *self {
22196 Self::Deleted => "deleted".to_string(),
22197 }
22198 }
22199}
22200impl std::str::FromStr for ProjectColumnDeletedAction {
22201 type Err = &'static str;
22202
22203 fn from_str(value: &str) -> Result<Self, &'static str> {
22204 match value {
22205 "deleted" => Ok(Self::Deleted),
22206 _ => Err("invalid value"),
22207 }
22208 }
22209}
22210impl std::convert::TryFrom<&str> for ProjectColumnDeletedAction {
22211 type Error = &'static str;
22212
22213 fn try_from(value: &str) -> Result<Self, &'static str> {
22214 value.parse()
22215 }
22216}
22217impl std::convert::TryFrom<&String> for ProjectColumnDeletedAction {
22218 type Error = &'static str;
22219
22220 fn try_from(value: &String) -> Result<Self, &'static str> {
22221 value.parse()
22222 }
22223}
22224impl std::convert::TryFrom<String> for ProjectColumnDeletedAction {
22225 type Error = &'static str;
22226
22227 fn try_from(value: String) -> Result<Self, &'static str> {
22228 value.parse()
22229 }
22230}
22231#[derive(Clone, Debug, Deserialize, Serialize)]
22232#[serde(deny_unknown_fields)]
22233pub struct ProjectColumnEdited {
22234 pub action: ProjectColumnEditedAction,
22235 pub changes: ProjectColumnEditedChanges,
22236 #[serde(default, skip_serializing_if = "Option::is_none")]
22237 pub installation: Option<InstallationLite>,
22238 #[serde(default, skip_serializing_if = "Option::is_none")]
22239 pub organization: Option<Organization>,
22240 pub project_column: ProjectColumn,
22241 #[serde(default, skip_serializing_if = "Option::is_none")]
22242 pub repository: Option<Repository>,
22243 pub sender: User,
22244}
22245impl From<&ProjectColumnEdited> for ProjectColumnEdited {
22246 fn from(value: &ProjectColumnEdited) -> Self {
22247 value.clone()
22248 }
22249}
22250#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22251pub enum ProjectColumnEditedAction {
22252 #[serde(rename = "edited")]
22253 Edited,
22254}
22255impl From<&ProjectColumnEditedAction> for ProjectColumnEditedAction {
22256 fn from(value: &ProjectColumnEditedAction) -> Self {
22257 value.clone()
22258 }
22259}
22260impl ToString for ProjectColumnEditedAction {
22261 fn to_string(&self) -> String {
22262 match *self {
22263 Self::Edited => "edited".to_string(),
22264 }
22265 }
22266}
22267impl std::str::FromStr for ProjectColumnEditedAction {
22268 type Err = &'static str;
22269
22270 fn from_str(value: &str) -> Result<Self, &'static str> {
22271 match value {
22272 "edited" => Ok(Self::Edited),
22273 _ => Err("invalid value"),
22274 }
22275 }
22276}
22277impl std::convert::TryFrom<&str> for ProjectColumnEditedAction {
22278 type Error = &'static str;
22279
22280 fn try_from(value: &str) -> Result<Self, &'static str> {
22281 value.parse()
22282 }
22283}
22284impl std::convert::TryFrom<&String> for ProjectColumnEditedAction {
22285 type Error = &'static str;
22286
22287 fn try_from(value: &String) -> Result<Self, &'static str> {
22288 value.parse()
22289 }
22290}
22291impl std::convert::TryFrom<String> for ProjectColumnEditedAction {
22292 type Error = &'static str;
22293
22294 fn try_from(value: String) -> Result<Self, &'static str> {
22295 value.parse()
22296 }
22297}
22298#[derive(Clone, Debug, Deserialize, Serialize)]
22299#[serde(deny_unknown_fields)]
22300pub struct ProjectColumnEditedChanges {
22301 #[serde(default, skip_serializing_if = "Option::is_none")]
22302 pub name: Option<ProjectColumnEditedChangesName>,
22303}
22304impl From<&ProjectColumnEditedChanges> for ProjectColumnEditedChanges {
22305 fn from(value: &ProjectColumnEditedChanges) -> Self {
22306 value.clone()
22307 }
22308}
22309#[derive(Clone, Debug, Deserialize, Serialize)]
22310#[serde(deny_unknown_fields)]
22311pub struct ProjectColumnEditedChangesName {
22312 pub from: String,
22313}
22314impl From<&ProjectColumnEditedChangesName> for ProjectColumnEditedChangesName {
22315 fn from(value: &ProjectColumnEditedChangesName) -> Self {
22316 value.clone()
22317 }
22318}
22319#[derive(Clone, Debug, Deserialize, Serialize)]
22320#[serde(untagged)]
22321pub enum ProjectColumnEvent {
22322 Created(ProjectColumnCreated),
22323 Deleted(ProjectColumnDeleted),
22324 Edited(ProjectColumnEdited),
22325 Moved(ProjectColumnMoved),
22326}
22327impl From<&ProjectColumnEvent> for ProjectColumnEvent {
22328 fn from(value: &ProjectColumnEvent) -> Self {
22329 value.clone()
22330 }
22331}
22332impl From<ProjectColumnCreated> for ProjectColumnEvent {
22333 fn from(value: ProjectColumnCreated) -> Self {
22334 Self::Created(value)
22335 }
22336}
22337impl From<ProjectColumnDeleted> for ProjectColumnEvent {
22338 fn from(value: ProjectColumnDeleted) -> Self {
22339 Self::Deleted(value)
22340 }
22341}
22342impl From<ProjectColumnEdited> for ProjectColumnEvent {
22343 fn from(value: ProjectColumnEdited) -> Self {
22344 Self::Edited(value)
22345 }
22346}
22347impl From<ProjectColumnMoved> for ProjectColumnEvent {
22348 fn from(value: ProjectColumnMoved) -> Self {
22349 Self::Moved(value)
22350 }
22351}
22352#[derive(Clone, Debug, Deserialize, Serialize)]
22353#[serde(deny_unknown_fields)]
22354pub struct ProjectColumnMoved {
22355 pub action: ProjectColumnMovedAction,
22356 #[serde(default, skip_serializing_if = "Option::is_none")]
22357 pub installation: Option<InstallationLite>,
22358 #[serde(default, skip_serializing_if = "Option::is_none")]
22359 pub organization: Option<Organization>,
22360 pub project_column: ProjectColumn,
22361 #[serde(default, skip_serializing_if = "Option::is_none")]
22362 pub repository: Option<Repository>,
22363 pub sender: User,
22364}
22365impl From<&ProjectColumnMoved> for ProjectColumnMoved {
22366 fn from(value: &ProjectColumnMoved) -> Self {
22367 value.clone()
22368 }
22369}
22370#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22371pub enum ProjectColumnMovedAction {
22372 #[serde(rename = "moved")]
22373 Moved,
22374}
22375impl From<&ProjectColumnMovedAction> for ProjectColumnMovedAction {
22376 fn from(value: &ProjectColumnMovedAction) -> Self {
22377 value.clone()
22378 }
22379}
22380impl ToString for ProjectColumnMovedAction {
22381 fn to_string(&self) -> String {
22382 match *self {
22383 Self::Moved => "moved".to_string(),
22384 }
22385 }
22386}
22387impl std::str::FromStr for ProjectColumnMovedAction {
22388 type Err = &'static str;
22389
22390 fn from_str(value: &str) -> Result<Self, &'static str> {
22391 match value {
22392 "moved" => Ok(Self::Moved),
22393 _ => Err("invalid value"),
22394 }
22395 }
22396}
22397impl std::convert::TryFrom<&str> for ProjectColumnMovedAction {
22398 type Error = &'static str;
22399
22400 fn try_from(value: &str) -> Result<Self, &'static str> {
22401 value.parse()
22402 }
22403}
22404impl std::convert::TryFrom<&String> for ProjectColumnMovedAction {
22405 type Error = &'static str;
22406
22407 fn try_from(value: &String) -> Result<Self, &'static str> {
22408 value.parse()
22409 }
22410}
22411impl std::convert::TryFrom<String> for ProjectColumnMovedAction {
22412 type Error = &'static str;
22413
22414 fn try_from(value: String) -> Result<Self, &'static str> {
22415 value.parse()
22416 }
22417}
22418#[derive(Clone, Debug, Deserialize, Serialize)]
22419#[serde(deny_unknown_fields)]
22420pub struct ProjectCreated {
22421 pub action: ProjectCreatedAction,
22422 #[serde(default, skip_serializing_if = "Option::is_none")]
22423 pub installation: Option<InstallationLite>,
22424 #[serde(default, skip_serializing_if = "Option::is_none")]
22425 pub organization: Option<Organization>,
22426 pub project: Project,
22427 pub repository: Repository,
22428 pub sender: User,
22429}
22430impl From<&ProjectCreated> for ProjectCreated {
22431 fn from(value: &ProjectCreated) -> Self {
22432 value.clone()
22433 }
22434}
22435#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22436pub enum ProjectCreatedAction {
22437 #[serde(rename = "created")]
22438 Created,
22439}
22440impl From<&ProjectCreatedAction> for ProjectCreatedAction {
22441 fn from(value: &ProjectCreatedAction) -> Self {
22442 value.clone()
22443 }
22444}
22445impl ToString for ProjectCreatedAction {
22446 fn to_string(&self) -> String {
22447 match *self {
22448 Self::Created => "created".to_string(),
22449 }
22450 }
22451}
22452impl std::str::FromStr for ProjectCreatedAction {
22453 type Err = &'static str;
22454
22455 fn from_str(value: &str) -> Result<Self, &'static str> {
22456 match value {
22457 "created" => Ok(Self::Created),
22458 _ => Err("invalid value"),
22459 }
22460 }
22461}
22462impl std::convert::TryFrom<&str> for ProjectCreatedAction {
22463 type Error = &'static str;
22464
22465 fn try_from(value: &str) -> Result<Self, &'static str> {
22466 value.parse()
22467 }
22468}
22469impl std::convert::TryFrom<&String> for ProjectCreatedAction {
22470 type Error = &'static str;
22471
22472 fn try_from(value: &String) -> Result<Self, &'static str> {
22473 value.parse()
22474 }
22475}
22476impl std::convert::TryFrom<String> for ProjectCreatedAction {
22477 type Error = &'static str;
22478
22479 fn try_from(value: String) -> Result<Self, &'static str> {
22480 value.parse()
22481 }
22482}
22483#[derive(Clone, Debug, Deserialize, Serialize)]
22484#[serde(deny_unknown_fields)]
22485pub struct ProjectDeleted {
22486 pub action: ProjectDeletedAction,
22487 #[serde(default, skip_serializing_if = "Option::is_none")]
22488 pub installation: Option<InstallationLite>,
22489 #[serde(default, skip_serializing_if = "Option::is_none")]
22490 pub organization: Option<Organization>,
22491 pub project: Project,
22492 pub repository: Repository,
22493 pub sender: User,
22494}
22495impl From<&ProjectDeleted> for ProjectDeleted {
22496 fn from(value: &ProjectDeleted) -> Self {
22497 value.clone()
22498 }
22499}
22500#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22501pub enum ProjectDeletedAction {
22502 #[serde(rename = "deleted")]
22503 Deleted,
22504}
22505impl From<&ProjectDeletedAction> for ProjectDeletedAction {
22506 fn from(value: &ProjectDeletedAction) -> Self {
22507 value.clone()
22508 }
22509}
22510impl ToString for ProjectDeletedAction {
22511 fn to_string(&self) -> String {
22512 match *self {
22513 Self::Deleted => "deleted".to_string(),
22514 }
22515 }
22516}
22517impl std::str::FromStr for ProjectDeletedAction {
22518 type Err = &'static str;
22519
22520 fn from_str(value: &str) -> Result<Self, &'static str> {
22521 match value {
22522 "deleted" => Ok(Self::Deleted),
22523 _ => Err("invalid value"),
22524 }
22525 }
22526}
22527impl std::convert::TryFrom<&str> for ProjectDeletedAction {
22528 type Error = &'static str;
22529
22530 fn try_from(value: &str) -> Result<Self, &'static str> {
22531 value.parse()
22532 }
22533}
22534impl std::convert::TryFrom<&String> for ProjectDeletedAction {
22535 type Error = &'static str;
22536
22537 fn try_from(value: &String) -> Result<Self, &'static str> {
22538 value.parse()
22539 }
22540}
22541impl std::convert::TryFrom<String> for ProjectDeletedAction {
22542 type Error = &'static str;
22543
22544 fn try_from(value: String) -> Result<Self, &'static str> {
22545 value.parse()
22546 }
22547}
22548#[derive(Clone, Debug, Deserialize, Serialize)]
22549#[serde(deny_unknown_fields)]
22550pub struct ProjectEdited {
22551 pub action: ProjectEditedAction,
22552 #[serde(default, skip_serializing_if = "Option::is_none")]
22553 pub changes: Option<ProjectEditedChanges>,
22554 #[serde(default, skip_serializing_if = "Option::is_none")]
22555 pub installation: Option<InstallationLite>,
22556 #[serde(default, skip_serializing_if = "Option::is_none")]
22557 pub organization: Option<Organization>,
22558 pub project: Project,
22559 pub repository: Repository,
22560 pub sender: User,
22561}
22562impl From<&ProjectEdited> for ProjectEdited {
22563 fn from(value: &ProjectEdited) -> Self {
22564 value.clone()
22565 }
22566}
22567#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22568pub enum ProjectEditedAction {
22569 #[serde(rename = "edited")]
22570 Edited,
22571}
22572impl From<&ProjectEditedAction> for ProjectEditedAction {
22573 fn from(value: &ProjectEditedAction) -> Self {
22574 value.clone()
22575 }
22576}
22577impl ToString for ProjectEditedAction {
22578 fn to_string(&self) -> String {
22579 match *self {
22580 Self::Edited => "edited".to_string(),
22581 }
22582 }
22583}
22584impl std::str::FromStr for ProjectEditedAction {
22585 type Err = &'static str;
22586
22587 fn from_str(value: &str) -> Result<Self, &'static str> {
22588 match value {
22589 "edited" => Ok(Self::Edited),
22590 _ => Err("invalid value"),
22591 }
22592 }
22593}
22594impl std::convert::TryFrom<&str> for ProjectEditedAction {
22595 type Error = &'static str;
22596
22597 fn try_from(value: &str) -> Result<Self, &'static str> {
22598 value.parse()
22599 }
22600}
22601impl std::convert::TryFrom<&String> for ProjectEditedAction {
22602 type Error = &'static str;
22603
22604 fn try_from(value: &String) -> Result<Self, &'static str> {
22605 value.parse()
22606 }
22607}
22608impl std::convert::TryFrom<String> for ProjectEditedAction {
22609 type Error = &'static str;
22610
22611 fn try_from(value: String) -> Result<Self, &'static str> {
22612 value.parse()
22613 }
22614}
22615#[derive(Clone, Debug, Deserialize, Serialize)]
22617#[serde(deny_unknown_fields)]
22618pub struct ProjectEditedChanges {
22619 #[serde(default, skip_serializing_if = "Option::is_none")]
22620 pub body: Option<ProjectEditedChangesBody>,
22621 #[serde(default, skip_serializing_if = "Option::is_none")]
22622 pub name: Option<ProjectEditedChangesName>,
22623}
22624impl From<&ProjectEditedChanges> for ProjectEditedChanges {
22625 fn from(value: &ProjectEditedChanges) -> Self {
22626 value.clone()
22627 }
22628}
22629#[derive(Clone, Debug, Deserialize, Serialize)]
22630#[serde(deny_unknown_fields)]
22631pub struct ProjectEditedChangesBody {
22632 pub from: String,
22634}
22635impl From<&ProjectEditedChangesBody> for ProjectEditedChangesBody {
22636 fn from(value: &ProjectEditedChangesBody) -> Self {
22637 value.clone()
22638 }
22639}
22640#[derive(Clone, Debug, Deserialize, Serialize)]
22641#[serde(deny_unknown_fields)]
22642pub struct ProjectEditedChangesName {
22643 pub from: String,
22645}
22646impl From<&ProjectEditedChangesName> for ProjectEditedChangesName {
22647 fn from(value: &ProjectEditedChangesName) -> Self {
22648 value.clone()
22649 }
22650}
22651#[derive(Clone, Debug, Deserialize, Serialize)]
22652#[serde(untagged)]
22653pub enum ProjectEvent {
22654 Closed(ProjectClosed),
22655 Created(ProjectCreated),
22656 Deleted(ProjectDeleted),
22657 Edited(ProjectEdited),
22658 Reopened(ProjectReopened),
22659}
22660impl From<&ProjectEvent> for ProjectEvent {
22661 fn from(value: &ProjectEvent) -> Self {
22662 value.clone()
22663 }
22664}
22665impl From<ProjectClosed> for ProjectEvent {
22666 fn from(value: ProjectClosed) -> Self {
22667 Self::Closed(value)
22668 }
22669}
22670impl From<ProjectCreated> for ProjectEvent {
22671 fn from(value: ProjectCreated) -> Self {
22672 Self::Created(value)
22673 }
22674}
22675impl From<ProjectDeleted> for ProjectEvent {
22676 fn from(value: ProjectDeleted) -> Self {
22677 Self::Deleted(value)
22678 }
22679}
22680impl From<ProjectEdited> for ProjectEvent {
22681 fn from(value: ProjectEdited) -> Self {
22682 Self::Edited(value)
22683 }
22684}
22685impl From<ProjectReopened> for ProjectEvent {
22686 fn from(value: ProjectReopened) -> Self {
22687 Self::Reopened(value)
22688 }
22689}
22690#[derive(Clone, Debug, Deserialize, Serialize)]
22691#[serde(deny_unknown_fields)]
22692pub struct ProjectReopened {
22693 pub action: ProjectReopenedAction,
22694 #[serde(default, skip_serializing_if = "Option::is_none")]
22695 pub installation: Option<InstallationLite>,
22696 #[serde(default, skip_serializing_if = "Option::is_none")]
22697 pub organization: Option<Organization>,
22698 pub project: Project,
22699 pub repository: Repository,
22700 pub sender: User,
22701}
22702impl From<&ProjectReopened> for ProjectReopened {
22703 fn from(value: &ProjectReopened) -> Self {
22704 value.clone()
22705 }
22706}
22707#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22708pub enum ProjectReopenedAction {
22709 #[serde(rename = "reopened")]
22710 Reopened,
22711}
22712impl From<&ProjectReopenedAction> for ProjectReopenedAction {
22713 fn from(value: &ProjectReopenedAction) -> Self {
22714 value.clone()
22715 }
22716}
22717impl ToString for ProjectReopenedAction {
22718 fn to_string(&self) -> String {
22719 match *self {
22720 Self::Reopened => "reopened".to_string(),
22721 }
22722 }
22723}
22724impl std::str::FromStr for ProjectReopenedAction {
22725 type Err = &'static str;
22726
22727 fn from_str(value: &str) -> Result<Self, &'static str> {
22728 match value {
22729 "reopened" => Ok(Self::Reopened),
22730 _ => Err("invalid value"),
22731 }
22732 }
22733}
22734impl std::convert::TryFrom<&str> for ProjectReopenedAction {
22735 type Error = &'static str;
22736
22737 fn try_from(value: &str) -> Result<Self, &'static str> {
22738 value.parse()
22739 }
22740}
22741impl std::convert::TryFrom<&String> for ProjectReopenedAction {
22742 type Error = &'static str;
22743
22744 fn try_from(value: &String) -> Result<Self, &'static str> {
22745 value.parse()
22746 }
22747}
22748impl std::convert::TryFrom<String> for ProjectReopenedAction {
22749 type Error = &'static str;
22750
22751 fn try_from(value: String) -> Result<Self, &'static str> {
22752 value.parse()
22753 }
22754}
22755#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22757pub enum ProjectState {
22758 #[serde(rename = "open")]
22759 Open,
22760 #[serde(rename = "closed")]
22761 Closed,
22762}
22763impl From<&ProjectState> for ProjectState {
22764 fn from(value: &ProjectState) -> Self {
22765 value.clone()
22766 }
22767}
22768impl ToString for ProjectState {
22769 fn to_string(&self) -> String {
22770 match *self {
22771 Self::Open => "open".to_string(),
22772 Self::Closed => "closed".to_string(),
22773 }
22774 }
22775}
22776impl std::str::FromStr for ProjectState {
22777 type Err = &'static str;
22778
22779 fn from_str(value: &str) -> Result<Self, &'static str> {
22780 match value {
22781 "open" => Ok(Self::Open),
22782 "closed" => Ok(Self::Closed),
22783 _ => Err("invalid value"),
22784 }
22785 }
22786}
22787impl std::convert::TryFrom<&str> for ProjectState {
22788 type Error = &'static str;
22789
22790 fn try_from(value: &str) -> Result<Self, &'static str> {
22791 value.parse()
22792 }
22793}
22794impl std::convert::TryFrom<&String> for ProjectState {
22795 type Error = &'static str;
22796
22797 fn try_from(value: &String) -> Result<Self, &'static str> {
22798 value.parse()
22799 }
22800}
22801impl std::convert::TryFrom<String> for ProjectState {
22802 type Error = &'static str;
22803
22804 fn try_from(value: String) -> Result<Self, &'static str> {
22805 value.parse()
22806 }
22807}
22808#[derive(Clone, Debug, Deserialize, Serialize)]
22810#[serde(deny_unknown_fields)]
22811pub struct ProjectsV2Item {
22812 pub archived_at: Option<chrono::DateTime<chrono::offset::Utc>>,
22813 pub content_node_id: String,
22814 pub content_type: ProjectsV2ItemContentType,
22815 pub created_at: chrono::DateTime<chrono::offset::Utc>,
22816 pub creator: User,
22817 pub id: f64,
22818 pub node_id: String,
22819 pub project_node_id: String,
22820 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
22821}
22822impl From<&ProjectsV2Item> for ProjectsV2Item {
22823 fn from(value: &ProjectsV2Item) -> Self {
22824 value.clone()
22825 }
22826}
22827#[derive(Clone, Debug, Deserialize, Serialize)]
22828#[serde(deny_unknown_fields)]
22829pub struct ProjectsV2ItemArchived {
22830 pub action: ProjectsV2ItemArchivedAction,
22831 pub changes: ProjectsV2ItemArchivedChanges,
22832 #[serde(default, skip_serializing_if = "Option::is_none")]
22833 pub installation: Option<InstallationLite>,
22834 #[serde(default, skip_serializing_if = "Option::is_none")]
22835 pub organization: Option<Organization>,
22836 pub projects_v2_item: ProjectsV2Item,
22837 pub sender: User,
22838}
22839impl From<&ProjectsV2ItemArchived> for ProjectsV2ItemArchived {
22840 fn from(value: &ProjectsV2ItemArchived) -> Self {
22841 value.clone()
22842 }
22843}
22844#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22845pub enum ProjectsV2ItemArchivedAction {
22846 #[serde(rename = "archived")]
22847 Archived,
22848}
22849impl From<&ProjectsV2ItemArchivedAction> for ProjectsV2ItemArchivedAction {
22850 fn from(value: &ProjectsV2ItemArchivedAction) -> Self {
22851 value.clone()
22852 }
22853}
22854impl ToString for ProjectsV2ItemArchivedAction {
22855 fn to_string(&self) -> String {
22856 match *self {
22857 Self::Archived => "archived".to_string(),
22858 }
22859 }
22860}
22861impl std::str::FromStr for ProjectsV2ItemArchivedAction {
22862 type Err = &'static str;
22863
22864 fn from_str(value: &str) -> Result<Self, &'static str> {
22865 match value {
22866 "archived" => Ok(Self::Archived),
22867 _ => Err("invalid value"),
22868 }
22869 }
22870}
22871impl std::convert::TryFrom<&str> for ProjectsV2ItemArchivedAction {
22872 type Error = &'static str;
22873
22874 fn try_from(value: &str) -> Result<Self, &'static str> {
22875 value.parse()
22876 }
22877}
22878impl std::convert::TryFrom<&String> for ProjectsV2ItemArchivedAction {
22879 type Error = &'static str;
22880
22881 fn try_from(value: &String) -> Result<Self, &'static str> {
22882 value.parse()
22883 }
22884}
22885impl std::convert::TryFrom<String> for ProjectsV2ItemArchivedAction {
22886 type Error = &'static str;
22887
22888 fn try_from(value: String) -> Result<Self, &'static str> {
22889 value.parse()
22890 }
22891}
22892#[derive(Clone, Debug, Deserialize, Serialize)]
22893#[serde(deny_unknown_fields)]
22894pub struct ProjectsV2ItemArchivedChanges {
22895 pub archived_at: ProjectsV2ItemArchivedChangesArchivedAt,
22896}
22897impl From<&ProjectsV2ItemArchivedChanges> for ProjectsV2ItemArchivedChanges {
22898 fn from(value: &ProjectsV2ItemArchivedChanges) -> Self {
22899 value.clone()
22900 }
22901}
22902#[derive(Clone, Debug, Deserialize, Serialize)]
22903#[serde(deny_unknown_fields)]
22904pub struct ProjectsV2ItemArchivedChangesArchivedAt {
22905 pub from: (),
22906 pub to: chrono::DateTime<chrono::offset::Utc>,
22907}
22908impl From<&ProjectsV2ItemArchivedChangesArchivedAt> for ProjectsV2ItemArchivedChangesArchivedAt {
22909 fn from(value: &ProjectsV2ItemArchivedChangesArchivedAt) -> Self {
22910 value.clone()
22911 }
22912}
22913#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22914pub enum ProjectsV2ItemContentType {
22915 DraftIssue,
22916 Issue,
22917 PullRequest,
22918}
22919impl From<&ProjectsV2ItemContentType> for ProjectsV2ItemContentType {
22920 fn from(value: &ProjectsV2ItemContentType) -> Self {
22921 value.clone()
22922 }
22923}
22924impl ToString for ProjectsV2ItemContentType {
22925 fn to_string(&self) -> String {
22926 match *self {
22927 Self::DraftIssue => "DraftIssue".to_string(),
22928 Self::Issue => "Issue".to_string(),
22929 Self::PullRequest => "PullRequest".to_string(),
22930 }
22931 }
22932}
22933impl std::str::FromStr for ProjectsV2ItemContentType {
22934 type Err = &'static str;
22935
22936 fn from_str(value: &str) -> Result<Self, &'static str> {
22937 match value {
22938 "DraftIssue" => Ok(Self::DraftIssue),
22939 "Issue" => Ok(Self::Issue),
22940 "PullRequest" => Ok(Self::PullRequest),
22941 _ => Err("invalid value"),
22942 }
22943 }
22944}
22945impl std::convert::TryFrom<&str> for ProjectsV2ItemContentType {
22946 type Error = &'static str;
22947
22948 fn try_from(value: &str) -> Result<Self, &'static str> {
22949 value.parse()
22950 }
22951}
22952impl std::convert::TryFrom<&String> for ProjectsV2ItemContentType {
22953 type Error = &'static str;
22954
22955 fn try_from(value: &String) -> Result<Self, &'static str> {
22956 value.parse()
22957 }
22958}
22959impl std::convert::TryFrom<String> for ProjectsV2ItemContentType {
22960 type Error = &'static str;
22961
22962 fn try_from(value: String) -> Result<Self, &'static str> {
22963 value.parse()
22964 }
22965}
22966#[derive(Clone, Debug, Deserialize, Serialize)]
22967#[serde(deny_unknown_fields)]
22968pub struct ProjectsV2ItemConverted {
22969 pub action: ProjectsV2ItemConvertedAction,
22970 pub changes: ProjectsV2ItemConvertedChanges,
22971 #[serde(default, skip_serializing_if = "Option::is_none")]
22972 pub installation: Option<InstallationLite>,
22973 #[serde(default, skip_serializing_if = "Option::is_none")]
22974 pub organization: Option<Organization>,
22975 pub projects_v2_item: ProjectsV2Item,
22976 pub sender: User,
22977}
22978impl From<&ProjectsV2ItemConverted> for ProjectsV2ItemConverted {
22979 fn from(value: &ProjectsV2ItemConverted) -> Self {
22980 value.clone()
22981 }
22982}
22983#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
22984pub enum ProjectsV2ItemConvertedAction {
22985 #[serde(rename = "converted")]
22986 Converted,
22987}
22988impl From<&ProjectsV2ItemConvertedAction> for ProjectsV2ItemConvertedAction {
22989 fn from(value: &ProjectsV2ItemConvertedAction) -> Self {
22990 value.clone()
22991 }
22992}
22993impl ToString for ProjectsV2ItemConvertedAction {
22994 fn to_string(&self) -> String {
22995 match *self {
22996 Self::Converted => "converted".to_string(),
22997 }
22998 }
22999}
23000impl std::str::FromStr for ProjectsV2ItemConvertedAction {
23001 type Err = &'static str;
23002
23003 fn from_str(value: &str) -> Result<Self, &'static str> {
23004 match value {
23005 "converted" => Ok(Self::Converted),
23006 _ => Err("invalid value"),
23007 }
23008 }
23009}
23010impl std::convert::TryFrom<&str> for ProjectsV2ItemConvertedAction {
23011 type Error = &'static str;
23012
23013 fn try_from(value: &str) -> Result<Self, &'static str> {
23014 value.parse()
23015 }
23016}
23017impl std::convert::TryFrom<&String> for ProjectsV2ItemConvertedAction {
23018 type Error = &'static str;
23019
23020 fn try_from(value: &String) -> Result<Self, &'static str> {
23021 value.parse()
23022 }
23023}
23024impl std::convert::TryFrom<String> for ProjectsV2ItemConvertedAction {
23025 type Error = &'static str;
23026
23027 fn try_from(value: String) -> Result<Self, &'static str> {
23028 value.parse()
23029 }
23030}
23031#[derive(Clone, Debug, Deserialize, Serialize)]
23032#[serde(deny_unknown_fields)]
23033pub struct ProjectsV2ItemConvertedChanges {
23034 pub content_type: ProjectsV2ItemConvertedChangesContentType,
23035}
23036impl From<&ProjectsV2ItemConvertedChanges> for ProjectsV2ItemConvertedChanges {
23037 fn from(value: &ProjectsV2ItemConvertedChanges) -> Self {
23038 value.clone()
23039 }
23040}
23041#[derive(Clone, Debug, Deserialize, Serialize)]
23042#[serde(deny_unknown_fields)]
23043pub struct ProjectsV2ItemConvertedChangesContentType {
23044 pub from: ProjectsV2ItemConvertedChangesContentTypeFrom,
23045 pub to: ProjectsV2ItemConvertedChangesContentTypeTo,
23046}
23047impl From<&ProjectsV2ItemConvertedChangesContentType>
23048 for ProjectsV2ItemConvertedChangesContentType
23049{
23050 fn from(value: &ProjectsV2ItemConvertedChangesContentType) -> Self {
23051 value.clone()
23052 }
23053}
23054#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23055pub enum ProjectsV2ItemConvertedChangesContentTypeFrom {
23056 DraftIssue,
23057}
23058impl From<&ProjectsV2ItemConvertedChangesContentTypeFrom>
23059 for ProjectsV2ItemConvertedChangesContentTypeFrom
23060{
23061 fn from(value: &ProjectsV2ItemConvertedChangesContentTypeFrom) -> Self {
23062 value.clone()
23063 }
23064}
23065impl ToString for ProjectsV2ItemConvertedChangesContentTypeFrom {
23066 fn to_string(&self) -> String {
23067 match *self {
23068 Self::DraftIssue => "DraftIssue".to_string(),
23069 }
23070 }
23071}
23072impl std::str::FromStr for ProjectsV2ItemConvertedChangesContentTypeFrom {
23073 type Err = &'static str;
23074
23075 fn from_str(value: &str) -> Result<Self, &'static str> {
23076 match value {
23077 "DraftIssue" => Ok(Self::DraftIssue),
23078 _ => Err("invalid value"),
23079 }
23080 }
23081}
23082impl std::convert::TryFrom<&str> for ProjectsV2ItemConvertedChangesContentTypeFrom {
23083 type Error = &'static str;
23084
23085 fn try_from(value: &str) -> Result<Self, &'static str> {
23086 value.parse()
23087 }
23088}
23089impl std::convert::TryFrom<&String> for ProjectsV2ItemConvertedChangesContentTypeFrom {
23090 type Error = &'static str;
23091
23092 fn try_from(value: &String) -> Result<Self, &'static str> {
23093 value.parse()
23094 }
23095}
23096impl std::convert::TryFrom<String> for ProjectsV2ItemConvertedChangesContentTypeFrom {
23097 type Error = &'static str;
23098
23099 fn try_from(value: String) -> Result<Self, &'static str> {
23100 value.parse()
23101 }
23102}
23103#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23104pub enum ProjectsV2ItemConvertedChangesContentTypeTo {
23105 Issue,
23106}
23107impl From<&ProjectsV2ItemConvertedChangesContentTypeTo>
23108 for ProjectsV2ItemConvertedChangesContentTypeTo
23109{
23110 fn from(value: &ProjectsV2ItemConvertedChangesContentTypeTo) -> Self {
23111 value.clone()
23112 }
23113}
23114impl ToString for ProjectsV2ItemConvertedChangesContentTypeTo {
23115 fn to_string(&self) -> String {
23116 match *self {
23117 Self::Issue => "Issue".to_string(),
23118 }
23119 }
23120}
23121impl std::str::FromStr for ProjectsV2ItemConvertedChangesContentTypeTo {
23122 type Err = &'static str;
23123
23124 fn from_str(value: &str) -> Result<Self, &'static str> {
23125 match value {
23126 "Issue" => Ok(Self::Issue),
23127 _ => Err("invalid value"),
23128 }
23129 }
23130}
23131impl std::convert::TryFrom<&str> for ProjectsV2ItemConvertedChangesContentTypeTo {
23132 type Error = &'static str;
23133
23134 fn try_from(value: &str) -> Result<Self, &'static str> {
23135 value.parse()
23136 }
23137}
23138impl std::convert::TryFrom<&String> for ProjectsV2ItemConvertedChangesContentTypeTo {
23139 type Error = &'static str;
23140
23141 fn try_from(value: &String) -> Result<Self, &'static str> {
23142 value.parse()
23143 }
23144}
23145impl std::convert::TryFrom<String> for ProjectsV2ItemConvertedChangesContentTypeTo {
23146 type Error = &'static str;
23147
23148 fn try_from(value: String) -> Result<Self, &'static str> {
23149 value.parse()
23150 }
23151}
23152#[derive(Clone, Debug, Deserialize, Serialize)]
23153#[serde(deny_unknown_fields)]
23154pub struct ProjectsV2ItemCreated {
23155 pub action: ProjectsV2ItemCreatedAction,
23156 #[serde(default, skip_serializing_if = "Option::is_none")]
23157 pub installation: Option<InstallationLite>,
23158 #[serde(default, skip_serializing_if = "Option::is_none")]
23159 pub organization: Option<Organization>,
23160 pub projects_v2_item: ProjectsV2Item,
23161 pub sender: User,
23162}
23163impl From<&ProjectsV2ItemCreated> for ProjectsV2ItemCreated {
23164 fn from(value: &ProjectsV2ItemCreated) -> Self {
23165 value.clone()
23166 }
23167}
23168#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23169pub enum ProjectsV2ItemCreatedAction {
23170 #[serde(rename = "created")]
23171 Created,
23172}
23173impl From<&ProjectsV2ItemCreatedAction> for ProjectsV2ItemCreatedAction {
23174 fn from(value: &ProjectsV2ItemCreatedAction) -> Self {
23175 value.clone()
23176 }
23177}
23178impl ToString for ProjectsV2ItemCreatedAction {
23179 fn to_string(&self) -> String {
23180 match *self {
23181 Self::Created => "created".to_string(),
23182 }
23183 }
23184}
23185impl std::str::FromStr for ProjectsV2ItemCreatedAction {
23186 type Err = &'static str;
23187
23188 fn from_str(value: &str) -> Result<Self, &'static str> {
23189 match value {
23190 "created" => Ok(Self::Created),
23191 _ => Err("invalid value"),
23192 }
23193 }
23194}
23195impl std::convert::TryFrom<&str> for ProjectsV2ItemCreatedAction {
23196 type Error = &'static str;
23197
23198 fn try_from(value: &str) -> Result<Self, &'static str> {
23199 value.parse()
23200 }
23201}
23202impl std::convert::TryFrom<&String> for ProjectsV2ItemCreatedAction {
23203 type Error = &'static str;
23204
23205 fn try_from(value: &String) -> Result<Self, &'static str> {
23206 value.parse()
23207 }
23208}
23209impl std::convert::TryFrom<String> for ProjectsV2ItemCreatedAction {
23210 type Error = &'static str;
23211
23212 fn try_from(value: String) -> Result<Self, &'static str> {
23213 value.parse()
23214 }
23215}
23216#[derive(Clone, Debug, Deserialize, Serialize)]
23217#[serde(deny_unknown_fields)]
23218pub struct ProjectsV2ItemDeleted {
23219 pub action: ProjectsV2ItemDeletedAction,
23220 #[serde(default, skip_serializing_if = "Option::is_none")]
23221 pub installation: Option<InstallationLite>,
23222 #[serde(default, skip_serializing_if = "Option::is_none")]
23223 pub organization: Option<Organization>,
23224 pub projects_v2_item: ProjectsV2Item,
23225 pub sender: User,
23226}
23227impl From<&ProjectsV2ItemDeleted> for ProjectsV2ItemDeleted {
23228 fn from(value: &ProjectsV2ItemDeleted) -> Self {
23229 value.clone()
23230 }
23231}
23232#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23233pub enum ProjectsV2ItemDeletedAction {
23234 #[serde(rename = "deleted")]
23235 Deleted,
23236}
23237impl From<&ProjectsV2ItemDeletedAction> for ProjectsV2ItemDeletedAction {
23238 fn from(value: &ProjectsV2ItemDeletedAction) -> Self {
23239 value.clone()
23240 }
23241}
23242impl ToString for ProjectsV2ItemDeletedAction {
23243 fn to_string(&self) -> String {
23244 match *self {
23245 Self::Deleted => "deleted".to_string(),
23246 }
23247 }
23248}
23249impl std::str::FromStr for ProjectsV2ItemDeletedAction {
23250 type Err = &'static str;
23251
23252 fn from_str(value: &str) -> Result<Self, &'static str> {
23253 match value {
23254 "deleted" => Ok(Self::Deleted),
23255 _ => Err("invalid value"),
23256 }
23257 }
23258}
23259impl std::convert::TryFrom<&str> for ProjectsV2ItemDeletedAction {
23260 type Error = &'static str;
23261
23262 fn try_from(value: &str) -> Result<Self, &'static str> {
23263 value.parse()
23264 }
23265}
23266impl std::convert::TryFrom<&String> for ProjectsV2ItemDeletedAction {
23267 type Error = &'static str;
23268
23269 fn try_from(value: &String) -> Result<Self, &'static str> {
23270 value.parse()
23271 }
23272}
23273impl std::convert::TryFrom<String> for ProjectsV2ItemDeletedAction {
23274 type Error = &'static str;
23275
23276 fn try_from(value: String) -> Result<Self, &'static str> {
23277 value.parse()
23278 }
23279}
23280#[derive(Clone, Debug, Deserialize, Serialize)]
23281#[serde(deny_unknown_fields)]
23282pub struct ProjectsV2ItemEdited {
23283 pub action: ProjectsV2ItemEditedAction,
23284 pub changes: ProjectsV2ItemEditedChanges,
23285 #[serde(default, skip_serializing_if = "Option::is_none")]
23286 pub installation: Option<InstallationLite>,
23287 #[serde(default, skip_serializing_if = "Option::is_none")]
23288 pub organization: Option<Organization>,
23289 pub projects_v2_item: ProjectsV2Item,
23290 pub sender: User,
23291}
23292impl From<&ProjectsV2ItemEdited> for ProjectsV2ItemEdited {
23293 fn from(value: &ProjectsV2ItemEdited) -> Self {
23294 value.clone()
23295 }
23296}
23297#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23298pub enum ProjectsV2ItemEditedAction {
23299 #[serde(rename = "edited")]
23300 Edited,
23301}
23302impl From<&ProjectsV2ItemEditedAction> for ProjectsV2ItemEditedAction {
23303 fn from(value: &ProjectsV2ItemEditedAction) -> Self {
23304 value.clone()
23305 }
23306}
23307impl ToString for ProjectsV2ItemEditedAction {
23308 fn to_string(&self) -> String {
23309 match *self {
23310 Self::Edited => "edited".to_string(),
23311 }
23312 }
23313}
23314impl std::str::FromStr for ProjectsV2ItemEditedAction {
23315 type Err = &'static str;
23316
23317 fn from_str(value: &str) -> Result<Self, &'static str> {
23318 match value {
23319 "edited" => Ok(Self::Edited),
23320 _ => Err("invalid value"),
23321 }
23322 }
23323}
23324impl std::convert::TryFrom<&str> for ProjectsV2ItemEditedAction {
23325 type Error = &'static str;
23326
23327 fn try_from(value: &str) -> Result<Self, &'static str> {
23328 value.parse()
23329 }
23330}
23331impl std::convert::TryFrom<&String> for ProjectsV2ItemEditedAction {
23332 type Error = &'static str;
23333
23334 fn try_from(value: &String) -> Result<Self, &'static str> {
23335 value.parse()
23336 }
23337}
23338impl std::convert::TryFrom<String> for ProjectsV2ItemEditedAction {
23339 type Error = &'static str;
23340
23341 fn try_from(value: String) -> Result<Self, &'static str> {
23342 value.parse()
23343 }
23344}
23345#[derive(Clone, Debug, Deserialize, Serialize)]
23346#[serde(deny_unknown_fields)]
23347pub struct ProjectsV2ItemEditedChanges {
23348 pub field_value: ProjectsV2ItemEditedChangesFieldValue,
23349}
23350impl From<&ProjectsV2ItemEditedChanges> for ProjectsV2ItemEditedChanges {
23351 fn from(value: &ProjectsV2ItemEditedChanges) -> Self {
23352 value.clone()
23353 }
23354}
23355#[derive(Clone, Debug, Deserialize, Serialize)]
23356#[serde(deny_unknown_fields)]
23357pub struct ProjectsV2ItemEditedChangesFieldValue {
23358 pub field_node_id: String,
23359 pub field_type: ProjectsV2ItemEditedChangesFieldValueFieldType,
23360}
23361impl From<&ProjectsV2ItemEditedChangesFieldValue> for ProjectsV2ItemEditedChangesFieldValue {
23362 fn from(value: &ProjectsV2ItemEditedChangesFieldValue) -> Self {
23363 value.clone()
23364 }
23365}
23366#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23367pub enum ProjectsV2ItemEditedChangesFieldValueFieldType {
23368 #[serde(rename = "single_select")]
23369 SingleSelect,
23370 #[serde(rename = "date")]
23371 Date,
23372 #[serde(rename = "number")]
23373 Number,
23374 #[serde(rename = "text")]
23375 Text,
23376 #[serde(rename = "iteration")]
23377 Iteration,
23378}
23379impl From<&ProjectsV2ItemEditedChangesFieldValueFieldType>
23380 for ProjectsV2ItemEditedChangesFieldValueFieldType
23381{
23382 fn from(value: &ProjectsV2ItemEditedChangesFieldValueFieldType) -> Self {
23383 value.clone()
23384 }
23385}
23386impl ToString for ProjectsV2ItemEditedChangesFieldValueFieldType {
23387 fn to_string(&self) -> String {
23388 match *self {
23389 Self::SingleSelect => "single_select".to_string(),
23390 Self::Date => "date".to_string(),
23391 Self::Number => "number".to_string(),
23392 Self::Text => "text".to_string(),
23393 Self::Iteration => "iteration".to_string(),
23394 }
23395 }
23396}
23397impl std::str::FromStr for ProjectsV2ItemEditedChangesFieldValueFieldType {
23398 type Err = &'static str;
23399
23400 fn from_str(value: &str) -> Result<Self, &'static str> {
23401 match value {
23402 "single_select" => Ok(Self::SingleSelect),
23403 "date" => Ok(Self::Date),
23404 "number" => Ok(Self::Number),
23405 "text" => Ok(Self::Text),
23406 "iteration" => Ok(Self::Iteration),
23407 _ => Err("invalid value"),
23408 }
23409 }
23410}
23411impl std::convert::TryFrom<&str> for ProjectsV2ItemEditedChangesFieldValueFieldType {
23412 type Error = &'static str;
23413
23414 fn try_from(value: &str) -> Result<Self, &'static str> {
23415 value.parse()
23416 }
23417}
23418impl std::convert::TryFrom<&String> for ProjectsV2ItemEditedChangesFieldValueFieldType {
23419 type Error = &'static str;
23420
23421 fn try_from(value: &String) -> Result<Self, &'static str> {
23422 value.parse()
23423 }
23424}
23425impl std::convert::TryFrom<String> for ProjectsV2ItemEditedChangesFieldValueFieldType {
23426 type Error = &'static str;
23427
23428 fn try_from(value: String) -> Result<Self, &'static str> {
23429 value.parse()
23430 }
23431}
23432#[derive(Clone, Debug, Deserialize, Serialize)]
23433#[serde(untagged)]
23434pub enum ProjectsV2ItemEvent {
23435 Archived(ProjectsV2ItemArchived),
23436 Converted(ProjectsV2ItemConverted),
23437 Created(ProjectsV2ItemCreated),
23438 Deleted(ProjectsV2ItemDeleted),
23439 Edited(ProjectsV2ItemEdited),
23440 Reordered(ProjectsV2ItemReordered),
23441 Restored(ProjectsV2ItemRestored),
23442}
23443impl From<&ProjectsV2ItemEvent> for ProjectsV2ItemEvent {
23444 fn from(value: &ProjectsV2ItemEvent) -> Self {
23445 value.clone()
23446 }
23447}
23448impl From<ProjectsV2ItemArchived> for ProjectsV2ItemEvent {
23449 fn from(value: ProjectsV2ItemArchived) -> Self {
23450 Self::Archived(value)
23451 }
23452}
23453impl From<ProjectsV2ItemConverted> for ProjectsV2ItemEvent {
23454 fn from(value: ProjectsV2ItemConverted) -> Self {
23455 Self::Converted(value)
23456 }
23457}
23458impl From<ProjectsV2ItemCreated> for ProjectsV2ItemEvent {
23459 fn from(value: ProjectsV2ItemCreated) -> Self {
23460 Self::Created(value)
23461 }
23462}
23463impl From<ProjectsV2ItemDeleted> for ProjectsV2ItemEvent {
23464 fn from(value: ProjectsV2ItemDeleted) -> Self {
23465 Self::Deleted(value)
23466 }
23467}
23468impl From<ProjectsV2ItemEdited> for ProjectsV2ItemEvent {
23469 fn from(value: ProjectsV2ItemEdited) -> Self {
23470 Self::Edited(value)
23471 }
23472}
23473impl From<ProjectsV2ItemReordered> for ProjectsV2ItemEvent {
23474 fn from(value: ProjectsV2ItemReordered) -> Self {
23475 Self::Reordered(value)
23476 }
23477}
23478impl From<ProjectsV2ItemRestored> for ProjectsV2ItemEvent {
23479 fn from(value: ProjectsV2ItemRestored) -> Self {
23480 Self::Restored(value)
23481 }
23482}
23483#[derive(Clone, Debug, Deserialize, Serialize)]
23484#[serde(deny_unknown_fields)]
23485pub struct ProjectsV2ItemReordered {
23486 pub action: ProjectsV2ItemReorderedAction,
23487 pub changes: ProjectsV2ItemReorderedChanges,
23488 #[serde(default, skip_serializing_if = "Option::is_none")]
23489 pub installation: Option<InstallationLite>,
23490 #[serde(default, skip_serializing_if = "Option::is_none")]
23491 pub organization: Option<Organization>,
23492 pub projects_v2_item: ProjectsV2Item,
23493 pub sender: User,
23494}
23495impl From<&ProjectsV2ItemReordered> for ProjectsV2ItemReordered {
23496 fn from(value: &ProjectsV2ItemReordered) -> Self {
23497 value.clone()
23498 }
23499}
23500#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23501pub enum ProjectsV2ItemReorderedAction {
23502 #[serde(rename = "reordered")]
23503 Reordered,
23504}
23505impl From<&ProjectsV2ItemReorderedAction> for ProjectsV2ItemReorderedAction {
23506 fn from(value: &ProjectsV2ItemReorderedAction) -> Self {
23507 value.clone()
23508 }
23509}
23510impl ToString for ProjectsV2ItemReorderedAction {
23511 fn to_string(&self) -> String {
23512 match *self {
23513 Self::Reordered => "reordered".to_string(),
23514 }
23515 }
23516}
23517impl std::str::FromStr for ProjectsV2ItemReorderedAction {
23518 type Err = &'static str;
23519
23520 fn from_str(value: &str) -> Result<Self, &'static str> {
23521 match value {
23522 "reordered" => Ok(Self::Reordered),
23523 _ => Err("invalid value"),
23524 }
23525 }
23526}
23527impl std::convert::TryFrom<&str> for ProjectsV2ItemReorderedAction {
23528 type Error = &'static str;
23529
23530 fn try_from(value: &str) -> Result<Self, &'static str> {
23531 value.parse()
23532 }
23533}
23534impl std::convert::TryFrom<&String> for ProjectsV2ItemReorderedAction {
23535 type Error = &'static str;
23536
23537 fn try_from(value: &String) -> Result<Self, &'static str> {
23538 value.parse()
23539 }
23540}
23541impl std::convert::TryFrom<String> for ProjectsV2ItemReorderedAction {
23542 type Error = &'static str;
23543
23544 fn try_from(value: String) -> Result<Self, &'static str> {
23545 value.parse()
23546 }
23547}
23548#[derive(Clone, Debug, Deserialize, Serialize)]
23549#[serde(deny_unknown_fields)]
23550pub struct ProjectsV2ItemReorderedChanges {
23551 pub previous_projects_v2_item_node_id:
23552 ProjectsV2ItemReorderedChangesPreviousProjectsV2ItemNodeId,
23553}
23554impl From<&ProjectsV2ItemReorderedChanges> for ProjectsV2ItemReorderedChanges {
23555 fn from(value: &ProjectsV2ItemReorderedChanges) -> Self {
23556 value.clone()
23557 }
23558}
23559#[derive(Clone, Debug, Deserialize, Serialize)]
23560#[serde(deny_unknown_fields)]
23561pub struct ProjectsV2ItemReorderedChangesPreviousProjectsV2ItemNodeId {
23562 pub from: String,
23563 pub to: Option<String>,
23564}
23565impl From<&ProjectsV2ItemReorderedChangesPreviousProjectsV2ItemNodeId>
23566 for ProjectsV2ItemReorderedChangesPreviousProjectsV2ItemNodeId
23567{
23568 fn from(value: &ProjectsV2ItemReorderedChangesPreviousProjectsV2ItemNodeId) -> Self {
23569 value.clone()
23570 }
23571}
23572#[derive(Clone, Debug, Deserialize, Serialize)]
23573#[serde(deny_unknown_fields)]
23574pub struct ProjectsV2ItemRestored {
23575 pub action: ProjectsV2ItemRestoredAction,
23576 pub changes: ProjectsV2ItemRestoredChanges,
23577 #[serde(default, skip_serializing_if = "Option::is_none")]
23578 pub installation: Option<InstallationLite>,
23579 #[serde(default, skip_serializing_if = "Option::is_none")]
23580 pub organization: Option<Organization>,
23581 pub projects_v2_item: ProjectsV2Item,
23582 pub sender: User,
23583}
23584impl From<&ProjectsV2ItemRestored> for ProjectsV2ItemRestored {
23585 fn from(value: &ProjectsV2ItemRestored) -> Self {
23586 value.clone()
23587 }
23588}
23589#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23590pub enum ProjectsV2ItemRestoredAction {
23591 #[serde(rename = "restored")]
23592 Restored,
23593}
23594impl From<&ProjectsV2ItemRestoredAction> for ProjectsV2ItemRestoredAction {
23595 fn from(value: &ProjectsV2ItemRestoredAction) -> Self {
23596 value.clone()
23597 }
23598}
23599impl ToString for ProjectsV2ItemRestoredAction {
23600 fn to_string(&self) -> String {
23601 match *self {
23602 Self::Restored => "restored".to_string(),
23603 }
23604 }
23605}
23606impl std::str::FromStr for ProjectsV2ItemRestoredAction {
23607 type Err = &'static str;
23608
23609 fn from_str(value: &str) -> Result<Self, &'static str> {
23610 match value {
23611 "restored" => Ok(Self::Restored),
23612 _ => Err("invalid value"),
23613 }
23614 }
23615}
23616impl std::convert::TryFrom<&str> for ProjectsV2ItemRestoredAction {
23617 type Error = &'static str;
23618
23619 fn try_from(value: &str) -> Result<Self, &'static str> {
23620 value.parse()
23621 }
23622}
23623impl std::convert::TryFrom<&String> for ProjectsV2ItemRestoredAction {
23624 type Error = &'static str;
23625
23626 fn try_from(value: &String) -> Result<Self, &'static str> {
23627 value.parse()
23628 }
23629}
23630impl std::convert::TryFrom<String> for ProjectsV2ItemRestoredAction {
23631 type Error = &'static str;
23632
23633 fn try_from(value: String) -> Result<Self, &'static str> {
23634 value.parse()
23635 }
23636}
23637#[derive(Clone, Debug, Deserialize, Serialize)]
23638#[serde(deny_unknown_fields)]
23639pub struct ProjectsV2ItemRestoredChanges {
23640 pub archived_at: ProjectsV2ItemRestoredChangesArchivedAt,
23641}
23642impl From<&ProjectsV2ItemRestoredChanges> for ProjectsV2ItemRestoredChanges {
23643 fn from(value: &ProjectsV2ItemRestoredChanges) -> Self {
23644 value.clone()
23645 }
23646}
23647#[derive(Clone, Debug, Deserialize, Serialize)]
23648#[serde(deny_unknown_fields)]
23649pub struct ProjectsV2ItemRestoredChangesArchivedAt {
23650 pub from: chrono::DateTime<chrono::offset::Utc>,
23651 pub to: (),
23652}
23653impl From<&ProjectsV2ItemRestoredChangesArchivedAt> for ProjectsV2ItemRestoredChangesArchivedAt {
23654 fn from(value: &ProjectsV2ItemRestoredChangesArchivedAt) -> Self {
23655 value.clone()
23656 }
23657}
23658#[derive(Clone, Debug, Deserialize, Serialize)]
23660#[serde(deny_unknown_fields)]
23661pub struct PublicEvent {
23662 #[serde(default, skip_serializing_if = "Option::is_none")]
23663 pub installation: Option<InstallationLite>,
23664 #[serde(default, skip_serializing_if = "Option::is_none")]
23665 pub organization: Option<Organization>,
23666 pub repository: Repository,
23667 pub sender: User,
23668}
23669impl From<&PublicEvent> for PublicEvent {
23670 fn from(value: &PublicEvent) -> Self {
23671 value.clone()
23672 }
23673}
23674#[derive(Clone, Debug, Deserialize, Serialize)]
23675#[serde(deny_unknown_fields)]
23676pub struct PullRequest {
23677 pub active_lock_reason: Option<PullRequestActiveLockReason>,
23678 pub additions: i64,
23679 pub assignee: Option<User>,
23680 pub assignees: Vec<User>,
23681 pub author_association: AuthorAssociation,
23682 pub auto_merge: Option<AutoMerge>,
23683 pub base: PullRequestBase,
23684 pub body: Option<String>,
23685 pub changed_files: i64,
23686 pub closed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
23687 pub comments: i64,
23688 pub comments_url: String,
23689 pub commits: i64,
23690 pub commits_url: String,
23691 pub created_at: chrono::DateTime<chrono::offset::Utc>,
23692 pub deletions: i64,
23693 pub diff_url: String,
23694 pub draft: bool,
23696 pub head: PullRequestHead,
23697 pub html_url: String,
23698 pub id: i64,
23699 pub issue_url: String,
23700 pub labels: Vec<Label>,
23701 #[serde(rename = "_links")]
23702 pub links: PullRequestLinks,
23703 pub locked: bool,
23704 pub maintainer_can_modify: bool,
23706 pub merge_commit_sha: Option<String>,
23707 pub mergeable: Option<bool>,
23708 pub mergeable_state: String,
23709 pub merged: Option<bool>,
23710 pub merged_at: Option<chrono::DateTime<chrono::offset::Utc>>,
23711 pub merged_by: Option<User>,
23712 pub milestone: Option<Milestone>,
23713 pub node_id: String,
23714 pub number: i64,
23716 pub patch_url: String,
23717 pub rebaseable: Option<bool>,
23718 pub requested_reviewers: Vec<PullRequestRequestedReviewersItem>,
23719 pub requested_teams: Vec<Team>,
23720 pub review_comment_url: String,
23721 pub review_comments: i64,
23722 pub review_comments_url: String,
23723 pub state: PullRequestState,
23725 pub statuses_url: String,
23726 pub title: String,
23728 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
23729 pub url: String,
23730 pub user: User,
23731}
23732impl From<&PullRequest> for PullRequest {
23733 fn from(value: &PullRequest) -> Self {
23734 value.clone()
23735 }
23736}
23737#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23738pub enum PullRequestActiveLockReason {
23739 #[serde(rename = "resolved")]
23740 Resolved,
23741 #[serde(rename = "off-topic")]
23742 OffTopic,
23743 #[serde(rename = "too heated")]
23744 TooHeated,
23745 #[serde(rename = "spam")]
23746 Spam,
23747}
23748impl From<&PullRequestActiveLockReason> for PullRequestActiveLockReason {
23749 fn from(value: &PullRequestActiveLockReason) -> Self {
23750 value.clone()
23751 }
23752}
23753impl ToString for PullRequestActiveLockReason {
23754 fn to_string(&self) -> String {
23755 match *self {
23756 Self::Resolved => "resolved".to_string(),
23757 Self::OffTopic => "off-topic".to_string(),
23758 Self::TooHeated => "too heated".to_string(),
23759 Self::Spam => "spam".to_string(),
23760 }
23761 }
23762}
23763impl std::str::FromStr for PullRequestActiveLockReason {
23764 type Err = &'static str;
23765
23766 fn from_str(value: &str) -> Result<Self, &'static str> {
23767 match value {
23768 "resolved" => Ok(Self::Resolved),
23769 "off-topic" => Ok(Self::OffTopic),
23770 "too heated" => Ok(Self::TooHeated),
23771 "spam" => Ok(Self::Spam),
23772 _ => Err("invalid value"),
23773 }
23774 }
23775}
23776impl std::convert::TryFrom<&str> for PullRequestActiveLockReason {
23777 type Error = &'static str;
23778
23779 fn try_from(value: &str) -> Result<Self, &'static str> {
23780 value.parse()
23781 }
23782}
23783impl std::convert::TryFrom<&String> for PullRequestActiveLockReason {
23784 type Error = &'static str;
23785
23786 fn try_from(value: &String) -> Result<Self, &'static str> {
23787 value.parse()
23788 }
23789}
23790impl std::convert::TryFrom<String> for PullRequestActiveLockReason {
23791 type Error = &'static str;
23792
23793 fn try_from(value: String) -> Result<Self, &'static str> {
23794 value.parse()
23795 }
23796}
23797#[derive(Clone, Debug, Deserialize, Serialize)]
23798#[serde(deny_unknown_fields)]
23799pub struct PullRequestAssigned {
23800 pub action: PullRequestAssignedAction,
23801 pub assignee: User,
23802 #[serde(default, skip_serializing_if = "Option::is_none")]
23803 pub installation: Option<InstallationLite>,
23804 pub number: i64,
23806 #[serde(default, skip_serializing_if = "Option::is_none")]
23807 pub organization: Option<Organization>,
23808 pub pull_request: PullRequest,
23809 pub repository: Repository,
23810 pub sender: User,
23811}
23812impl From<&PullRequestAssigned> for PullRequestAssigned {
23813 fn from(value: &PullRequestAssigned) -> Self {
23814 value.clone()
23815 }
23816}
23817#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23818pub enum PullRequestAssignedAction {
23819 #[serde(rename = "assigned")]
23820 Assigned,
23821}
23822impl From<&PullRequestAssignedAction> for PullRequestAssignedAction {
23823 fn from(value: &PullRequestAssignedAction) -> Self {
23824 value.clone()
23825 }
23826}
23827impl ToString for PullRequestAssignedAction {
23828 fn to_string(&self) -> String {
23829 match *self {
23830 Self::Assigned => "assigned".to_string(),
23831 }
23832 }
23833}
23834impl std::str::FromStr for PullRequestAssignedAction {
23835 type Err = &'static str;
23836
23837 fn from_str(value: &str) -> Result<Self, &'static str> {
23838 match value {
23839 "assigned" => Ok(Self::Assigned),
23840 _ => Err("invalid value"),
23841 }
23842 }
23843}
23844impl std::convert::TryFrom<&str> for PullRequestAssignedAction {
23845 type Error = &'static str;
23846
23847 fn try_from(value: &str) -> Result<Self, &'static str> {
23848 value.parse()
23849 }
23850}
23851impl std::convert::TryFrom<&String> for PullRequestAssignedAction {
23852 type Error = &'static str;
23853
23854 fn try_from(value: &String) -> Result<Self, &'static str> {
23855 value.parse()
23856 }
23857}
23858impl std::convert::TryFrom<String> for PullRequestAssignedAction {
23859 type Error = &'static str;
23860
23861 fn try_from(value: String) -> Result<Self, &'static str> {
23862 value.parse()
23863 }
23864}
23865#[derive(Clone, Debug, Deserialize, Serialize)]
23866#[serde(deny_unknown_fields)]
23867pub struct PullRequestAutoMergeDisabled {
23868 pub action: PullRequestAutoMergeDisabledAction,
23869 #[serde(default, skip_serializing_if = "Option::is_none")]
23870 pub installation: Option<InstallationLite>,
23871 pub number: i64,
23872 #[serde(default, skip_serializing_if = "Option::is_none")]
23873 pub organization: Option<Organization>,
23874 pub pull_request: PullRequest,
23875 pub reason: String,
23876 pub repository: Repository,
23877 pub sender: User,
23878}
23879impl From<&PullRequestAutoMergeDisabled> for PullRequestAutoMergeDisabled {
23880 fn from(value: &PullRequestAutoMergeDisabled) -> Self {
23881 value.clone()
23882 }
23883}
23884#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23885pub enum PullRequestAutoMergeDisabledAction {
23886 #[serde(rename = "auto_merge_disabled")]
23887 AutoMergeDisabled,
23888}
23889impl From<&PullRequestAutoMergeDisabledAction> for PullRequestAutoMergeDisabledAction {
23890 fn from(value: &PullRequestAutoMergeDisabledAction) -> Self {
23891 value.clone()
23892 }
23893}
23894impl ToString for PullRequestAutoMergeDisabledAction {
23895 fn to_string(&self) -> String {
23896 match *self {
23897 Self::AutoMergeDisabled => "auto_merge_disabled".to_string(),
23898 }
23899 }
23900}
23901impl std::str::FromStr for PullRequestAutoMergeDisabledAction {
23902 type Err = &'static str;
23903
23904 fn from_str(value: &str) -> Result<Self, &'static str> {
23905 match value {
23906 "auto_merge_disabled" => Ok(Self::AutoMergeDisabled),
23907 _ => Err("invalid value"),
23908 }
23909 }
23910}
23911impl std::convert::TryFrom<&str> for PullRequestAutoMergeDisabledAction {
23912 type Error = &'static str;
23913
23914 fn try_from(value: &str) -> Result<Self, &'static str> {
23915 value.parse()
23916 }
23917}
23918impl std::convert::TryFrom<&String> for PullRequestAutoMergeDisabledAction {
23919 type Error = &'static str;
23920
23921 fn try_from(value: &String) -> Result<Self, &'static str> {
23922 value.parse()
23923 }
23924}
23925impl std::convert::TryFrom<String> for PullRequestAutoMergeDisabledAction {
23926 type Error = &'static str;
23927
23928 fn try_from(value: String) -> Result<Self, &'static str> {
23929 value.parse()
23930 }
23931}
23932#[derive(Clone, Debug, Deserialize, Serialize)]
23933#[serde(deny_unknown_fields)]
23934pub struct PullRequestAutoMergeEnabled {
23935 pub action: PullRequestAutoMergeEnabledAction,
23936 #[serde(default, skip_serializing_if = "Option::is_none")]
23937 pub installation: Option<InstallationLite>,
23938 pub number: i64,
23939 #[serde(default, skip_serializing_if = "Option::is_none")]
23940 pub organization: Option<Organization>,
23941 pub pull_request: PullRequest,
23942 pub reason: String,
23943 pub repository: Repository,
23944 pub sender: User,
23945}
23946impl From<&PullRequestAutoMergeEnabled> for PullRequestAutoMergeEnabled {
23947 fn from(value: &PullRequestAutoMergeEnabled) -> Self {
23948 value.clone()
23949 }
23950}
23951#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
23952pub enum PullRequestAutoMergeEnabledAction {
23953 #[serde(rename = "auto_merge_enabled")]
23954 AutoMergeEnabled,
23955}
23956impl From<&PullRequestAutoMergeEnabledAction> for PullRequestAutoMergeEnabledAction {
23957 fn from(value: &PullRequestAutoMergeEnabledAction) -> Self {
23958 value.clone()
23959 }
23960}
23961impl ToString for PullRequestAutoMergeEnabledAction {
23962 fn to_string(&self) -> String {
23963 match *self {
23964 Self::AutoMergeEnabled => "auto_merge_enabled".to_string(),
23965 }
23966 }
23967}
23968impl std::str::FromStr for PullRequestAutoMergeEnabledAction {
23969 type Err = &'static str;
23970
23971 fn from_str(value: &str) -> Result<Self, &'static str> {
23972 match value {
23973 "auto_merge_enabled" => Ok(Self::AutoMergeEnabled),
23974 _ => Err("invalid value"),
23975 }
23976 }
23977}
23978impl std::convert::TryFrom<&str> for PullRequestAutoMergeEnabledAction {
23979 type Error = &'static str;
23980
23981 fn try_from(value: &str) -> Result<Self, &'static str> {
23982 value.parse()
23983 }
23984}
23985impl std::convert::TryFrom<&String> for PullRequestAutoMergeEnabledAction {
23986 type Error = &'static str;
23987
23988 fn try_from(value: &String) -> Result<Self, &'static str> {
23989 value.parse()
23990 }
23991}
23992impl std::convert::TryFrom<String> for PullRequestAutoMergeEnabledAction {
23993 type Error = &'static str;
23994
23995 fn try_from(value: String) -> Result<Self, &'static str> {
23996 value.parse()
23997 }
23998}
23999#[derive(Clone, Debug, Deserialize, Serialize)]
24000#[serde(deny_unknown_fields)]
24001pub struct PullRequestBase {
24002 pub label: String,
24003 #[serde(rename = "ref")]
24004 pub ref_: String,
24005 pub repo: Repository,
24006 pub sha: String,
24007 pub user: User,
24008}
24009impl From<&PullRequestBase> for PullRequestBase {
24010 fn from(value: &PullRequestBase) -> Self {
24011 value.clone()
24012 }
24013}
24014#[derive(Clone, Debug, Deserialize, Serialize)]
24015#[serde(deny_unknown_fields)]
24016pub struct PullRequestClosed {
24017 pub action: PullRequestClosedAction,
24018 #[serde(default, skip_serializing_if = "Option::is_none")]
24019 pub installation: Option<InstallationLite>,
24020 pub number: i64,
24022 #[serde(default, skip_serializing_if = "Option::is_none")]
24023 pub organization: Option<Organization>,
24024 pub pull_request: PullRequest,
24025 pub repository: Repository,
24026 pub sender: User,
24027}
24028impl From<&PullRequestClosed> for PullRequestClosed {
24029 fn from(value: &PullRequestClosed) -> Self {
24030 value.clone()
24031 }
24032}
24033#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24034pub enum PullRequestClosedAction {
24035 #[serde(rename = "closed")]
24036 Closed,
24037}
24038impl From<&PullRequestClosedAction> for PullRequestClosedAction {
24039 fn from(value: &PullRequestClosedAction) -> Self {
24040 value.clone()
24041 }
24042}
24043impl ToString for PullRequestClosedAction {
24044 fn to_string(&self) -> String {
24045 match *self {
24046 Self::Closed => "closed".to_string(),
24047 }
24048 }
24049}
24050impl std::str::FromStr for PullRequestClosedAction {
24051 type Err = &'static str;
24052
24053 fn from_str(value: &str) -> Result<Self, &'static str> {
24054 match value {
24055 "closed" => Ok(Self::Closed),
24056 _ => Err("invalid value"),
24057 }
24058 }
24059}
24060impl std::convert::TryFrom<&str> for PullRequestClosedAction {
24061 type Error = &'static str;
24062
24063 fn try_from(value: &str) -> Result<Self, &'static str> {
24064 value.parse()
24065 }
24066}
24067impl std::convert::TryFrom<&String> for PullRequestClosedAction {
24068 type Error = &'static str;
24069
24070 fn try_from(value: &String) -> Result<Self, &'static str> {
24071 value.parse()
24072 }
24073}
24074impl std::convert::TryFrom<String> for PullRequestClosedAction {
24075 type Error = &'static str;
24076
24077 fn try_from(value: String) -> Result<Self, &'static str> {
24078 value.parse()
24079 }
24080}
24081#[derive(Clone, Debug, Deserialize, Serialize)]
24082#[serde(deny_unknown_fields)]
24083pub struct PullRequestConvertedToDraft {
24084 pub action: PullRequestConvertedToDraftAction,
24085 #[serde(default, skip_serializing_if = "Option::is_none")]
24086 pub installation: Option<InstallationLite>,
24087 pub number: i64,
24089 #[serde(default, skip_serializing_if = "Option::is_none")]
24090 pub organization: Option<Organization>,
24091 pub pull_request: PullRequest,
24092 pub repository: Repository,
24093 pub sender: User,
24094}
24095impl From<&PullRequestConvertedToDraft> for PullRequestConvertedToDraft {
24096 fn from(value: &PullRequestConvertedToDraft) -> Self {
24097 value.clone()
24098 }
24099}
24100#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24101pub enum PullRequestConvertedToDraftAction {
24102 #[serde(rename = "converted_to_draft")]
24103 ConvertedToDraft,
24104}
24105impl From<&PullRequestConvertedToDraftAction> for PullRequestConvertedToDraftAction {
24106 fn from(value: &PullRequestConvertedToDraftAction) -> Self {
24107 value.clone()
24108 }
24109}
24110impl ToString for PullRequestConvertedToDraftAction {
24111 fn to_string(&self) -> String {
24112 match *self {
24113 Self::ConvertedToDraft => "converted_to_draft".to_string(),
24114 }
24115 }
24116}
24117impl std::str::FromStr for PullRequestConvertedToDraftAction {
24118 type Err = &'static str;
24119
24120 fn from_str(value: &str) -> Result<Self, &'static str> {
24121 match value {
24122 "converted_to_draft" => Ok(Self::ConvertedToDraft),
24123 _ => Err("invalid value"),
24124 }
24125 }
24126}
24127impl std::convert::TryFrom<&str> for PullRequestConvertedToDraftAction {
24128 type Error = &'static str;
24129
24130 fn try_from(value: &str) -> Result<Self, &'static str> {
24131 value.parse()
24132 }
24133}
24134impl std::convert::TryFrom<&String> for PullRequestConvertedToDraftAction {
24135 type Error = &'static str;
24136
24137 fn try_from(value: &String) -> Result<Self, &'static str> {
24138 value.parse()
24139 }
24140}
24141impl std::convert::TryFrom<String> for PullRequestConvertedToDraftAction {
24142 type Error = &'static str;
24143
24144 fn try_from(value: String) -> Result<Self, &'static str> {
24145 value.parse()
24146 }
24147}
24148#[derive(Clone, Debug, Deserialize, Serialize)]
24149#[serde(deny_unknown_fields)]
24150pub struct PullRequestDemilestoned {
24151 pub action: PullRequestDemilestonedAction,
24152 #[serde(default, skip_serializing_if = "Option::is_none")]
24153 pub installation: Option<InstallationLite>,
24154 pub milestone: Milestone,
24155 pub number: i64,
24157 #[serde(default, skip_serializing_if = "Option::is_none")]
24158 pub organization: Option<Organization>,
24159 pub pull_request: PullRequest,
24160 pub repository: Repository,
24161 pub sender: User,
24162}
24163impl From<&PullRequestDemilestoned> for PullRequestDemilestoned {
24164 fn from(value: &PullRequestDemilestoned) -> Self {
24165 value.clone()
24166 }
24167}
24168#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24169pub enum PullRequestDemilestonedAction {
24170 #[serde(rename = "demilestoned")]
24171 Demilestoned,
24172}
24173impl From<&PullRequestDemilestonedAction> for PullRequestDemilestonedAction {
24174 fn from(value: &PullRequestDemilestonedAction) -> Self {
24175 value.clone()
24176 }
24177}
24178impl ToString for PullRequestDemilestonedAction {
24179 fn to_string(&self) -> String {
24180 match *self {
24181 Self::Demilestoned => "demilestoned".to_string(),
24182 }
24183 }
24184}
24185impl std::str::FromStr for PullRequestDemilestonedAction {
24186 type Err = &'static str;
24187
24188 fn from_str(value: &str) -> Result<Self, &'static str> {
24189 match value {
24190 "demilestoned" => Ok(Self::Demilestoned),
24191 _ => Err("invalid value"),
24192 }
24193 }
24194}
24195impl std::convert::TryFrom<&str> for PullRequestDemilestonedAction {
24196 type Error = &'static str;
24197
24198 fn try_from(value: &str) -> Result<Self, &'static str> {
24199 value.parse()
24200 }
24201}
24202impl std::convert::TryFrom<&String> for PullRequestDemilestonedAction {
24203 type Error = &'static str;
24204
24205 fn try_from(value: &String) -> Result<Self, &'static str> {
24206 value.parse()
24207 }
24208}
24209impl std::convert::TryFrom<String> for PullRequestDemilestonedAction {
24210 type Error = &'static str;
24211
24212 fn try_from(value: String) -> Result<Self, &'static str> {
24213 value.parse()
24214 }
24215}
24216#[derive(Clone, Debug, Deserialize, Serialize)]
24217#[serde(deny_unknown_fields)]
24218pub struct PullRequestDequeued {
24219 pub action: PullRequestDequeuedAction,
24220 #[serde(default, skip_serializing_if = "Option::is_none")]
24221 pub installation: Option<InstallationLite>,
24222 pub number: i64,
24224 #[serde(default, skip_serializing_if = "Option::is_none")]
24225 pub organization: Option<Organization>,
24226 pub pull_request: PullRequest,
24227 pub reason: String,
24229 pub repository: Repository,
24230 pub sender: User,
24231}
24232impl From<&PullRequestDequeued> for PullRequestDequeued {
24233 fn from(value: &PullRequestDequeued) -> Self {
24234 value.clone()
24235 }
24236}
24237#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24238pub enum PullRequestDequeuedAction {
24239 #[serde(rename = "dequeued")]
24240 Dequeued,
24241}
24242impl From<&PullRequestDequeuedAction> for PullRequestDequeuedAction {
24243 fn from(value: &PullRequestDequeuedAction) -> Self {
24244 value.clone()
24245 }
24246}
24247impl ToString for PullRequestDequeuedAction {
24248 fn to_string(&self) -> String {
24249 match *self {
24250 Self::Dequeued => "dequeued".to_string(),
24251 }
24252 }
24253}
24254impl std::str::FromStr for PullRequestDequeuedAction {
24255 type Err = &'static str;
24256
24257 fn from_str(value: &str) -> Result<Self, &'static str> {
24258 match value {
24259 "dequeued" => Ok(Self::Dequeued),
24260 _ => Err("invalid value"),
24261 }
24262 }
24263}
24264impl std::convert::TryFrom<&str> for PullRequestDequeuedAction {
24265 type Error = &'static str;
24266
24267 fn try_from(value: &str) -> Result<Self, &'static str> {
24268 value.parse()
24269 }
24270}
24271impl std::convert::TryFrom<&String> for PullRequestDequeuedAction {
24272 type Error = &'static str;
24273
24274 fn try_from(value: &String) -> Result<Self, &'static str> {
24275 value.parse()
24276 }
24277}
24278impl std::convert::TryFrom<String> for PullRequestDequeuedAction {
24279 type Error = &'static str;
24280
24281 fn try_from(value: String) -> Result<Self, &'static str> {
24282 value.parse()
24283 }
24284}
24285#[derive(Clone, Debug, Deserialize, Serialize)]
24286#[serde(deny_unknown_fields)]
24287pub struct PullRequestEdited {
24288 pub action: PullRequestEditedAction,
24289 pub changes: PullRequestEditedChanges,
24290 #[serde(default, skip_serializing_if = "Option::is_none")]
24291 pub installation: Option<InstallationLite>,
24292 pub number: i64,
24294 #[serde(default, skip_serializing_if = "Option::is_none")]
24295 pub organization: Option<Organization>,
24296 pub pull_request: PullRequest,
24297 pub repository: Repository,
24298 pub sender: User,
24299}
24300impl From<&PullRequestEdited> for PullRequestEdited {
24301 fn from(value: &PullRequestEdited) -> Self {
24302 value.clone()
24303 }
24304}
24305#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24306pub enum PullRequestEditedAction {
24307 #[serde(rename = "edited")]
24308 Edited,
24309}
24310impl From<&PullRequestEditedAction> for PullRequestEditedAction {
24311 fn from(value: &PullRequestEditedAction) -> Self {
24312 value.clone()
24313 }
24314}
24315impl ToString for PullRequestEditedAction {
24316 fn to_string(&self) -> String {
24317 match *self {
24318 Self::Edited => "edited".to_string(),
24319 }
24320 }
24321}
24322impl std::str::FromStr for PullRequestEditedAction {
24323 type Err = &'static str;
24324
24325 fn from_str(value: &str) -> Result<Self, &'static str> {
24326 match value {
24327 "edited" => Ok(Self::Edited),
24328 _ => Err("invalid value"),
24329 }
24330 }
24331}
24332impl std::convert::TryFrom<&str> for PullRequestEditedAction {
24333 type Error = &'static str;
24334
24335 fn try_from(value: &str) -> Result<Self, &'static str> {
24336 value.parse()
24337 }
24338}
24339impl std::convert::TryFrom<&String> for PullRequestEditedAction {
24340 type Error = &'static str;
24341
24342 fn try_from(value: &String) -> Result<Self, &'static str> {
24343 value.parse()
24344 }
24345}
24346impl std::convert::TryFrom<String> for PullRequestEditedAction {
24347 type Error = &'static str;
24348
24349 fn try_from(value: String) -> Result<Self, &'static str> {
24350 value.parse()
24351 }
24352}
24353#[derive(Clone, Debug, Deserialize, Serialize)]
24355#[serde(deny_unknown_fields)]
24356pub struct PullRequestEditedChanges {
24357 #[serde(default, skip_serializing_if = "Option::is_none")]
24358 pub base: Option<PullRequestEditedChangesBase>,
24359 #[serde(default, skip_serializing_if = "Option::is_none")]
24360 pub body: Option<PullRequestEditedChangesBody>,
24361 #[serde(default, skip_serializing_if = "Option::is_none")]
24362 pub title: Option<PullRequestEditedChangesTitle>,
24363}
24364impl From<&PullRequestEditedChanges> for PullRequestEditedChanges {
24365 fn from(value: &PullRequestEditedChanges) -> Self {
24366 value.clone()
24367 }
24368}
24369#[derive(Clone, Debug, Deserialize, Serialize)]
24370#[serde(deny_unknown_fields)]
24371pub struct PullRequestEditedChangesBase {
24372 #[serde(rename = "ref")]
24373 pub ref_: PullRequestEditedChangesBaseRef,
24374 pub sha: PullRequestEditedChangesBaseSha,
24375}
24376impl From<&PullRequestEditedChangesBase> for PullRequestEditedChangesBase {
24377 fn from(value: &PullRequestEditedChangesBase) -> Self {
24378 value.clone()
24379 }
24380}
24381#[derive(Clone, Debug, Deserialize, Serialize)]
24382#[serde(deny_unknown_fields)]
24383pub struct PullRequestEditedChangesBaseRef {
24384 pub from: String,
24385}
24386impl From<&PullRequestEditedChangesBaseRef> for PullRequestEditedChangesBaseRef {
24387 fn from(value: &PullRequestEditedChangesBaseRef) -> Self {
24388 value.clone()
24389 }
24390}
24391#[derive(Clone, Debug, Deserialize, Serialize)]
24392#[serde(deny_unknown_fields)]
24393pub struct PullRequestEditedChangesBaseSha {
24394 pub from: String,
24395}
24396impl From<&PullRequestEditedChangesBaseSha> for PullRequestEditedChangesBaseSha {
24397 fn from(value: &PullRequestEditedChangesBaseSha) -> Self {
24398 value.clone()
24399 }
24400}
24401#[derive(Clone, Debug, Deserialize, Serialize)]
24402#[serde(deny_unknown_fields)]
24403pub struct PullRequestEditedChangesBody {
24404 pub from: String,
24406}
24407impl From<&PullRequestEditedChangesBody> for PullRequestEditedChangesBody {
24408 fn from(value: &PullRequestEditedChangesBody) -> Self {
24409 value.clone()
24410 }
24411}
24412#[derive(Clone, Debug, Deserialize, Serialize)]
24413#[serde(deny_unknown_fields)]
24414pub struct PullRequestEditedChangesTitle {
24415 pub from: String,
24417}
24418impl From<&PullRequestEditedChangesTitle> for PullRequestEditedChangesTitle {
24419 fn from(value: &PullRequestEditedChangesTitle) -> Self {
24420 value.clone()
24421 }
24422}
24423#[derive(Clone, Debug, Deserialize, Serialize)]
24424#[serde(untagged)]
24425pub enum PullRequestEvent {
24426 Assigned(PullRequestAssigned),
24427 AutoMergeDisabled(PullRequestAutoMergeDisabled),
24428 AutoMergeEnabled(PullRequestAutoMergeEnabled),
24429 Closed(PullRequestClosed),
24430 ConvertedToDraft(PullRequestConvertedToDraft),
24431 Demilestoned(PullRequestDemilestoned),
24432 Dequeued(PullRequestDequeued),
24433 Edited(PullRequestEdited),
24434 Labeled(PullRequestLabeled),
24435 Locked(PullRequestLocked),
24436 Milestoned(PullRequestMilestoned),
24437 Opened(PullRequestOpened),
24438 Queued(PullRequestQueued),
24439 ReadyForReview(PullRequestReadyForReview),
24440 Reopened(PullRequestReopened),
24441 ReviewRequestRemoved(PullRequestReviewRequestRemoved),
24442 ReviewRequested(PullRequestReviewRequested),
24443 Synchronize(PullRequestSynchronize),
24444 Unassigned(PullRequestUnassigned),
24445 Unlabeled(PullRequestUnlabeled),
24446 Unlocked(PullRequestUnlocked),
24447}
24448impl From<&PullRequestEvent> for PullRequestEvent {
24449 fn from(value: &PullRequestEvent) -> Self {
24450 value.clone()
24451 }
24452}
24453impl From<PullRequestAssigned> for PullRequestEvent {
24454 fn from(value: PullRequestAssigned) -> Self {
24455 Self::Assigned(value)
24456 }
24457}
24458impl From<PullRequestAutoMergeDisabled> for PullRequestEvent {
24459 fn from(value: PullRequestAutoMergeDisabled) -> Self {
24460 Self::AutoMergeDisabled(value)
24461 }
24462}
24463impl From<PullRequestAutoMergeEnabled> for PullRequestEvent {
24464 fn from(value: PullRequestAutoMergeEnabled) -> Self {
24465 Self::AutoMergeEnabled(value)
24466 }
24467}
24468impl From<PullRequestClosed> for PullRequestEvent {
24469 fn from(value: PullRequestClosed) -> Self {
24470 Self::Closed(value)
24471 }
24472}
24473impl From<PullRequestConvertedToDraft> for PullRequestEvent {
24474 fn from(value: PullRequestConvertedToDraft) -> Self {
24475 Self::ConvertedToDraft(value)
24476 }
24477}
24478impl From<PullRequestDemilestoned> for PullRequestEvent {
24479 fn from(value: PullRequestDemilestoned) -> Self {
24480 Self::Demilestoned(value)
24481 }
24482}
24483impl From<PullRequestDequeued> for PullRequestEvent {
24484 fn from(value: PullRequestDequeued) -> Self {
24485 Self::Dequeued(value)
24486 }
24487}
24488impl From<PullRequestEdited> for PullRequestEvent {
24489 fn from(value: PullRequestEdited) -> Self {
24490 Self::Edited(value)
24491 }
24492}
24493impl From<PullRequestLabeled> for PullRequestEvent {
24494 fn from(value: PullRequestLabeled) -> Self {
24495 Self::Labeled(value)
24496 }
24497}
24498impl From<PullRequestLocked> for PullRequestEvent {
24499 fn from(value: PullRequestLocked) -> Self {
24500 Self::Locked(value)
24501 }
24502}
24503impl From<PullRequestMilestoned> for PullRequestEvent {
24504 fn from(value: PullRequestMilestoned) -> Self {
24505 Self::Milestoned(value)
24506 }
24507}
24508impl From<PullRequestOpened> for PullRequestEvent {
24509 fn from(value: PullRequestOpened) -> Self {
24510 Self::Opened(value)
24511 }
24512}
24513impl From<PullRequestQueued> for PullRequestEvent {
24514 fn from(value: PullRequestQueued) -> Self {
24515 Self::Queued(value)
24516 }
24517}
24518impl From<PullRequestReadyForReview> for PullRequestEvent {
24519 fn from(value: PullRequestReadyForReview) -> Self {
24520 Self::ReadyForReview(value)
24521 }
24522}
24523impl From<PullRequestReopened> for PullRequestEvent {
24524 fn from(value: PullRequestReopened) -> Self {
24525 Self::Reopened(value)
24526 }
24527}
24528impl From<PullRequestReviewRequestRemoved> for PullRequestEvent {
24529 fn from(value: PullRequestReviewRequestRemoved) -> Self {
24530 Self::ReviewRequestRemoved(value)
24531 }
24532}
24533impl From<PullRequestReviewRequested> for PullRequestEvent {
24534 fn from(value: PullRequestReviewRequested) -> Self {
24535 Self::ReviewRequested(value)
24536 }
24537}
24538impl From<PullRequestSynchronize> for PullRequestEvent {
24539 fn from(value: PullRequestSynchronize) -> Self {
24540 Self::Synchronize(value)
24541 }
24542}
24543impl From<PullRequestUnassigned> for PullRequestEvent {
24544 fn from(value: PullRequestUnassigned) -> Self {
24545 Self::Unassigned(value)
24546 }
24547}
24548impl From<PullRequestUnlabeled> for PullRequestEvent {
24549 fn from(value: PullRequestUnlabeled) -> Self {
24550 Self::Unlabeled(value)
24551 }
24552}
24553impl From<PullRequestUnlocked> for PullRequestEvent {
24554 fn from(value: PullRequestUnlocked) -> Self {
24555 Self::Unlocked(value)
24556 }
24557}
24558#[derive(Clone, Debug, Deserialize, Serialize)]
24559#[serde(deny_unknown_fields)]
24560pub struct PullRequestHead {
24561 pub label: String,
24562 #[serde(rename = "ref")]
24563 pub ref_: String,
24564 pub repo: Option<Repository>,
24565 pub sha: String,
24566 pub user: User,
24567}
24568impl From<&PullRequestHead> for PullRequestHead {
24569 fn from(value: &PullRequestHead) -> Self {
24570 value.clone()
24571 }
24572}
24573#[derive(Clone, Debug, Deserialize, Serialize)]
24574#[serde(deny_unknown_fields)]
24575pub struct PullRequestLabeled {
24576 pub action: PullRequestLabeledAction,
24577 #[serde(default, skip_serializing_if = "Option::is_none")]
24578 pub installation: Option<InstallationLite>,
24579 pub label: Label,
24580 pub number: i64,
24582 #[serde(default, skip_serializing_if = "Option::is_none")]
24583 pub organization: Option<Organization>,
24584 pub pull_request: PullRequest,
24585 pub repository: Repository,
24586 pub sender: User,
24587}
24588impl From<&PullRequestLabeled> for PullRequestLabeled {
24589 fn from(value: &PullRequestLabeled) -> Self {
24590 value.clone()
24591 }
24592}
24593#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24594pub enum PullRequestLabeledAction {
24595 #[serde(rename = "labeled")]
24596 Labeled,
24597}
24598impl From<&PullRequestLabeledAction> for PullRequestLabeledAction {
24599 fn from(value: &PullRequestLabeledAction) -> Self {
24600 value.clone()
24601 }
24602}
24603impl ToString for PullRequestLabeledAction {
24604 fn to_string(&self) -> String {
24605 match *self {
24606 Self::Labeled => "labeled".to_string(),
24607 }
24608 }
24609}
24610impl std::str::FromStr for PullRequestLabeledAction {
24611 type Err = &'static str;
24612
24613 fn from_str(value: &str) -> Result<Self, &'static str> {
24614 match value {
24615 "labeled" => Ok(Self::Labeled),
24616 _ => Err("invalid value"),
24617 }
24618 }
24619}
24620impl std::convert::TryFrom<&str> for PullRequestLabeledAction {
24621 type Error = &'static str;
24622
24623 fn try_from(value: &str) -> Result<Self, &'static str> {
24624 value.parse()
24625 }
24626}
24627impl std::convert::TryFrom<&String> for PullRequestLabeledAction {
24628 type Error = &'static str;
24629
24630 fn try_from(value: &String) -> Result<Self, &'static str> {
24631 value.parse()
24632 }
24633}
24634impl std::convert::TryFrom<String> for PullRequestLabeledAction {
24635 type Error = &'static str;
24636
24637 fn try_from(value: String) -> Result<Self, &'static str> {
24638 value.parse()
24639 }
24640}
24641#[derive(Clone, Debug, Deserialize, Serialize)]
24642#[serde(deny_unknown_fields)]
24643pub struct PullRequestLinks {
24644 pub comments: Link,
24645 pub commits: Link,
24646 pub html: Link,
24647 pub issue: Link,
24648 pub review_comment: Link,
24649 pub review_comments: Link,
24650 #[serde(rename = "self")]
24651 pub self_: Link,
24652 pub statuses: Link,
24653}
24654impl From<&PullRequestLinks> for PullRequestLinks {
24655 fn from(value: &PullRequestLinks) -> Self {
24656 value.clone()
24657 }
24658}
24659#[derive(Clone, Debug, Deserialize, Serialize)]
24660#[serde(deny_unknown_fields)]
24661pub struct PullRequestLocked {
24662 pub action: PullRequestLockedAction,
24663 #[serde(default, skip_serializing_if = "Option::is_none")]
24664 pub installation: Option<InstallationLite>,
24665 pub number: i64,
24667 #[serde(default, skip_serializing_if = "Option::is_none")]
24668 pub organization: Option<Organization>,
24669 pub pull_request: PullRequest,
24670 pub repository: Repository,
24671 pub sender: User,
24672}
24673impl From<&PullRequestLocked> for PullRequestLocked {
24674 fn from(value: &PullRequestLocked) -> Self {
24675 value.clone()
24676 }
24677}
24678#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24679pub enum PullRequestLockedAction {
24680 #[serde(rename = "locked")]
24681 Locked,
24682}
24683impl From<&PullRequestLockedAction> for PullRequestLockedAction {
24684 fn from(value: &PullRequestLockedAction) -> Self {
24685 value.clone()
24686 }
24687}
24688impl ToString for PullRequestLockedAction {
24689 fn to_string(&self) -> String {
24690 match *self {
24691 Self::Locked => "locked".to_string(),
24692 }
24693 }
24694}
24695impl std::str::FromStr for PullRequestLockedAction {
24696 type Err = &'static str;
24697
24698 fn from_str(value: &str) -> Result<Self, &'static str> {
24699 match value {
24700 "locked" => Ok(Self::Locked),
24701 _ => Err("invalid value"),
24702 }
24703 }
24704}
24705impl std::convert::TryFrom<&str> for PullRequestLockedAction {
24706 type Error = &'static str;
24707
24708 fn try_from(value: &str) -> Result<Self, &'static str> {
24709 value.parse()
24710 }
24711}
24712impl std::convert::TryFrom<&String> for PullRequestLockedAction {
24713 type Error = &'static str;
24714
24715 fn try_from(value: &String) -> Result<Self, &'static str> {
24716 value.parse()
24717 }
24718}
24719impl std::convert::TryFrom<String> for PullRequestLockedAction {
24720 type Error = &'static str;
24721
24722 fn try_from(value: String) -> Result<Self, &'static str> {
24723 value.parse()
24724 }
24725}
24726#[derive(Clone, Debug, Deserialize, Serialize)]
24727#[serde(deny_unknown_fields)]
24728pub struct PullRequestMilestoned {
24729 pub action: PullRequestMilestonedAction,
24730 #[serde(default, skip_serializing_if = "Option::is_none")]
24731 pub installation: Option<InstallationLite>,
24732 pub milestone: Milestone,
24733 pub number: i64,
24735 #[serde(default, skip_serializing_if = "Option::is_none")]
24736 pub organization: Option<Organization>,
24737 pub pull_request: PullRequest,
24738 pub repository: Repository,
24739 pub sender: User,
24740}
24741impl From<&PullRequestMilestoned> for PullRequestMilestoned {
24742 fn from(value: &PullRequestMilestoned) -> Self {
24743 value.clone()
24744 }
24745}
24746#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24747pub enum PullRequestMilestonedAction {
24748 #[serde(rename = "milestoned")]
24749 Milestoned,
24750}
24751impl From<&PullRequestMilestonedAction> for PullRequestMilestonedAction {
24752 fn from(value: &PullRequestMilestonedAction) -> Self {
24753 value.clone()
24754 }
24755}
24756impl ToString for PullRequestMilestonedAction {
24757 fn to_string(&self) -> String {
24758 match *self {
24759 Self::Milestoned => "milestoned".to_string(),
24760 }
24761 }
24762}
24763impl std::str::FromStr for PullRequestMilestonedAction {
24764 type Err = &'static str;
24765
24766 fn from_str(value: &str) -> Result<Self, &'static str> {
24767 match value {
24768 "milestoned" => Ok(Self::Milestoned),
24769 _ => Err("invalid value"),
24770 }
24771 }
24772}
24773impl std::convert::TryFrom<&str> for PullRequestMilestonedAction {
24774 type Error = &'static str;
24775
24776 fn try_from(value: &str) -> Result<Self, &'static str> {
24777 value.parse()
24778 }
24779}
24780impl std::convert::TryFrom<&String> for PullRequestMilestonedAction {
24781 type Error = &'static str;
24782
24783 fn try_from(value: &String) -> Result<Self, &'static str> {
24784 value.parse()
24785 }
24786}
24787impl std::convert::TryFrom<String> for PullRequestMilestonedAction {
24788 type Error = &'static str;
24789
24790 fn try_from(value: String) -> Result<Self, &'static str> {
24791 value.parse()
24792 }
24793}
24794#[derive(Clone, Debug, Deserialize, Serialize)]
24795#[serde(deny_unknown_fields)]
24796pub struct PullRequestOpened {
24797 pub action: PullRequestOpenedAction,
24798 #[serde(default, skip_serializing_if = "Option::is_none")]
24799 pub installation: Option<InstallationLite>,
24800 pub number: i64,
24802 #[serde(default, skip_serializing_if = "Option::is_none")]
24803 pub organization: Option<Organization>,
24804 pub pull_request: PullRequest,
24805 pub repository: Repository,
24806 pub sender: User,
24807}
24808impl From<&PullRequestOpened> for PullRequestOpened {
24809 fn from(value: &PullRequestOpened) -> Self {
24810 value.clone()
24811 }
24812}
24813#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24814pub enum PullRequestOpenedAction {
24815 #[serde(rename = "opened")]
24816 Opened,
24817}
24818impl From<&PullRequestOpenedAction> for PullRequestOpenedAction {
24819 fn from(value: &PullRequestOpenedAction) -> Self {
24820 value.clone()
24821 }
24822}
24823impl ToString for PullRequestOpenedAction {
24824 fn to_string(&self) -> String {
24825 match *self {
24826 Self::Opened => "opened".to_string(),
24827 }
24828 }
24829}
24830impl std::str::FromStr for PullRequestOpenedAction {
24831 type Err = &'static str;
24832
24833 fn from_str(value: &str) -> Result<Self, &'static str> {
24834 match value {
24835 "opened" => Ok(Self::Opened),
24836 _ => Err("invalid value"),
24837 }
24838 }
24839}
24840impl std::convert::TryFrom<&str> for PullRequestOpenedAction {
24841 type Error = &'static str;
24842
24843 fn try_from(value: &str) -> Result<Self, &'static str> {
24844 value.parse()
24845 }
24846}
24847impl std::convert::TryFrom<&String> for PullRequestOpenedAction {
24848 type Error = &'static str;
24849
24850 fn try_from(value: &String) -> Result<Self, &'static str> {
24851 value.parse()
24852 }
24853}
24854impl std::convert::TryFrom<String> for PullRequestOpenedAction {
24855 type Error = &'static str;
24856
24857 fn try_from(value: String) -> Result<Self, &'static str> {
24858 value.parse()
24859 }
24860}
24861#[derive(Clone, Debug, Deserialize, Serialize)]
24862#[serde(deny_unknown_fields)]
24863pub struct PullRequestQueued {
24864 pub action: PullRequestQueuedAction,
24865 #[serde(default, skip_serializing_if = "Option::is_none")]
24866 pub installation: Option<InstallationLite>,
24867 pub number: i64,
24869 #[serde(default, skip_serializing_if = "Option::is_none")]
24870 pub organization: Option<Organization>,
24871 pub pull_request: PullRequest,
24872 pub repository: Repository,
24873 pub sender: User,
24874}
24875impl From<&PullRequestQueued> for PullRequestQueued {
24876 fn from(value: &PullRequestQueued) -> Self {
24877 value.clone()
24878 }
24879}
24880#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24881pub enum PullRequestQueuedAction {
24882 #[serde(rename = "queued")]
24883 Queued,
24884}
24885impl From<&PullRequestQueuedAction> for PullRequestQueuedAction {
24886 fn from(value: &PullRequestQueuedAction) -> Self {
24887 value.clone()
24888 }
24889}
24890impl ToString for PullRequestQueuedAction {
24891 fn to_string(&self) -> String {
24892 match *self {
24893 Self::Queued => "queued".to_string(),
24894 }
24895 }
24896}
24897impl std::str::FromStr for PullRequestQueuedAction {
24898 type Err = &'static str;
24899
24900 fn from_str(value: &str) -> Result<Self, &'static str> {
24901 match value {
24902 "queued" => Ok(Self::Queued),
24903 _ => Err("invalid value"),
24904 }
24905 }
24906}
24907impl std::convert::TryFrom<&str> for PullRequestQueuedAction {
24908 type Error = &'static str;
24909
24910 fn try_from(value: &str) -> Result<Self, &'static str> {
24911 value.parse()
24912 }
24913}
24914impl std::convert::TryFrom<&String> for PullRequestQueuedAction {
24915 type Error = &'static str;
24916
24917 fn try_from(value: &String) -> Result<Self, &'static str> {
24918 value.parse()
24919 }
24920}
24921impl std::convert::TryFrom<String> for PullRequestQueuedAction {
24922 type Error = &'static str;
24923
24924 fn try_from(value: String) -> Result<Self, &'static str> {
24925 value.parse()
24926 }
24927}
24928#[derive(Clone, Debug, Deserialize, Serialize)]
24929#[serde(deny_unknown_fields)]
24930pub struct PullRequestReadyForReview {
24931 pub action: PullRequestReadyForReviewAction,
24932 #[serde(default, skip_serializing_if = "Option::is_none")]
24933 pub installation: Option<InstallationLite>,
24934 pub number: i64,
24936 #[serde(default, skip_serializing_if = "Option::is_none")]
24937 pub organization: Option<Organization>,
24938 pub pull_request: PullRequest,
24939 pub repository: Repository,
24940 pub sender: User,
24941}
24942impl From<&PullRequestReadyForReview> for PullRequestReadyForReview {
24943 fn from(value: &PullRequestReadyForReview) -> Self {
24944 value.clone()
24945 }
24946}
24947#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
24948pub enum PullRequestReadyForReviewAction {
24949 #[serde(rename = "ready_for_review")]
24950 ReadyForReview,
24951}
24952impl From<&PullRequestReadyForReviewAction> for PullRequestReadyForReviewAction {
24953 fn from(value: &PullRequestReadyForReviewAction) -> Self {
24954 value.clone()
24955 }
24956}
24957impl ToString for PullRequestReadyForReviewAction {
24958 fn to_string(&self) -> String {
24959 match *self {
24960 Self::ReadyForReview => "ready_for_review".to_string(),
24961 }
24962 }
24963}
24964impl std::str::FromStr for PullRequestReadyForReviewAction {
24965 type Err = &'static str;
24966
24967 fn from_str(value: &str) -> Result<Self, &'static str> {
24968 match value {
24969 "ready_for_review" => Ok(Self::ReadyForReview),
24970 _ => Err("invalid value"),
24971 }
24972 }
24973}
24974impl std::convert::TryFrom<&str> for PullRequestReadyForReviewAction {
24975 type Error = &'static str;
24976
24977 fn try_from(value: &str) -> Result<Self, &'static str> {
24978 value.parse()
24979 }
24980}
24981impl std::convert::TryFrom<&String> for PullRequestReadyForReviewAction {
24982 type Error = &'static str;
24983
24984 fn try_from(value: &String) -> Result<Self, &'static str> {
24985 value.parse()
24986 }
24987}
24988impl std::convert::TryFrom<String> for PullRequestReadyForReviewAction {
24989 type Error = &'static str;
24990
24991 fn try_from(value: String) -> Result<Self, &'static str> {
24992 value.parse()
24993 }
24994}
24995#[derive(Clone, Debug, Deserialize, Serialize)]
24996#[serde(deny_unknown_fields)]
24997pub struct PullRequestReopened {
24998 pub action: PullRequestReopenedAction,
24999 #[serde(default, skip_serializing_if = "Option::is_none")]
25000 pub installation: Option<InstallationLite>,
25001 pub number: i64,
25003 #[serde(default, skip_serializing_if = "Option::is_none")]
25004 pub organization: Option<Organization>,
25005 pub pull_request: PullRequest,
25006 pub repository: Repository,
25007 pub sender: User,
25008}
25009impl From<&PullRequestReopened> for PullRequestReopened {
25010 fn from(value: &PullRequestReopened) -> Self {
25011 value.clone()
25012 }
25013}
25014#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
25015pub enum PullRequestReopenedAction {
25016 #[serde(rename = "reopened")]
25017 Reopened,
25018}
25019impl From<&PullRequestReopenedAction> for PullRequestReopenedAction {
25020 fn from(value: &PullRequestReopenedAction) -> Self {
25021 value.clone()
25022 }
25023}
25024impl ToString for PullRequestReopenedAction {
25025 fn to_string(&self) -> String {
25026 match *self {
25027 Self::Reopened => "reopened".to_string(),
25028 }
25029 }
25030}
25031impl std::str::FromStr for PullRequestReopenedAction {
25032 type Err = &'static str;
25033
25034 fn from_str(value: &str) -> Result<Self, &'static str> {
25035 match value {
25036 "reopened" => Ok(Self::Reopened),
25037 _ => Err("invalid value"),
25038 }
25039 }
25040}
25041impl std::convert::TryFrom<&str> for PullRequestReopenedAction {
25042 type Error = &'static str;
25043
25044 fn try_from(value: &str) -> Result<Self, &'static str> {
25045 value.parse()
25046 }
25047}
25048impl std::convert::TryFrom<&String> for PullRequestReopenedAction {
25049 type Error = &'static str;
25050
25051 fn try_from(value: &String) -> Result<Self, &'static str> {
25052 value.parse()
25053 }
25054}
25055impl std::convert::TryFrom<String> for PullRequestReopenedAction {
25056 type Error = &'static str;
25057
25058 fn try_from(value: String) -> Result<Self, &'static str> {
25059 value.parse()
25060 }
25061}
25062#[derive(Clone, Debug, Deserialize, Serialize)]
25063#[serde(untagged)]
25064pub enum PullRequestRequestedReviewersItem {
25065 User(User),
25066 Team(Team),
25067}
25068impl From<&PullRequestRequestedReviewersItem> for PullRequestRequestedReviewersItem {
25069 fn from(value: &PullRequestRequestedReviewersItem) -> Self {
25070 value.clone()
25071 }
25072}
25073impl From<User> for PullRequestRequestedReviewersItem {
25074 fn from(value: User) -> Self {
25075 Self::User(value)
25076 }
25077}
25078impl From<Team> for PullRequestRequestedReviewersItem {
25079 fn from(value: Team) -> Self {
25080 Self::Team(value)
25081 }
25082}
25083#[derive(Clone, Debug, Deserialize, Serialize)]
25085#[serde(deny_unknown_fields)]
25086pub struct PullRequestReview {
25087 pub author_association: AuthorAssociation,
25088 pub body: Option<String>,
25090 pub commit_id: String,
25092 pub html_url: String,
25093 pub id: i64,
25095 #[serde(rename = "_links")]
25096 pub links: PullRequestReviewLinks,
25097 pub node_id: String,
25098 pub pull_request_url: String,
25099 pub state: PullRequestReviewState,
25100 pub submitted_at: Option<chrono::DateTime<chrono::offset::Utc>>,
25101 pub user: User,
25102}
25103impl From<&PullRequestReview> for PullRequestReview {
25104 fn from(value: &PullRequestReview) -> Self {
25105 value.clone()
25106 }
25107}
25108#[derive(Clone, Debug, Deserialize, Serialize)]
25110#[serde(deny_unknown_fields)]
25111pub struct PullRequestReviewComment {
25112 pub author_association: AuthorAssociation,
25113 pub body: String,
25115 pub commit_id: String,
25117 pub created_at: chrono::DateTime<chrono::offset::Utc>,
25118 pub diff_hunk: String,
25120 pub html_url: String,
25122 pub id: i64,
25124 #[serde(default, skip_serializing_if = "Option::is_none")]
25126 pub in_reply_to_id: Option<i64>,
25127 pub line: Option<i64>,
25130 #[serde(rename = "_links")]
25131 pub links: PullRequestReviewCommentLinks,
25132 pub node_id: String,
25134 pub original_commit_id: String,
25136 pub original_line: i64,
25139 pub original_position: i64,
25141 pub original_start_line: Option<i64>,
25143 pub path: String,
25145 pub position: Option<i64>,
25147 pub pull_request_review_id: i64,
25149 pub pull_request_url: String,
25151 pub reactions: Reactions,
25152 pub side: PullRequestReviewCommentSide,
25154 pub start_line: Option<i64>,
25156 pub start_side: Option<PullRequestReviewCommentStartSide>,
25158 #[serde(default, skip_serializing_if = "Option::is_none")]
25161 pub subject_type: Option<PullRequestReviewCommentSubjectType>,
25162 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
25163 pub url: String,
25165 pub user: User,
25166}
25167impl From<&PullRequestReviewComment> for PullRequestReviewComment {
25168 fn from(value: &PullRequestReviewComment) -> Self {
25169 value.clone()
25170 }
25171}
25172#[derive(Clone, Debug, Deserialize, Serialize)]
25173#[serde(deny_unknown_fields)]
25174pub struct PullRequestReviewCommentCreated {
25175 pub action: PullRequestReviewCommentCreatedAction,
25176 pub comment: PullRequestReviewComment,
25177 #[serde(default, skip_serializing_if = "Option::is_none")]
25178 pub installation: Option<InstallationLite>,
25179 #[serde(default, skip_serializing_if = "Option::is_none")]
25180 pub organization: Option<Organization>,
25181 pub pull_request: PullRequestReviewCommentCreatedPullRequest,
25182 pub repository: Repository,
25183 pub sender: User,
25184}
25185impl From<&PullRequestReviewCommentCreated> for PullRequestReviewCommentCreated {
25186 fn from(value: &PullRequestReviewCommentCreated) -> Self {
25187 value.clone()
25188 }
25189}
25190#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
25191pub enum PullRequestReviewCommentCreatedAction {
25192 #[serde(rename = "created")]
25193 Created,
25194}
25195impl From<&PullRequestReviewCommentCreatedAction> for PullRequestReviewCommentCreatedAction {
25196 fn from(value: &PullRequestReviewCommentCreatedAction) -> Self {
25197 value.clone()
25198 }
25199}
25200impl ToString for PullRequestReviewCommentCreatedAction {
25201 fn to_string(&self) -> String {
25202 match *self {
25203 Self::Created => "created".to_string(),
25204 }
25205 }
25206}
25207impl std::str::FromStr for PullRequestReviewCommentCreatedAction {
25208 type Err = &'static str;
25209
25210 fn from_str(value: &str) -> Result<Self, &'static str> {
25211 match value {
25212 "created" => Ok(Self::Created),
25213 _ => Err("invalid value"),
25214 }
25215 }
25216}
25217impl std::convert::TryFrom<&str> for PullRequestReviewCommentCreatedAction {
25218 type Error = &'static str;
25219
25220 fn try_from(value: &str) -> Result<Self, &'static str> {
25221 value.parse()
25222 }
25223}
25224impl std::convert::TryFrom<&String> for PullRequestReviewCommentCreatedAction {
25225 type Error = &'static str;
25226
25227 fn try_from(value: &String) -> Result<Self, &'static str> {
25228 value.parse()
25229 }
25230}
25231impl std::convert::TryFrom<String> for PullRequestReviewCommentCreatedAction {
25232 type Error = &'static str;
25233
25234 fn try_from(value: String) -> Result<Self, &'static str> {
25235 value.parse()
25236 }
25237}
25238#[derive(Clone, Debug, Deserialize, Serialize)]
25239#[serde(deny_unknown_fields)]
25240pub struct PullRequestReviewCommentCreatedPullRequest {
25241 pub active_lock_reason: Option<PullRequestReviewCommentCreatedPullRequestActiveLockReason>,
25242 pub assignee: Option<User>,
25243 pub assignees: Vec<User>,
25244 pub author_association: AuthorAssociation,
25245 #[serde(default, skip_serializing_if = "Option::is_none")]
25246 pub auto_merge: Option<AutoMerge>,
25247 pub base: PullRequestReviewCommentCreatedPullRequestBase,
25248 pub body: Option<String>,
25249 pub closed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
25250 pub comments_url: String,
25251 pub commits_url: String,
25252 pub created_at: chrono::DateTime<chrono::offset::Utc>,
25253 pub diff_url: String,
25254 #[serde(default, skip_serializing_if = "Option::is_none")]
25255 pub draft: Option<bool>,
25256 pub head: PullRequestReviewCommentCreatedPullRequestHead,
25257 pub html_url: String,
25258 pub id: i64,
25259 pub issue_url: String,
25260 pub labels: Vec<Label>,
25261 #[serde(rename = "_links")]
25262 pub links: PullRequestReviewCommentCreatedPullRequestLinks,
25263 pub locked: bool,
25264 pub merge_commit_sha: Option<String>,
25265 pub merged_at: Option<chrono::DateTime<chrono::offset::Utc>>,
25266 pub milestone: Option<Milestone>,
25267 pub node_id: String,
25268 pub number: i64,
25269 pub patch_url: String,
25270 pub requested_reviewers: Vec<PullRequestReviewCommentCreatedPullRequestRequestedReviewersItem>,
25271 pub requested_teams: Vec<Team>,
25272 pub review_comment_url: String,
25273 pub review_comments_url: String,
25274 pub state: PullRequestReviewCommentCreatedPullRequestState,
25275 pub statuses_url: String,
25276 pub title: String,
25277 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
25278 pub url: String,
25279 pub user: User,
25280}
25281impl From<&PullRequestReviewCommentCreatedPullRequest>
25282 for PullRequestReviewCommentCreatedPullRequest
25283{
25284 fn from(value: &PullRequestReviewCommentCreatedPullRequest) -> Self {
25285 value.clone()
25286 }
25287}
25288#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
25289pub enum PullRequestReviewCommentCreatedPullRequestActiveLockReason {
25290 #[serde(rename = "resolved")]
25291 Resolved,
25292 #[serde(rename = "off-topic")]
25293 OffTopic,
25294 #[serde(rename = "too heated")]
25295 TooHeated,
25296 #[serde(rename = "spam")]
25297 Spam,
25298}
25299impl From<&PullRequestReviewCommentCreatedPullRequestActiveLockReason>
25300 for PullRequestReviewCommentCreatedPullRequestActiveLockReason
25301{
25302 fn from(value: &PullRequestReviewCommentCreatedPullRequestActiveLockReason) -> Self {
25303 value.clone()
25304 }
25305}
25306impl ToString for PullRequestReviewCommentCreatedPullRequestActiveLockReason {
25307 fn to_string(&self) -> String {
25308 match *self {
25309 Self::Resolved => "resolved".to_string(),
25310 Self::OffTopic => "off-topic".to_string(),
25311 Self::TooHeated => "too heated".to_string(),
25312 Self::Spam => "spam".to_string(),
25313 }
25314 }
25315}
25316impl std::str::FromStr for PullRequestReviewCommentCreatedPullRequestActiveLockReason {
25317 type Err = &'static str;
25318
25319 fn from_str(value: &str) -> Result<Self, &'static str> {
25320 match value {
25321 "resolved" => Ok(Self::Resolved),
25322 "off-topic" => Ok(Self::OffTopic),
25323 "too heated" => Ok(Self::TooHeated),
25324 "spam" => Ok(Self::Spam),
25325 _ => Err("invalid value"),
25326 }
25327 }
25328}
25329impl std::convert::TryFrom<&str> for PullRequestReviewCommentCreatedPullRequestActiveLockReason {
25330 type Error = &'static str;
25331
25332 fn try_from(value: &str) -> Result<Self, &'static str> {
25333 value.parse()
25334 }
25335}
25336impl std::convert::TryFrom<&String> for PullRequestReviewCommentCreatedPullRequestActiveLockReason {
25337 type Error = &'static str;
25338
25339 fn try_from(value: &String) -> Result<Self, &'static str> {
25340 value.parse()
25341 }
25342}
25343impl std::convert::TryFrom<String> for PullRequestReviewCommentCreatedPullRequestActiveLockReason {
25344 type Error = &'static str;
25345
25346 fn try_from(value: String) -> Result<Self, &'static str> {
25347 value.parse()
25348 }
25349}
25350#[derive(Clone, Debug, Deserialize, Serialize)]
25351#[serde(deny_unknown_fields)]
25352pub struct PullRequestReviewCommentCreatedPullRequestBase {
25353 pub label: String,
25354 #[serde(rename = "ref")]
25355 pub ref_: String,
25356 pub repo: Repository,
25357 pub sha: String,
25358 pub user: User,
25359}
25360impl From<&PullRequestReviewCommentCreatedPullRequestBase>
25361 for PullRequestReviewCommentCreatedPullRequestBase
25362{
25363 fn from(value: &PullRequestReviewCommentCreatedPullRequestBase) -> Self {
25364 value.clone()
25365 }
25366}
25367#[derive(Clone, Debug, Deserialize, Serialize)]
25368#[serde(deny_unknown_fields)]
25369pub struct PullRequestReviewCommentCreatedPullRequestHead {
25370 pub label: String,
25371 #[serde(rename = "ref")]
25372 pub ref_: String,
25373 pub repo: Repository,
25374 pub sha: String,
25375 pub user: User,
25376}
25377impl From<&PullRequestReviewCommentCreatedPullRequestHead>
25378 for PullRequestReviewCommentCreatedPullRequestHead
25379{
25380 fn from(value: &PullRequestReviewCommentCreatedPullRequestHead) -> Self {
25381 value.clone()
25382 }
25383}
25384#[derive(Clone, Debug, Deserialize, Serialize)]
25385#[serde(deny_unknown_fields)]
25386pub struct PullRequestReviewCommentCreatedPullRequestLinks {
25387 pub comments: Link,
25388 pub commits: Link,
25389 pub html: Link,
25390 pub issue: Link,
25391 pub review_comment: Link,
25392 pub review_comments: Link,
25393 #[serde(rename = "self")]
25394 pub self_: Link,
25395 pub statuses: Link,
25396}
25397impl From<&PullRequestReviewCommentCreatedPullRequestLinks>
25398 for PullRequestReviewCommentCreatedPullRequestLinks
25399{
25400 fn from(value: &PullRequestReviewCommentCreatedPullRequestLinks) -> Self {
25401 value.clone()
25402 }
25403}
25404#[derive(Clone, Debug, Deserialize, Serialize)]
25405#[serde(untagged)]
25406pub enum PullRequestReviewCommentCreatedPullRequestRequestedReviewersItem {
25407 User(User),
25408 Team(Team),
25409}
25410impl From<&PullRequestReviewCommentCreatedPullRequestRequestedReviewersItem>
25411 for PullRequestReviewCommentCreatedPullRequestRequestedReviewersItem
25412{
25413 fn from(value: &PullRequestReviewCommentCreatedPullRequestRequestedReviewersItem) -> Self {
25414 value.clone()
25415 }
25416}
25417impl From<User> for PullRequestReviewCommentCreatedPullRequestRequestedReviewersItem {
25418 fn from(value: User) -> Self {
25419 Self::User(value)
25420 }
25421}
25422impl From<Team> for PullRequestReviewCommentCreatedPullRequestRequestedReviewersItem {
25423 fn from(value: Team) -> Self {
25424 Self::Team(value)
25425 }
25426}
25427#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
25428pub enum PullRequestReviewCommentCreatedPullRequestState {
25429 #[serde(rename = "open")]
25430 Open,
25431 #[serde(rename = "closed")]
25432 Closed,
25433}
25434impl From<&PullRequestReviewCommentCreatedPullRequestState>
25435 for PullRequestReviewCommentCreatedPullRequestState
25436{
25437 fn from(value: &PullRequestReviewCommentCreatedPullRequestState) -> Self {
25438 value.clone()
25439 }
25440}
25441impl ToString for PullRequestReviewCommentCreatedPullRequestState {
25442 fn to_string(&self) -> String {
25443 match *self {
25444 Self::Open => "open".to_string(),
25445 Self::Closed => "closed".to_string(),
25446 }
25447 }
25448}
25449impl std::str::FromStr for PullRequestReviewCommentCreatedPullRequestState {
25450 type Err = &'static str;
25451
25452 fn from_str(value: &str) -> Result<Self, &'static str> {
25453 match value {
25454 "open" => Ok(Self::Open),
25455 "closed" => Ok(Self::Closed),
25456 _ => Err("invalid value"),
25457 }
25458 }
25459}
25460impl std::convert::TryFrom<&str> for PullRequestReviewCommentCreatedPullRequestState {
25461 type Error = &'static str;
25462
25463 fn try_from(value: &str) -> Result<Self, &'static str> {
25464 value.parse()
25465 }
25466}
25467impl std::convert::TryFrom<&String> for PullRequestReviewCommentCreatedPullRequestState {
25468 type Error = &'static str;
25469
25470 fn try_from(value: &String) -> Result<Self, &'static str> {
25471 value.parse()
25472 }
25473}
25474impl std::convert::TryFrom<String> for PullRequestReviewCommentCreatedPullRequestState {
25475 type Error = &'static str;
25476
25477 fn try_from(value: String) -> Result<Self, &'static str> {
25478 value.parse()
25479 }
25480}
25481#[derive(Clone, Debug, Deserialize, Serialize)]
25482#[serde(deny_unknown_fields)]
25483pub struct PullRequestReviewCommentDeleted {
25484 pub action: PullRequestReviewCommentDeletedAction,
25485 pub comment: PullRequestReviewComment,
25486 #[serde(default, skip_serializing_if = "Option::is_none")]
25487 pub installation: Option<InstallationLite>,
25488 #[serde(default, skip_serializing_if = "Option::is_none")]
25489 pub organization: Option<Organization>,
25490 pub pull_request: PullRequestReviewCommentDeletedPullRequest,
25491 pub repository: Repository,
25492 pub sender: User,
25493}
25494impl From<&PullRequestReviewCommentDeleted> for PullRequestReviewCommentDeleted {
25495 fn from(value: &PullRequestReviewCommentDeleted) -> Self {
25496 value.clone()
25497 }
25498}
25499#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
25500pub enum PullRequestReviewCommentDeletedAction {
25501 #[serde(rename = "deleted")]
25502 Deleted,
25503}
25504impl From<&PullRequestReviewCommentDeletedAction> for PullRequestReviewCommentDeletedAction {
25505 fn from(value: &PullRequestReviewCommentDeletedAction) -> Self {
25506 value.clone()
25507 }
25508}
25509impl ToString for PullRequestReviewCommentDeletedAction {
25510 fn to_string(&self) -> String {
25511 match *self {
25512 Self::Deleted => "deleted".to_string(),
25513 }
25514 }
25515}
25516impl std::str::FromStr for PullRequestReviewCommentDeletedAction {
25517 type Err = &'static str;
25518
25519 fn from_str(value: &str) -> Result<Self, &'static str> {
25520 match value {
25521 "deleted" => Ok(Self::Deleted),
25522 _ => Err("invalid value"),
25523 }
25524 }
25525}
25526impl std::convert::TryFrom<&str> for PullRequestReviewCommentDeletedAction {
25527 type Error = &'static str;
25528
25529 fn try_from(value: &str) -> Result<Self, &'static str> {
25530 value.parse()
25531 }
25532}
25533impl std::convert::TryFrom<&String> for PullRequestReviewCommentDeletedAction {
25534 type Error = &'static str;
25535
25536 fn try_from(value: &String) -> Result<Self, &'static str> {
25537 value.parse()
25538 }
25539}
25540impl std::convert::TryFrom<String> for PullRequestReviewCommentDeletedAction {
25541 type Error = &'static str;
25542
25543 fn try_from(value: String) -> Result<Self, &'static str> {
25544 value.parse()
25545 }
25546}
25547#[derive(Clone, Debug, Deserialize, Serialize)]
25548#[serde(deny_unknown_fields)]
25549pub struct PullRequestReviewCommentDeletedPullRequest {
25550 pub active_lock_reason: Option<PullRequestReviewCommentDeletedPullRequestActiveLockReason>,
25551 pub assignee: Option<User>,
25552 pub assignees: Vec<User>,
25553 pub author_association: AuthorAssociation,
25554 #[serde(default, skip_serializing_if = "Option::is_none")]
25555 pub auto_merge: Option<AutoMerge>,
25556 pub base: PullRequestReviewCommentDeletedPullRequestBase,
25557 pub body: Option<String>,
25558 pub closed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
25559 pub comments_url: String,
25560 pub commits_url: String,
25561 pub created_at: chrono::DateTime<chrono::offset::Utc>,
25562 pub diff_url: String,
25563 #[serde(default, skip_serializing_if = "Option::is_none")]
25564 pub draft: Option<bool>,
25565 pub head: PullRequestReviewCommentDeletedPullRequestHead,
25566 pub html_url: String,
25567 pub id: i64,
25568 pub issue_url: String,
25569 pub labels: Vec<Label>,
25570 #[serde(rename = "_links")]
25571 pub links: PullRequestReviewCommentDeletedPullRequestLinks,
25572 pub locked: bool,
25573 pub merge_commit_sha: Option<String>,
25574 pub merged_at: Option<chrono::DateTime<chrono::offset::Utc>>,
25575 pub milestone: Option<Milestone>,
25576 pub node_id: String,
25577 pub number: i64,
25578 pub patch_url: String,
25579 pub requested_reviewers: Vec<PullRequestReviewCommentDeletedPullRequestRequestedReviewersItem>,
25580 pub requested_teams: Vec<Team>,
25581 pub review_comment_url: String,
25582 pub review_comments_url: String,
25583 pub state: PullRequestReviewCommentDeletedPullRequestState,
25584 pub statuses_url: String,
25585 pub title: String,
25586 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
25587 pub url: String,
25588 pub user: User,
25589}
25590impl From<&PullRequestReviewCommentDeletedPullRequest>
25591 for PullRequestReviewCommentDeletedPullRequest
25592{
25593 fn from(value: &PullRequestReviewCommentDeletedPullRequest) -> Self {
25594 value.clone()
25595 }
25596}
25597#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
25598pub enum PullRequestReviewCommentDeletedPullRequestActiveLockReason {
25599 #[serde(rename = "resolved")]
25600 Resolved,
25601 #[serde(rename = "off-topic")]
25602 OffTopic,
25603 #[serde(rename = "too heated")]
25604 TooHeated,
25605 #[serde(rename = "spam")]
25606 Spam,
25607}
25608impl From<&PullRequestReviewCommentDeletedPullRequestActiveLockReason>
25609 for PullRequestReviewCommentDeletedPullRequestActiveLockReason
25610{
25611 fn from(value: &PullRequestReviewCommentDeletedPullRequestActiveLockReason) -> Self {
25612 value.clone()
25613 }
25614}
25615impl ToString for PullRequestReviewCommentDeletedPullRequestActiveLockReason {
25616 fn to_string(&self) -> String {
25617 match *self {
25618 Self::Resolved => "resolved".to_string(),
25619 Self::OffTopic => "off-topic".to_string(),
25620 Self::TooHeated => "too heated".to_string(),
25621 Self::Spam => "spam".to_string(),
25622 }
25623 }
25624}
25625impl std::str::FromStr for PullRequestReviewCommentDeletedPullRequestActiveLockReason {
25626 type Err = &'static str;
25627
25628 fn from_str(value: &str) -> Result<Self, &'static str> {
25629 match value {
25630 "resolved" => Ok(Self::Resolved),
25631 "off-topic" => Ok(Self::OffTopic),
25632 "too heated" => Ok(Self::TooHeated),
25633 "spam" => Ok(Self::Spam),
25634 _ => Err("invalid value"),
25635 }
25636 }
25637}
25638impl std::convert::TryFrom<&str> for PullRequestReviewCommentDeletedPullRequestActiveLockReason {
25639 type Error = &'static str;
25640
25641 fn try_from(value: &str) -> Result<Self, &'static str> {
25642 value.parse()
25643 }
25644}
25645impl std::convert::TryFrom<&String> for PullRequestReviewCommentDeletedPullRequestActiveLockReason {
25646 type Error = &'static str;
25647
25648 fn try_from(value: &String) -> Result<Self, &'static str> {
25649 value.parse()
25650 }
25651}
25652impl std::convert::TryFrom<String> for PullRequestReviewCommentDeletedPullRequestActiveLockReason {
25653 type Error = &'static str;
25654
25655 fn try_from(value: String) -> Result<Self, &'static str> {
25656 value.parse()
25657 }
25658}
25659#[derive(Clone, Debug, Deserialize, Serialize)]
25660#[serde(deny_unknown_fields)]
25661pub struct PullRequestReviewCommentDeletedPullRequestBase {
25662 pub label: String,
25663 #[serde(rename = "ref")]
25664 pub ref_: String,
25665 pub repo: Repository,
25666 pub sha: String,
25667 pub user: User,
25668}
25669impl From<&PullRequestReviewCommentDeletedPullRequestBase>
25670 for PullRequestReviewCommentDeletedPullRequestBase
25671{
25672 fn from(value: &PullRequestReviewCommentDeletedPullRequestBase) -> Self {
25673 value.clone()
25674 }
25675}
25676#[derive(Clone, Debug, Deserialize, Serialize)]
25677#[serde(deny_unknown_fields)]
25678pub struct PullRequestReviewCommentDeletedPullRequestHead {
25679 pub label: String,
25680 #[serde(rename = "ref")]
25681 pub ref_: String,
25682 pub repo: Repository,
25683 pub sha: String,
25684 pub user: User,
25685}
25686impl From<&PullRequestReviewCommentDeletedPullRequestHead>
25687 for PullRequestReviewCommentDeletedPullRequestHead
25688{
25689 fn from(value: &PullRequestReviewCommentDeletedPullRequestHead) -> Self {
25690 value.clone()
25691 }
25692}
25693#[derive(Clone, Debug, Deserialize, Serialize)]
25694#[serde(deny_unknown_fields)]
25695pub struct PullRequestReviewCommentDeletedPullRequestLinks {
25696 pub comments: Link,
25697 pub commits: Link,
25698 pub html: Link,
25699 pub issue: Link,
25700 pub review_comment: Link,
25701 pub review_comments: Link,
25702 #[serde(rename = "self")]
25703 pub self_: Link,
25704 pub statuses: Link,
25705}
25706impl From<&PullRequestReviewCommentDeletedPullRequestLinks>
25707 for PullRequestReviewCommentDeletedPullRequestLinks
25708{
25709 fn from(value: &PullRequestReviewCommentDeletedPullRequestLinks) -> Self {
25710 value.clone()
25711 }
25712}
25713#[derive(Clone, Debug, Deserialize, Serialize)]
25714#[serde(untagged)]
25715pub enum PullRequestReviewCommentDeletedPullRequestRequestedReviewersItem {
25716 User(User),
25717 Team(Team),
25718}
25719impl From<&PullRequestReviewCommentDeletedPullRequestRequestedReviewersItem>
25720 for PullRequestReviewCommentDeletedPullRequestRequestedReviewersItem
25721{
25722 fn from(value: &PullRequestReviewCommentDeletedPullRequestRequestedReviewersItem) -> Self {
25723 value.clone()
25724 }
25725}
25726impl From<User> for PullRequestReviewCommentDeletedPullRequestRequestedReviewersItem {
25727 fn from(value: User) -> Self {
25728 Self::User(value)
25729 }
25730}
25731impl From<Team> for PullRequestReviewCommentDeletedPullRequestRequestedReviewersItem {
25732 fn from(value: Team) -> Self {
25733 Self::Team(value)
25734 }
25735}
25736#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
25737pub enum PullRequestReviewCommentDeletedPullRequestState {
25738 #[serde(rename = "open")]
25739 Open,
25740 #[serde(rename = "closed")]
25741 Closed,
25742}
25743impl From<&PullRequestReviewCommentDeletedPullRequestState>
25744 for PullRequestReviewCommentDeletedPullRequestState
25745{
25746 fn from(value: &PullRequestReviewCommentDeletedPullRequestState) -> Self {
25747 value.clone()
25748 }
25749}
25750impl ToString for PullRequestReviewCommentDeletedPullRequestState {
25751 fn to_string(&self) -> String {
25752 match *self {
25753 Self::Open => "open".to_string(),
25754 Self::Closed => "closed".to_string(),
25755 }
25756 }
25757}
25758impl std::str::FromStr for PullRequestReviewCommentDeletedPullRequestState {
25759 type Err = &'static str;
25760
25761 fn from_str(value: &str) -> Result<Self, &'static str> {
25762 match value {
25763 "open" => Ok(Self::Open),
25764 "closed" => Ok(Self::Closed),
25765 _ => Err("invalid value"),
25766 }
25767 }
25768}
25769impl std::convert::TryFrom<&str> for PullRequestReviewCommentDeletedPullRequestState {
25770 type Error = &'static str;
25771
25772 fn try_from(value: &str) -> Result<Self, &'static str> {
25773 value.parse()
25774 }
25775}
25776impl std::convert::TryFrom<&String> for PullRequestReviewCommentDeletedPullRequestState {
25777 type Error = &'static str;
25778
25779 fn try_from(value: &String) -> Result<Self, &'static str> {
25780 value.parse()
25781 }
25782}
25783impl std::convert::TryFrom<String> for PullRequestReviewCommentDeletedPullRequestState {
25784 type Error = &'static str;
25785
25786 fn try_from(value: String) -> Result<Self, &'static str> {
25787 value.parse()
25788 }
25789}
25790#[derive(Clone, Debug, Deserialize, Serialize)]
25791#[serde(deny_unknown_fields)]
25792pub struct PullRequestReviewCommentEdited {
25793 pub action: PullRequestReviewCommentEditedAction,
25794 pub changes: PullRequestReviewCommentEditedChanges,
25795 pub comment: PullRequestReviewComment,
25796 #[serde(default, skip_serializing_if = "Option::is_none")]
25797 pub installation: Option<InstallationLite>,
25798 #[serde(default, skip_serializing_if = "Option::is_none")]
25799 pub organization: Option<Organization>,
25800 pub pull_request: PullRequestReviewCommentEditedPullRequest,
25801 pub repository: Repository,
25802 pub sender: User,
25803}
25804impl From<&PullRequestReviewCommentEdited> for PullRequestReviewCommentEdited {
25805 fn from(value: &PullRequestReviewCommentEdited) -> Self {
25806 value.clone()
25807 }
25808}
25809#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
25810pub enum PullRequestReviewCommentEditedAction {
25811 #[serde(rename = "edited")]
25812 Edited,
25813}
25814impl From<&PullRequestReviewCommentEditedAction> for PullRequestReviewCommentEditedAction {
25815 fn from(value: &PullRequestReviewCommentEditedAction) -> Self {
25816 value.clone()
25817 }
25818}
25819impl ToString for PullRequestReviewCommentEditedAction {
25820 fn to_string(&self) -> String {
25821 match *self {
25822 Self::Edited => "edited".to_string(),
25823 }
25824 }
25825}
25826impl std::str::FromStr for PullRequestReviewCommentEditedAction {
25827 type Err = &'static str;
25828
25829 fn from_str(value: &str) -> Result<Self, &'static str> {
25830 match value {
25831 "edited" => Ok(Self::Edited),
25832 _ => Err("invalid value"),
25833 }
25834 }
25835}
25836impl std::convert::TryFrom<&str> for PullRequestReviewCommentEditedAction {
25837 type Error = &'static str;
25838
25839 fn try_from(value: &str) -> Result<Self, &'static str> {
25840 value.parse()
25841 }
25842}
25843impl std::convert::TryFrom<&String> for PullRequestReviewCommentEditedAction {
25844 type Error = &'static str;
25845
25846 fn try_from(value: &String) -> Result<Self, &'static str> {
25847 value.parse()
25848 }
25849}
25850impl std::convert::TryFrom<String> for PullRequestReviewCommentEditedAction {
25851 type Error = &'static str;
25852
25853 fn try_from(value: String) -> Result<Self, &'static str> {
25854 value.parse()
25855 }
25856}
25857#[derive(Clone, Debug, Deserialize, Serialize)]
25859#[serde(deny_unknown_fields)]
25860pub struct PullRequestReviewCommentEditedChanges {
25861 #[serde(default, skip_serializing_if = "Option::is_none")]
25862 pub body: Option<PullRequestReviewCommentEditedChangesBody>,
25863}
25864impl From<&PullRequestReviewCommentEditedChanges> for PullRequestReviewCommentEditedChanges {
25865 fn from(value: &PullRequestReviewCommentEditedChanges) -> Self {
25866 value.clone()
25867 }
25868}
25869#[derive(Clone, Debug, Deserialize, Serialize)]
25870#[serde(deny_unknown_fields)]
25871pub struct PullRequestReviewCommentEditedChangesBody {
25872 pub from: String,
25874}
25875impl From<&PullRequestReviewCommentEditedChangesBody>
25876 for PullRequestReviewCommentEditedChangesBody
25877{
25878 fn from(value: &PullRequestReviewCommentEditedChangesBody) -> Self {
25879 value.clone()
25880 }
25881}
25882#[derive(Clone, Debug, Deserialize, Serialize)]
25883#[serde(deny_unknown_fields)]
25884pub struct PullRequestReviewCommentEditedPullRequest {
25885 pub active_lock_reason: Option<PullRequestReviewCommentEditedPullRequestActiveLockReason>,
25886 pub assignee: Option<User>,
25887 pub assignees: Vec<User>,
25888 pub author_association: AuthorAssociation,
25889 #[serde(default, skip_serializing_if = "Option::is_none")]
25890 pub auto_merge: Option<AutoMerge>,
25891 pub base: PullRequestReviewCommentEditedPullRequestBase,
25892 pub body: Option<String>,
25893 pub closed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
25894 pub comments_url: String,
25895 pub commits_url: String,
25896 pub created_at: chrono::DateTime<chrono::offset::Utc>,
25897 pub diff_url: String,
25898 #[serde(default, skip_serializing_if = "Option::is_none")]
25899 pub draft: Option<bool>,
25900 pub head: PullRequestReviewCommentEditedPullRequestHead,
25901 pub html_url: String,
25902 pub id: i64,
25903 pub issue_url: String,
25904 pub labels: Vec<Label>,
25905 #[serde(rename = "_links")]
25906 pub links: PullRequestReviewCommentEditedPullRequestLinks,
25907 pub locked: bool,
25908 pub merge_commit_sha: Option<String>,
25909 pub merged_at: Option<chrono::DateTime<chrono::offset::Utc>>,
25910 pub milestone: Option<Milestone>,
25911 pub node_id: String,
25912 pub number: i64,
25913 pub patch_url: String,
25914 pub requested_reviewers: Vec<PullRequestReviewCommentEditedPullRequestRequestedReviewersItem>,
25915 pub requested_teams: Vec<Team>,
25916 pub review_comment_url: String,
25917 pub review_comments_url: String,
25918 pub state: PullRequestReviewCommentEditedPullRequestState,
25919 pub statuses_url: String,
25920 pub title: String,
25921 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
25922 pub url: String,
25923 pub user: User,
25924}
25925impl From<&PullRequestReviewCommentEditedPullRequest>
25926 for PullRequestReviewCommentEditedPullRequest
25927{
25928 fn from(value: &PullRequestReviewCommentEditedPullRequest) -> Self {
25929 value.clone()
25930 }
25931}
25932#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
25933pub enum PullRequestReviewCommentEditedPullRequestActiveLockReason {
25934 #[serde(rename = "resolved")]
25935 Resolved,
25936 #[serde(rename = "off-topic")]
25937 OffTopic,
25938 #[serde(rename = "too heated")]
25939 TooHeated,
25940 #[serde(rename = "spam")]
25941 Spam,
25942}
25943impl From<&PullRequestReviewCommentEditedPullRequestActiveLockReason>
25944 for PullRequestReviewCommentEditedPullRequestActiveLockReason
25945{
25946 fn from(value: &PullRequestReviewCommentEditedPullRequestActiveLockReason) -> Self {
25947 value.clone()
25948 }
25949}
25950impl ToString for PullRequestReviewCommentEditedPullRequestActiveLockReason {
25951 fn to_string(&self) -> String {
25952 match *self {
25953 Self::Resolved => "resolved".to_string(),
25954 Self::OffTopic => "off-topic".to_string(),
25955 Self::TooHeated => "too heated".to_string(),
25956 Self::Spam => "spam".to_string(),
25957 }
25958 }
25959}
25960impl std::str::FromStr for PullRequestReviewCommentEditedPullRequestActiveLockReason {
25961 type Err = &'static str;
25962
25963 fn from_str(value: &str) -> Result<Self, &'static str> {
25964 match value {
25965 "resolved" => Ok(Self::Resolved),
25966 "off-topic" => Ok(Self::OffTopic),
25967 "too heated" => Ok(Self::TooHeated),
25968 "spam" => Ok(Self::Spam),
25969 _ => Err("invalid value"),
25970 }
25971 }
25972}
25973impl std::convert::TryFrom<&str> for PullRequestReviewCommentEditedPullRequestActiveLockReason {
25974 type Error = &'static str;
25975
25976 fn try_from(value: &str) -> Result<Self, &'static str> {
25977 value.parse()
25978 }
25979}
25980impl std::convert::TryFrom<&String> for PullRequestReviewCommentEditedPullRequestActiveLockReason {
25981 type Error = &'static str;
25982
25983 fn try_from(value: &String) -> Result<Self, &'static str> {
25984 value.parse()
25985 }
25986}
25987impl std::convert::TryFrom<String> for PullRequestReviewCommentEditedPullRequestActiveLockReason {
25988 type Error = &'static str;
25989
25990 fn try_from(value: String) -> Result<Self, &'static str> {
25991 value.parse()
25992 }
25993}
25994#[derive(Clone, Debug, Deserialize, Serialize)]
25995#[serde(deny_unknown_fields)]
25996pub struct PullRequestReviewCommentEditedPullRequestBase {
25997 pub label: String,
25998 #[serde(rename = "ref")]
25999 pub ref_: String,
26000 pub repo: Repository,
26001 pub sha: String,
26002 pub user: User,
26003}
26004impl From<&PullRequestReviewCommentEditedPullRequestBase>
26005 for PullRequestReviewCommentEditedPullRequestBase
26006{
26007 fn from(value: &PullRequestReviewCommentEditedPullRequestBase) -> Self {
26008 value.clone()
26009 }
26010}
26011#[derive(Clone, Debug, Deserialize, Serialize)]
26012#[serde(deny_unknown_fields)]
26013pub struct PullRequestReviewCommentEditedPullRequestHead {
26014 pub label: String,
26015 #[serde(rename = "ref")]
26016 pub ref_: String,
26017 pub repo: Repository,
26018 pub sha: String,
26019 pub user: User,
26020}
26021impl From<&PullRequestReviewCommentEditedPullRequestHead>
26022 for PullRequestReviewCommentEditedPullRequestHead
26023{
26024 fn from(value: &PullRequestReviewCommentEditedPullRequestHead) -> Self {
26025 value.clone()
26026 }
26027}
26028#[derive(Clone, Debug, Deserialize, Serialize)]
26029#[serde(deny_unknown_fields)]
26030pub struct PullRequestReviewCommentEditedPullRequestLinks {
26031 pub comments: Link,
26032 pub commits: Link,
26033 pub html: Link,
26034 pub issue: Link,
26035 pub review_comment: Link,
26036 pub review_comments: Link,
26037 #[serde(rename = "self")]
26038 pub self_: Link,
26039 pub statuses: Link,
26040}
26041impl From<&PullRequestReviewCommentEditedPullRequestLinks>
26042 for PullRequestReviewCommentEditedPullRequestLinks
26043{
26044 fn from(value: &PullRequestReviewCommentEditedPullRequestLinks) -> Self {
26045 value.clone()
26046 }
26047}
26048#[derive(Clone, Debug, Deserialize, Serialize)]
26049#[serde(untagged)]
26050pub enum PullRequestReviewCommentEditedPullRequestRequestedReviewersItem {
26051 User(User),
26052 Team(Team),
26053}
26054impl From<&PullRequestReviewCommentEditedPullRequestRequestedReviewersItem>
26055 for PullRequestReviewCommentEditedPullRequestRequestedReviewersItem
26056{
26057 fn from(value: &PullRequestReviewCommentEditedPullRequestRequestedReviewersItem) -> Self {
26058 value.clone()
26059 }
26060}
26061impl From<User> for PullRequestReviewCommentEditedPullRequestRequestedReviewersItem {
26062 fn from(value: User) -> Self {
26063 Self::User(value)
26064 }
26065}
26066impl From<Team> for PullRequestReviewCommentEditedPullRequestRequestedReviewersItem {
26067 fn from(value: Team) -> Self {
26068 Self::Team(value)
26069 }
26070}
26071#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26072pub enum PullRequestReviewCommentEditedPullRequestState {
26073 #[serde(rename = "open")]
26074 Open,
26075 #[serde(rename = "closed")]
26076 Closed,
26077}
26078impl From<&PullRequestReviewCommentEditedPullRequestState>
26079 for PullRequestReviewCommentEditedPullRequestState
26080{
26081 fn from(value: &PullRequestReviewCommentEditedPullRequestState) -> Self {
26082 value.clone()
26083 }
26084}
26085impl ToString for PullRequestReviewCommentEditedPullRequestState {
26086 fn to_string(&self) -> String {
26087 match *self {
26088 Self::Open => "open".to_string(),
26089 Self::Closed => "closed".to_string(),
26090 }
26091 }
26092}
26093impl std::str::FromStr for PullRequestReviewCommentEditedPullRequestState {
26094 type Err = &'static str;
26095
26096 fn from_str(value: &str) -> Result<Self, &'static str> {
26097 match value {
26098 "open" => Ok(Self::Open),
26099 "closed" => Ok(Self::Closed),
26100 _ => Err("invalid value"),
26101 }
26102 }
26103}
26104impl std::convert::TryFrom<&str> for PullRequestReviewCommentEditedPullRequestState {
26105 type Error = &'static str;
26106
26107 fn try_from(value: &str) -> Result<Self, &'static str> {
26108 value.parse()
26109 }
26110}
26111impl std::convert::TryFrom<&String> for PullRequestReviewCommentEditedPullRequestState {
26112 type Error = &'static str;
26113
26114 fn try_from(value: &String) -> Result<Self, &'static str> {
26115 value.parse()
26116 }
26117}
26118impl std::convert::TryFrom<String> for PullRequestReviewCommentEditedPullRequestState {
26119 type Error = &'static str;
26120
26121 fn try_from(value: String) -> Result<Self, &'static str> {
26122 value.parse()
26123 }
26124}
26125#[derive(Clone, Debug, Deserialize, Serialize)]
26126#[serde(untagged)]
26127pub enum PullRequestReviewCommentEvent {
26128 Created(PullRequestReviewCommentCreated),
26129 Deleted(PullRequestReviewCommentDeleted),
26130 Edited(PullRequestReviewCommentEdited),
26131}
26132impl From<&PullRequestReviewCommentEvent> for PullRequestReviewCommentEvent {
26133 fn from(value: &PullRequestReviewCommentEvent) -> Self {
26134 value.clone()
26135 }
26136}
26137impl From<PullRequestReviewCommentCreated> for PullRequestReviewCommentEvent {
26138 fn from(value: PullRequestReviewCommentCreated) -> Self {
26139 Self::Created(value)
26140 }
26141}
26142impl From<PullRequestReviewCommentDeleted> for PullRequestReviewCommentEvent {
26143 fn from(value: PullRequestReviewCommentDeleted) -> Self {
26144 Self::Deleted(value)
26145 }
26146}
26147impl From<PullRequestReviewCommentEdited> for PullRequestReviewCommentEvent {
26148 fn from(value: PullRequestReviewCommentEdited) -> Self {
26149 Self::Edited(value)
26150 }
26151}
26152#[derive(Clone, Debug, Deserialize, Serialize)]
26153#[serde(deny_unknown_fields)]
26154pub struct PullRequestReviewCommentLinks {
26155 pub html: Link,
26156 pub pull_request: Link,
26157 #[serde(rename = "self")]
26158 pub self_: Link,
26159}
26160impl From<&PullRequestReviewCommentLinks> for PullRequestReviewCommentLinks {
26161 fn from(value: &PullRequestReviewCommentLinks) -> Self {
26162 value.clone()
26163 }
26164}
26165#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26167pub enum PullRequestReviewCommentSide {
26168 #[serde(rename = "LEFT")]
26169 Left,
26170 #[serde(rename = "RIGHT")]
26171 Right,
26172}
26173impl From<&PullRequestReviewCommentSide> for PullRequestReviewCommentSide {
26174 fn from(value: &PullRequestReviewCommentSide) -> Self {
26175 value.clone()
26176 }
26177}
26178impl ToString for PullRequestReviewCommentSide {
26179 fn to_string(&self) -> String {
26180 match *self {
26181 Self::Left => "LEFT".to_string(),
26182 Self::Right => "RIGHT".to_string(),
26183 }
26184 }
26185}
26186impl std::str::FromStr for PullRequestReviewCommentSide {
26187 type Err = &'static str;
26188
26189 fn from_str(value: &str) -> Result<Self, &'static str> {
26190 match value {
26191 "LEFT" => Ok(Self::Left),
26192 "RIGHT" => Ok(Self::Right),
26193 _ => Err("invalid value"),
26194 }
26195 }
26196}
26197impl std::convert::TryFrom<&str> for PullRequestReviewCommentSide {
26198 type Error = &'static str;
26199
26200 fn try_from(value: &str) -> Result<Self, &'static str> {
26201 value.parse()
26202 }
26203}
26204impl std::convert::TryFrom<&String> for PullRequestReviewCommentSide {
26205 type Error = &'static str;
26206
26207 fn try_from(value: &String) -> Result<Self, &'static str> {
26208 value.parse()
26209 }
26210}
26211impl std::convert::TryFrom<String> for PullRequestReviewCommentSide {
26212 type Error = &'static str;
26213
26214 fn try_from(value: String) -> Result<Self, &'static str> {
26215 value.parse()
26216 }
26217}
26218#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26220pub enum PullRequestReviewCommentStartSide {
26221 #[serde(rename = "LEFT")]
26222 Left,
26223 #[serde(rename = "RIGHT")]
26224 Right,
26225}
26226impl From<&PullRequestReviewCommentStartSide> for PullRequestReviewCommentStartSide {
26227 fn from(value: &PullRequestReviewCommentStartSide) -> Self {
26228 value.clone()
26229 }
26230}
26231impl ToString for PullRequestReviewCommentStartSide {
26232 fn to_string(&self) -> String {
26233 match *self {
26234 Self::Left => "LEFT".to_string(),
26235 Self::Right => "RIGHT".to_string(),
26236 }
26237 }
26238}
26239impl std::str::FromStr for PullRequestReviewCommentStartSide {
26240 type Err = &'static str;
26241
26242 fn from_str(value: &str) -> Result<Self, &'static str> {
26243 match value {
26244 "LEFT" => Ok(Self::Left),
26245 "RIGHT" => Ok(Self::Right),
26246 _ => Err("invalid value"),
26247 }
26248 }
26249}
26250impl std::convert::TryFrom<&str> for PullRequestReviewCommentStartSide {
26251 type Error = &'static str;
26252
26253 fn try_from(value: &str) -> Result<Self, &'static str> {
26254 value.parse()
26255 }
26256}
26257impl std::convert::TryFrom<&String> for PullRequestReviewCommentStartSide {
26258 type Error = &'static str;
26259
26260 fn try_from(value: &String) -> Result<Self, &'static str> {
26261 value.parse()
26262 }
26263}
26264impl std::convert::TryFrom<String> for PullRequestReviewCommentStartSide {
26265 type Error = &'static str;
26266
26267 fn try_from(value: String) -> Result<Self, &'static str> {
26268 value.parse()
26269 }
26270}
26271#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26273pub enum PullRequestReviewCommentSubjectType {
26274 #[serde(rename = "line")]
26275 Line,
26276 #[serde(rename = "file")]
26277 File,
26278}
26279impl From<&PullRequestReviewCommentSubjectType> for PullRequestReviewCommentSubjectType {
26280 fn from(value: &PullRequestReviewCommentSubjectType) -> Self {
26281 value.clone()
26282 }
26283}
26284impl ToString for PullRequestReviewCommentSubjectType {
26285 fn to_string(&self) -> String {
26286 match *self {
26287 Self::Line => "line".to_string(),
26288 Self::File => "file".to_string(),
26289 }
26290 }
26291}
26292impl std::str::FromStr for PullRequestReviewCommentSubjectType {
26293 type Err = &'static str;
26294
26295 fn from_str(value: &str) -> Result<Self, &'static str> {
26296 match value {
26297 "line" => Ok(Self::Line),
26298 "file" => Ok(Self::File),
26299 _ => Err("invalid value"),
26300 }
26301 }
26302}
26303impl std::convert::TryFrom<&str> for PullRequestReviewCommentSubjectType {
26304 type Error = &'static str;
26305
26306 fn try_from(value: &str) -> Result<Self, &'static str> {
26307 value.parse()
26308 }
26309}
26310impl std::convert::TryFrom<&String> for PullRequestReviewCommentSubjectType {
26311 type Error = &'static str;
26312
26313 fn try_from(value: &String) -> Result<Self, &'static str> {
26314 value.parse()
26315 }
26316}
26317impl std::convert::TryFrom<String> for PullRequestReviewCommentSubjectType {
26318 type Error = &'static str;
26319
26320 fn try_from(value: String) -> Result<Self, &'static str> {
26321 value.parse()
26322 }
26323}
26324#[derive(Clone, Debug, Deserialize, Serialize)]
26325#[serde(deny_unknown_fields)]
26326pub struct PullRequestReviewDismissed {
26327 pub action: PullRequestReviewDismissedAction,
26328 #[serde(default, skip_serializing_if = "Option::is_none")]
26329 pub installation: Option<InstallationLite>,
26330 #[serde(default, skip_serializing_if = "Option::is_none")]
26331 pub organization: Option<Organization>,
26332 pub pull_request: SimplePullRequest,
26333 pub repository: Repository,
26334 pub review: PullRequestReview,
26335 pub sender: User,
26336}
26337impl From<&PullRequestReviewDismissed> for PullRequestReviewDismissed {
26338 fn from(value: &PullRequestReviewDismissed) -> Self {
26339 value.clone()
26340 }
26341}
26342#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26343pub enum PullRequestReviewDismissedAction {
26344 #[serde(rename = "dismissed")]
26345 Dismissed,
26346}
26347impl From<&PullRequestReviewDismissedAction> for PullRequestReviewDismissedAction {
26348 fn from(value: &PullRequestReviewDismissedAction) -> Self {
26349 value.clone()
26350 }
26351}
26352impl ToString for PullRequestReviewDismissedAction {
26353 fn to_string(&self) -> String {
26354 match *self {
26355 Self::Dismissed => "dismissed".to_string(),
26356 }
26357 }
26358}
26359impl std::str::FromStr for PullRequestReviewDismissedAction {
26360 type Err = &'static str;
26361
26362 fn from_str(value: &str) -> Result<Self, &'static str> {
26363 match value {
26364 "dismissed" => Ok(Self::Dismissed),
26365 _ => Err("invalid value"),
26366 }
26367 }
26368}
26369impl std::convert::TryFrom<&str> for PullRequestReviewDismissedAction {
26370 type Error = &'static str;
26371
26372 fn try_from(value: &str) -> Result<Self, &'static str> {
26373 value.parse()
26374 }
26375}
26376impl std::convert::TryFrom<&String> for PullRequestReviewDismissedAction {
26377 type Error = &'static str;
26378
26379 fn try_from(value: &String) -> Result<Self, &'static str> {
26380 value.parse()
26381 }
26382}
26383impl std::convert::TryFrom<String> for PullRequestReviewDismissedAction {
26384 type Error = &'static str;
26385
26386 fn try_from(value: String) -> Result<Self, &'static str> {
26387 value.parse()
26388 }
26389}
26390#[derive(Clone, Debug, Deserialize, Serialize)]
26391#[serde(deny_unknown_fields)]
26392pub struct PullRequestReviewEdited {
26393 pub action: PullRequestReviewEditedAction,
26394 pub changes: PullRequestReviewEditedChanges,
26395 #[serde(default, skip_serializing_if = "Option::is_none")]
26396 pub installation: Option<InstallationLite>,
26397 #[serde(default, skip_serializing_if = "Option::is_none")]
26398 pub organization: Option<Organization>,
26399 pub pull_request: SimplePullRequest,
26400 pub repository: Repository,
26401 pub review: PullRequestReview,
26402 pub sender: User,
26403}
26404impl From<&PullRequestReviewEdited> for PullRequestReviewEdited {
26405 fn from(value: &PullRequestReviewEdited) -> Self {
26406 value.clone()
26407 }
26408}
26409#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26410pub enum PullRequestReviewEditedAction {
26411 #[serde(rename = "edited")]
26412 Edited,
26413}
26414impl From<&PullRequestReviewEditedAction> for PullRequestReviewEditedAction {
26415 fn from(value: &PullRequestReviewEditedAction) -> Self {
26416 value.clone()
26417 }
26418}
26419impl ToString for PullRequestReviewEditedAction {
26420 fn to_string(&self) -> String {
26421 match *self {
26422 Self::Edited => "edited".to_string(),
26423 }
26424 }
26425}
26426impl std::str::FromStr for PullRequestReviewEditedAction {
26427 type Err = &'static str;
26428
26429 fn from_str(value: &str) -> Result<Self, &'static str> {
26430 match value {
26431 "edited" => Ok(Self::Edited),
26432 _ => Err("invalid value"),
26433 }
26434 }
26435}
26436impl std::convert::TryFrom<&str> for PullRequestReviewEditedAction {
26437 type Error = &'static str;
26438
26439 fn try_from(value: &str) -> Result<Self, &'static str> {
26440 value.parse()
26441 }
26442}
26443impl std::convert::TryFrom<&String> for PullRequestReviewEditedAction {
26444 type Error = &'static str;
26445
26446 fn try_from(value: &String) -> Result<Self, &'static str> {
26447 value.parse()
26448 }
26449}
26450impl std::convert::TryFrom<String> for PullRequestReviewEditedAction {
26451 type Error = &'static str;
26452
26453 fn try_from(value: String) -> Result<Self, &'static str> {
26454 value.parse()
26455 }
26456}
26457#[derive(Clone, Debug, Deserialize, Serialize)]
26458#[serde(deny_unknown_fields)]
26459pub struct PullRequestReviewEditedChanges {
26460 #[serde(default, skip_serializing_if = "Option::is_none")]
26461 pub body: Option<PullRequestReviewEditedChangesBody>,
26462}
26463impl From<&PullRequestReviewEditedChanges> for PullRequestReviewEditedChanges {
26464 fn from(value: &PullRequestReviewEditedChanges) -> Self {
26465 value.clone()
26466 }
26467}
26468#[derive(Clone, Debug, Deserialize, Serialize)]
26469#[serde(deny_unknown_fields)]
26470pub struct PullRequestReviewEditedChangesBody {
26471 pub from: String,
26473}
26474impl From<&PullRequestReviewEditedChangesBody> for PullRequestReviewEditedChangesBody {
26475 fn from(value: &PullRequestReviewEditedChangesBody) -> Self {
26476 value.clone()
26477 }
26478}
26479#[derive(Clone, Debug, Deserialize, Serialize)]
26480#[serde(untagged)]
26481pub enum PullRequestReviewEvent {
26482 Dismissed(PullRequestReviewDismissed),
26483 Edited(PullRequestReviewEdited),
26484 Submitted(PullRequestReviewSubmitted),
26485}
26486impl From<&PullRequestReviewEvent> for PullRequestReviewEvent {
26487 fn from(value: &PullRequestReviewEvent) -> Self {
26488 value.clone()
26489 }
26490}
26491impl From<PullRequestReviewDismissed> for PullRequestReviewEvent {
26492 fn from(value: PullRequestReviewDismissed) -> Self {
26493 Self::Dismissed(value)
26494 }
26495}
26496impl From<PullRequestReviewEdited> for PullRequestReviewEvent {
26497 fn from(value: PullRequestReviewEdited) -> Self {
26498 Self::Edited(value)
26499 }
26500}
26501impl From<PullRequestReviewSubmitted> for PullRequestReviewEvent {
26502 fn from(value: PullRequestReviewSubmitted) -> Self {
26503 Self::Submitted(value)
26504 }
26505}
26506#[derive(Clone, Debug, Deserialize, Serialize)]
26507#[serde(deny_unknown_fields)]
26508pub struct PullRequestReviewLinks {
26509 pub html: Link,
26510 pub pull_request: Link,
26511}
26512impl From<&PullRequestReviewLinks> for PullRequestReviewLinks {
26513 fn from(value: &PullRequestReviewLinks) -> Self {
26514 value.clone()
26515 }
26516}
26517#[derive(Clone, Debug, Deserialize, Serialize)]
26518#[serde(untagged, deny_unknown_fields)]
26519pub enum PullRequestReviewRequestRemoved {
26520 Variant0 {
26521 action: PullRequestReviewRequestRemovedVariant0Action,
26522 #[serde(default, skip_serializing_if = "Option::is_none")]
26523 installation: Option<InstallationLite>,
26524 number: i64,
26526 #[serde(default, skip_serializing_if = "Option::is_none")]
26527 organization: Option<Organization>,
26528 pull_request: PullRequest,
26529 repository: Repository,
26530 requested_reviewer: User,
26531 sender: User,
26532 },
26533 Variant1 {
26534 action: PullRequestReviewRequestRemovedVariant1Action,
26535 #[serde(default, skip_serializing_if = "Option::is_none")]
26536 installation: Option<InstallationLite>,
26537 number: i64,
26539 #[serde(default, skip_serializing_if = "Option::is_none")]
26540 organization: Option<Organization>,
26541 pull_request: PullRequest,
26542 repository: Repository,
26543 requested_team: Team,
26544 sender: User,
26545 },
26546}
26547impl From<&PullRequestReviewRequestRemoved> for PullRequestReviewRequestRemoved {
26548 fn from(value: &PullRequestReviewRequestRemoved) -> Self {
26549 value.clone()
26550 }
26551}
26552#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26553pub enum PullRequestReviewRequestRemovedVariant0Action {
26554 #[serde(rename = "review_request_removed")]
26555 ReviewRequestRemoved,
26556}
26557impl From<&PullRequestReviewRequestRemovedVariant0Action>
26558 for PullRequestReviewRequestRemovedVariant0Action
26559{
26560 fn from(value: &PullRequestReviewRequestRemovedVariant0Action) -> Self {
26561 value.clone()
26562 }
26563}
26564impl ToString for PullRequestReviewRequestRemovedVariant0Action {
26565 fn to_string(&self) -> String {
26566 match *self {
26567 Self::ReviewRequestRemoved => "review_request_removed".to_string(),
26568 }
26569 }
26570}
26571impl std::str::FromStr for PullRequestReviewRequestRemovedVariant0Action {
26572 type Err = &'static str;
26573
26574 fn from_str(value: &str) -> Result<Self, &'static str> {
26575 match value {
26576 "review_request_removed" => Ok(Self::ReviewRequestRemoved),
26577 _ => Err("invalid value"),
26578 }
26579 }
26580}
26581impl std::convert::TryFrom<&str> for PullRequestReviewRequestRemovedVariant0Action {
26582 type Error = &'static str;
26583
26584 fn try_from(value: &str) -> Result<Self, &'static str> {
26585 value.parse()
26586 }
26587}
26588impl std::convert::TryFrom<&String> for PullRequestReviewRequestRemovedVariant0Action {
26589 type Error = &'static str;
26590
26591 fn try_from(value: &String) -> Result<Self, &'static str> {
26592 value.parse()
26593 }
26594}
26595impl std::convert::TryFrom<String> for PullRequestReviewRequestRemovedVariant0Action {
26596 type Error = &'static str;
26597
26598 fn try_from(value: String) -> Result<Self, &'static str> {
26599 value.parse()
26600 }
26601}
26602#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26603pub enum PullRequestReviewRequestRemovedVariant1Action {
26604 #[serde(rename = "review_request_removed")]
26605 ReviewRequestRemoved,
26606}
26607impl From<&PullRequestReviewRequestRemovedVariant1Action>
26608 for PullRequestReviewRequestRemovedVariant1Action
26609{
26610 fn from(value: &PullRequestReviewRequestRemovedVariant1Action) -> Self {
26611 value.clone()
26612 }
26613}
26614impl ToString for PullRequestReviewRequestRemovedVariant1Action {
26615 fn to_string(&self) -> String {
26616 match *self {
26617 Self::ReviewRequestRemoved => "review_request_removed".to_string(),
26618 }
26619 }
26620}
26621impl std::str::FromStr for PullRequestReviewRequestRemovedVariant1Action {
26622 type Err = &'static str;
26623
26624 fn from_str(value: &str) -> Result<Self, &'static str> {
26625 match value {
26626 "review_request_removed" => Ok(Self::ReviewRequestRemoved),
26627 _ => Err("invalid value"),
26628 }
26629 }
26630}
26631impl std::convert::TryFrom<&str> for PullRequestReviewRequestRemovedVariant1Action {
26632 type Error = &'static str;
26633
26634 fn try_from(value: &str) -> Result<Self, &'static str> {
26635 value.parse()
26636 }
26637}
26638impl std::convert::TryFrom<&String> for PullRequestReviewRequestRemovedVariant1Action {
26639 type Error = &'static str;
26640
26641 fn try_from(value: &String) -> Result<Self, &'static str> {
26642 value.parse()
26643 }
26644}
26645impl std::convert::TryFrom<String> for PullRequestReviewRequestRemovedVariant1Action {
26646 type Error = &'static str;
26647
26648 fn try_from(value: String) -> Result<Self, &'static str> {
26649 value.parse()
26650 }
26651}
26652#[derive(Clone, Debug, Deserialize, Serialize)]
26653#[serde(untagged, deny_unknown_fields)]
26654pub enum PullRequestReviewRequested {
26655 Variant0 {
26656 action: PullRequestReviewRequestedVariant0Action,
26657 #[serde(default, skip_serializing_if = "Option::is_none")]
26658 installation: Option<InstallationLite>,
26659 number: i64,
26661 #[serde(default, skip_serializing_if = "Option::is_none")]
26662 organization: Option<Organization>,
26663 pull_request: PullRequest,
26664 repository: Repository,
26665 requested_reviewer: User,
26666 sender: User,
26667 },
26668 Variant1 {
26669 action: PullRequestReviewRequestedVariant1Action,
26670 #[serde(default, skip_serializing_if = "Option::is_none")]
26671 installation: Option<InstallationLite>,
26672 number: i64,
26674 #[serde(default, skip_serializing_if = "Option::is_none")]
26675 organization: Option<Organization>,
26676 pull_request: PullRequest,
26677 repository: Repository,
26678 requested_team: Team,
26679 sender: User,
26680 },
26681}
26682impl From<&PullRequestReviewRequested> for PullRequestReviewRequested {
26683 fn from(value: &PullRequestReviewRequested) -> Self {
26684 value.clone()
26685 }
26686}
26687#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26688pub enum PullRequestReviewRequestedVariant0Action {
26689 #[serde(rename = "review_requested")]
26690 ReviewRequested,
26691}
26692impl From<&PullRequestReviewRequestedVariant0Action> for PullRequestReviewRequestedVariant0Action {
26693 fn from(value: &PullRequestReviewRequestedVariant0Action) -> Self {
26694 value.clone()
26695 }
26696}
26697impl ToString for PullRequestReviewRequestedVariant0Action {
26698 fn to_string(&self) -> String {
26699 match *self {
26700 Self::ReviewRequested => "review_requested".to_string(),
26701 }
26702 }
26703}
26704impl std::str::FromStr for PullRequestReviewRequestedVariant0Action {
26705 type Err = &'static str;
26706
26707 fn from_str(value: &str) -> Result<Self, &'static str> {
26708 match value {
26709 "review_requested" => Ok(Self::ReviewRequested),
26710 _ => Err("invalid value"),
26711 }
26712 }
26713}
26714impl std::convert::TryFrom<&str> for PullRequestReviewRequestedVariant0Action {
26715 type Error = &'static str;
26716
26717 fn try_from(value: &str) -> Result<Self, &'static str> {
26718 value.parse()
26719 }
26720}
26721impl std::convert::TryFrom<&String> for PullRequestReviewRequestedVariant0Action {
26722 type Error = &'static str;
26723
26724 fn try_from(value: &String) -> Result<Self, &'static str> {
26725 value.parse()
26726 }
26727}
26728impl std::convert::TryFrom<String> for PullRequestReviewRequestedVariant0Action {
26729 type Error = &'static str;
26730
26731 fn try_from(value: String) -> Result<Self, &'static str> {
26732 value.parse()
26733 }
26734}
26735#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26736pub enum PullRequestReviewRequestedVariant1Action {
26737 #[serde(rename = "review_requested")]
26738 ReviewRequested,
26739}
26740impl From<&PullRequestReviewRequestedVariant1Action> for PullRequestReviewRequestedVariant1Action {
26741 fn from(value: &PullRequestReviewRequestedVariant1Action) -> Self {
26742 value.clone()
26743 }
26744}
26745impl ToString for PullRequestReviewRequestedVariant1Action {
26746 fn to_string(&self) -> String {
26747 match *self {
26748 Self::ReviewRequested => "review_requested".to_string(),
26749 }
26750 }
26751}
26752impl std::str::FromStr for PullRequestReviewRequestedVariant1Action {
26753 type Err = &'static str;
26754
26755 fn from_str(value: &str) -> Result<Self, &'static str> {
26756 match value {
26757 "review_requested" => Ok(Self::ReviewRequested),
26758 _ => Err("invalid value"),
26759 }
26760 }
26761}
26762impl std::convert::TryFrom<&str> for PullRequestReviewRequestedVariant1Action {
26763 type Error = &'static str;
26764
26765 fn try_from(value: &str) -> Result<Self, &'static str> {
26766 value.parse()
26767 }
26768}
26769impl std::convert::TryFrom<&String> for PullRequestReviewRequestedVariant1Action {
26770 type Error = &'static str;
26771
26772 fn try_from(value: &String) -> Result<Self, &'static str> {
26773 value.parse()
26774 }
26775}
26776impl std::convert::TryFrom<String> for PullRequestReviewRequestedVariant1Action {
26777 type Error = &'static str;
26778
26779 fn try_from(value: String) -> Result<Self, &'static str> {
26780 value.parse()
26781 }
26782}
26783#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26784pub enum PullRequestReviewState {
26785 #[serde(rename = "commented")]
26786 Commented,
26787 #[serde(rename = "changes_requested")]
26788 ChangesRequested,
26789 #[serde(rename = "approved")]
26790 Approved,
26791 #[serde(rename = "dismissed")]
26792 Dismissed,
26793}
26794impl From<&PullRequestReviewState> for PullRequestReviewState {
26795 fn from(value: &PullRequestReviewState) -> Self {
26796 value.clone()
26797 }
26798}
26799impl ToString for PullRequestReviewState {
26800 fn to_string(&self) -> String {
26801 match *self {
26802 Self::Commented => "commented".to_string(),
26803 Self::ChangesRequested => "changes_requested".to_string(),
26804 Self::Approved => "approved".to_string(),
26805 Self::Dismissed => "dismissed".to_string(),
26806 }
26807 }
26808}
26809impl std::str::FromStr for PullRequestReviewState {
26810 type Err = &'static str;
26811
26812 fn from_str(value: &str) -> Result<Self, &'static str> {
26813 match value {
26814 "commented" => Ok(Self::Commented),
26815 "changes_requested" => Ok(Self::ChangesRequested),
26816 "approved" => Ok(Self::Approved),
26817 "dismissed" => Ok(Self::Dismissed),
26818 _ => Err("invalid value"),
26819 }
26820 }
26821}
26822impl std::convert::TryFrom<&str> for PullRequestReviewState {
26823 type Error = &'static str;
26824
26825 fn try_from(value: &str) -> Result<Self, &'static str> {
26826 value.parse()
26827 }
26828}
26829impl std::convert::TryFrom<&String> for PullRequestReviewState {
26830 type Error = &'static str;
26831
26832 fn try_from(value: &String) -> Result<Self, &'static str> {
26833 value.parse()
26834 }
26835}
26836impl std::convert::TryFrom<String> for PullRequestReviewState {
26837 type Error = &'static str;
26838
26839 fn try_from(value: String) -> Result<Self, &'static str> {
26840 value.parse()
26841 }
26842}
26843#[derive(Clone, Debug, Deserialize, Serialize)]
26844#[serde(deny_unknown_fields)]
26845pub struct PullRequestReviewSubmitted {
26846 pub action: PullRequestReviewSubmittedAction,
26847 #[serde(default, skip_serializing_if = "Option::is_none")]
26848 pub installation: Option<InstallationLite>,
26849 #[serde(default, skip_serializing_if = "Option::is_none")]
26850 pub organization: Option<Organization>,
26851 pub pull_request: SimplePullRequest,
26852 pub repository: Repository,
26853 pub review: PullRequestReview,
26854 pub sender: User,
26855}
26856impl From<&PullRequestReviewSubmitted> for PullRequestReviewSubmitted {
26857 fn from(value: &PullRequestReviewSubmitted) -> Self {
26858 value.clone()
26859 }
26860}
26861#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26862pub enum PullRequestReviewSubmittedAction {
26863 #[serde(rename = "submitted")]
26864 Submitted,
26865}
26866impl From<&PullRequestReviewSubmittedAction> for PullRequestReviewSubmittedAction {
26867 fn from(value: &PullRequestReviewSubmittedAction) -> Self {
26868 value.clone()
26869 }
26870}
26871impl ToString for PullRequestReviewSubmittedAction {
26872 fn to_string(&self) -> String {
26873 match *self {
26874 Self::Submitted => "submitted".to_string(),
26875 }
26876 }
26877}
26878impl std::str::FromStr for PullRequestReviewSubmittedAction {
26879 type Err = &'static str;
26880
26881 fn from_str(value: &str) -> Result<Self, &'static str> {
26882 match value {
26883 "submitted" => Ok(Self::Submitted),
26884 _ => Err("invalid value"),
26885 }
26886 }
26887}
26888impl std::convert::TryFrom<&str> for PullRequestReviewSubmittedAction {
26889 type Error = &'static str;
26890
26891 fn try_from(value: &str) -> Result<Self, &'static str> {
26892 value.parse()
26893 }
26894}
26895impl std::convert::TryFrom<&String> for PullRequestReviewSubmittedAction {
26896 type Error = &'static str;
26897
26898 fn try_from(value: &String) -> Result<Self, &'static str> {
26899 value.parse()
26900 }
26901}
26902impl std::convert::TryFrom<String> for PullRequestReviewSubmittedAction {
26903 type Error = &'static str;
26904
26905 fn try_from(value: String) -> Result<Self, &'static str> {
26906 value.parse()
26907 }
26908}
26909#[derive(Clone, Debug, Deserialize, Serialize)]
26910#[serde(untagged)]
26911pub enum PullRequestReviewThreadEvent {
26912 Resolved(PullRequestReviewThreadResolved),
26913 Unresolved(PullRequestReviewThreadUnresolved),
26914}
26915impl From<&PullRequestReviewThreadEvent> for PullRequestReviewThreadEvent {
26916 fn from(value: &PullRequestReviewThreadEvent) -> Self {
26917 value.clone()
26918 }
26919}
26920impl From<PullRequestReviewThreadResolved> for PullRequestReviewThreadEvent {
26921 fn from(value: PullRequestReviewThreadResolved) -> Self {
26922 Self::Resolved(value)
26923 }
26924}
26925impl From<PullRequestReviewThreadUnresolved> for PullRequestReviewThreadEvent {
26926 fn from(value: PullRequestReviewThreadUnresolved) -> Self {
26927 Self::Unresolved(value)
26928 }
26929}
26930#[derive(Clone, Debug, Deserialize, Serialize)]
26931#[serde(deny_unknown_fields)]
26932pub struct PullRequestReviewThreadResolved {
26933 pub action: PullRequestReviewThreadResolvedAction,
26934 #[serde(default, skip_serializing_if = "Option::is_none")]
26935 pub installation: Option<InstallationLite>,
26936 #[serde(default, skip_serializing_if = "Option::is_none")]
26937 pub organization: Option<Organization>,
26938 pub pull_request: SimplePullRequest,
26939 pub repository: Repository,
26940 pub sender: User,
26941 pub thread: PullRequestReviewThreadResolvedThread,
26942}
26943impl From<&PullRequestReviewThreadResolved> for PullRequestReviewThreadResolved {
26944 fn from(value: &PullRequestReviewThreadResolved) -> Self {
26945 value.clone()
26946 }
26947}
26948#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
26949pub enum PullRequestReviewThreadResolvedAction {
26950 #[serde(rename = "resolved")]
26951 Resolved,
26952}
26953impl From<&PullRequestReviewThreadResolvedAction> for PullRequestReviewThreadResolvedAction {
26954 fn from(value: &PullRequestReviewThreadResolvedAction) -> Self {
26955 value.clone()
26956 }
26957}
26958impl ToString for PullRequestReviewThreadResolvedAction {
26959 fn to_string(&self) -> String {
26960 match *self {
26961 Self::Resolved => "resolved".to_string(),
26962 }
26963 }
26964}
26965impl std::str::FromStr for PullRequestReviewThreadResolvedAction {
26966 type Err = &'static str;
26967
26968 fn from_str(value: &str) -> Result<Self, &'static str> {
26969 match value {
26970 "resolved" => Ok(Self::Resolved),
26971 _ => Err("invalid value"),
26972 }
26973 }
26974}
26975impl std::convert::TryFrom<&str> for PullRequestReviewThreadResolvedAction {
26976 type Error = &'static str;
26977
26978 fn try_from(value: &str) -> Result<Self, &'static str> {
26979 value.parse()
26980 }
26981}
26982impl std::convert::TryFrom<&String> for PullRequestReviewThreadResolvedAction {
26983 type Error = &'static str;
26984
26985 fn try_from(value: &String) -> Result<Self, &'static str> {
26986 value.parse()
26987 }
26988}
26989impl std::convert::TryFrom<String> for PullRequestReviewThreadResolvedAction {
26990 type Error = &'static str;
26991
26992 fn try_from(value: String) -> Result<Self, &'static str> {
26993 value.parse()
26994 }
26995}
26996#[derive(Clone, Debug, Deserialize, Serialize)]
26997#[serde(deny_unknown_fields)]
26998pub struct PullRequestReviewThreadResolvedThread {
26999 pub comments: Vec<PullRequestReviewComment>,
27000 pub node_id: String,
27001}
27002impl From<&PullRequestReviewThreadResolvedThread> for PullRequestReviewThreadResolvedThread {
27003 fn from(value: &PullRequestReviewThreadResolvedThread) -> Self {
27004 value.clone()
27005 }
27006}
27007#[derive(Clone, Debug, Deserialize, Serialize)]
27008#[serde(deny_unknown_fields)]
27009pub struct PullRequestReviewThreadUnresolved {
27010 pub action: PullRequestReviewThreadUnresolvedAction,
27011 #[serde(default, skip_serializing_if = "Option::is_none")]
27012 pub installation: Option<InstallationLite>,
27013 #[serde(default, skip_serializing_if = "Option::is_none")]
27014 pub organization: Option<Organization>,
27015 pub pull_request: SimplePullRequest,
27016 pub repository: Repository,
27017 pub sender: User,
27018 pub thread: PullRequestReviewThreadUnresolvedThread,
27019}
27020impl From<&PullRequestReviewThreadUnresolved> for PullRequestReviewThreadUnresolved {
27021 fn from(value: &PullRequestReviewThreadUnresolved) -> Self {
27022 value.clone()
27023 }
27024}
27025#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
27026pub enum PullRequestReviewThreadUnresolvedAction {
27027 #[serde(rename = "unresolved")]
27028 Unresolved,
27029}
27030impl From<&PullRequestReviewThreadUnresolvedAction> for PullRequestReviewThreadUnresolvedAction {
27031 fn from(value: &PullRequestReviewThreadUnresolvedAction) -> Self {
27032 value.clone()
27033 }
27034}
27035impl ToString for PullRequestReviewThreadUnresolvedAction {
27036 fn to_string(&self) -> String {
27037 match *self {
27038 Self::Unresolved => "unresolved".to_string(),
27039 }
27040 }
27041}
27042impl std::str::FromStr for PullRequestReviewThreadUnresolvedAction {
27043 type Err = &'static str;
27044
27045 fn from_str(value: &str) -> Result<Self, &'static str> {
27046 match value {
27047 "unresolved" => Ok(Self::Unresolved),
27048 _ => Err("invalid value"),
27049 }
27050 }
27051}
27052impl std::convert::TryFrom<&str> for PullRequestReviewThreadUnresolvedAction {
27053 type Error = &'static str;
27054
27055 fn try_from(value: &str) -> Result<Self, &'static str> {
27056 value.parse()
27057 }
27058}
27059impl std::convert::TryFrom<&String> for PullRequestReviewThreadUnresolvedAction {
27060 type Error = &'static str;
27061
27062 fn try_from(value: &String) -> Result<Self, &'static str> {
27063 value.parse()
27064 }
27065}
27066impl std::convert::TryFrom<String> for PullRequestReviewThreadUnresolvedAction {
27067 type Error = &'static str;
27068
27069 fn try_from(value: String) -> Result<Self, &'static str> {
27070 value.parse()
27071 }
27072}
27073#[derive(Clone, Debug, Deserialize, Serialize)]
27074#[serde(deny_unknown_fields)]
27075pub struct PullRequestReviewThreadUnresolvedThread {
27076 pub comments: Vec<PullRequestReviewComment>,
27077 pub node_id: String,
27078}
27079impl From<&PullRequestReviewThreadUnresolvedThread> for PullRequestReviewThreadUnresolvedThread {
27080 fn from(value: &PullRequestReviewThreadUnresolvedThread) -> Self {
27081 value.clone()
27082 }
27083}
27084#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
27086pub enum PullRequestState {
27087 #[serde(rename = "open")]
27088 Open,
27089 #[serde(rename = "closed")]
27090 Closed,
27091}
27092impl From<&PullRequestState> for PullRequestState {
27093 fn from(value: &PullRequestState) -> Self {
27094 value.clone()
27095 }
27096}
27097impl ToString for PullRequestState {
27098 fn to_string(&self) -> String {
27099 match *self {
27100 Self::Open => "open".to_string(),
27101 Self::Closed => "closed".to_string(),
27102 }
27103 }
27104}
27105impl std::str::FromStr for PullRequestState {
27106 type Err = &'static str;
27107
27108 fn from_str(value: &str) -> Result<Self, &'static str> {
27109 match value {
27110 "open" => Ok(Self::Open),
27111 "closed" => Ok(Self::Closed),
27112 _ => Err("invalid value"),
27113 }
27114 }
27115}
27116impl std::convert::TryFrom<&str> for PullRequestState {
27117 type Error = &'static str;
27118
27119 fn try_from(value: &str) -> Result<Self, &'static str> {
27120 value.parse()
27121 }
27122}
27123impl std::convert::TryFrom<&String> for PullRequestState {
27124 type Error = &'static str;
27125
27126 fn try_from(value: &String) -> Result<Self, &'static str> {
27127 value.parse()
27128 }
27129}
27130impl std::convert::TryFrom<String> for PullRequestState {
27131 type Error = &'static str;
27132
27133 fn try_from(value: String) -> Result<Self, &'static str> {
27134 value.parse()
27135 }
27136}
27137#[derive(Clone, Debug, Deserialize, Serialize)]
27138#[serde(deny_unknown_fields)]
27139pub struct PullRequestSynchronize {
27140 pub action: PullRequestSynchronizeAction,
27141 pub after: String,
27142 pub before: String,
27143 #[serde(default, skip_serializing_if = "Option::is_none")]
27144 pub installation: Option<InstallationLite>,
27145 pub number: i64,
27147 #[serde(default, skip_serializing_if = "Option::is_none")]
27148 pub organization: Option<Organization>,
27149 pub pull_request: PullRequest,
27150 pub repository: Repository,
27151 pub sender: User,
27152}
27153impl From<&PullRequestSynchronize> for PullRequestSynchronize {
27154 fn from(value: &PullRequestSynchronize) -> Self {
27155 value.clone()
27156 }
27157}
27158#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
27159pub enum PullRequestSynchronizeAction {
27160 #[serde(rename = "synchronize")]
27161 Synchronize,
27162}
27163impl From<&PullRequestSynchronizeAction> for PullRequestSynchronizeAction {
27164 fn from(value: &PullRequestSynchronizeAction) -> Self {
27165 value.clone()
27166 }
27167}
27168impl ToString for PullRequestSynchronizeAction {
27169 fn to_string(&self) -> String {
27170 match *self {
27171 Self::Synchronize => "synchronize".to_string(),
27172 }
27173 }
27174}
27175impl std::str::FromStr for PullRequestSynchronizeAction {
27176 type Err = &'static str;
27177
27178 fn from_str(value: &str) -> Result<Self, &'static str> {
27179 match value {
27180 "synchronize" => Ok(Self::Synchronize),
27181 _ => Err("invalid value"),
27182 }
27183 }
27184}
27185impl std::convert::TryFrom<&str> for PullRequestSynchronizeAction {
27186 type Error = &'static str;
27187
27188 fn try_from(value: &str) -> Result<Self, &'static str> {
27189 value.parse()
27190 }
27191}
27192impl std::convert::TryFrom<&String> for PullRequestSynchronizeAction {
27193 type Error = &'static str;
27194
27195 fn try_from(value: &String) -> Result<Self, &'static str> {
27196 value.parse()
27197 }
27198}
27199impl std::convert::TryFrom<String> for PullRequestSynchronizeAction {
27200 type Error = &'static str;
27201
27202 fn try_from(value: String) -> Result<Self, &'static str> {
27203 value.parse()
27204 }
27205}
27206#[derive(Clone, Debug, Deserialize, Serialize)]
27207#[serde(deny_unknown_fields)]
27208pub struct PullRequestUnassigned {
27209 pub action: PullRequestUnassignedAction,
27210 pub assignee: User,
27211 #[serde(default, skip_serializing_if = "Option::is_none")]
27212 pub installation: Option<InstallationLite>,
27213 pub number: i64,
27215 #[serde(default, skip_serializing_if = "Option::is_none")]
27216 pub organization: Option<Organization>,
27217 pub pull_request: PullRequest,
27218 pub repository: Repository,
27219 pub sender: User,
27220}
27221impl From<&PullRequestUnassigned> for PullRequestUnassigned {
27222 fn from(value: &PullRequestUnassigned) -> Self {
27223 value.clone()
27224 }
27225}
27226#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
27227pub enum PullRequestUnassignedAction {
27228 #[serde(rename = "unassigned")]
27229 Unassigned,
27230}
27231impl From<&PullRequestUnassignedAction> for PullRequestUnassignedAction {
27232 fn from(value: &PullRequestUnassignedAction) -> Self {
27233 value.clone()
27234 }
27235}
27236impl ToString for PullRequestUnassignedAction {
27237 fn to_string(&self) -> String {
27238 match *self {
27239 Self::Unassigned => "unassigned".to_string(),
27240 }
27241 }
27242}
27243impl std::str::FromStr for PullRequestUnassignedAction {
27244 type Err = &'static str;
27245
27246 fn from_str(value: &str) -> Result<Self, &'static str> {
27247 match value {
27248 "unassigned" => Ok(Self::Unassigned),
27249 _ => Err("invalid value"),
27250 }
27251 }
27252}
27253impl std::convert::TryFrom<&str> for PullRequestUnassignedAction {
27254 type Error = &'static str;
27255
27256 fn try_from(value: &str) -> Result<Self, &'static str> {
27257 value.parse()
27258 }
27259}
27260impl std::convert::TryFrom<&String> for PullRequestUnassignedAction {
27261 type Error = &'static str;
27262
27263 fn try_from(value: &String) -> Result<Self, &'static str> {
27264 value.parse()
27265 }
27266}
27267impl std::convert::TryFrom<String> for PullRequestUnassignedAction {
27268 type Error = &'static str;
27269
27270 fn try_from(value: String) -> Result<Self, &'static str> {
27271 value.parse()
27272 }
27273}
27274#[derive(Clone, Debug, Deserialize, Serialize)]
27275#[serde(deny_unknown_fields)]
27276pub struct PullRequestUnlabeled {
27277 pub action: PullRequestUnlabeledAction,
27278 #[serde(default, skip_serializing_if = "Option::is_none")]
27279 pub installation: Option<InstallationLite>,
27280 pub label: Label,
27281 pub number: i64,
27283 #[serde(default, skip_serializing_if = "Option::is_none")]
27284 pub organization: Option<Organization>,
27285 pub pull_request: PullRequest,
27286 pub repository: Repository,
27287 pub sender: User,
27288}
27289impl From<&PullRequestUnlabeled> for PullRequestUnlabeled {
27290 fn from(value: &PullRequestUnlabeled) -> Self {
27291 value.clone()
27292 }
27293}
27294#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
27295pub enum PullRequestUnlabeledAction {
27296 #[serde(rename = "unlabeled")]
27297 Unlabeled,
27298}
27299impl From<&PullRequestUnlabeledAction> for PullRequestUnlabeledAction {
27300 fn from(value: &PullRequestUnlabeledAction) -> Self {
27301 value.clone()
27302 }
27303}
27304impl ToString for PullRequestUnlabeledAction {
27305 fn to_string(&self) -> String {
27306 match *self {
27307 Self::Unlabeled => "unlabeled".to_string(),
27308 }
27309 }
27310}
27311impl std::str::FromStr for PullRequestUnlabeledAction {
27312 type Err = &'static str;
27313
27314 fn from_str(value: &str) -> Result<Self, &'static str> {
27315 match value {
27316 "unlabeled" => Ok(Self::Unlabeled),
27317 _ => Err("invalid value"),
27318 }
27319 }
27320}
27321impl std::convert::TryFrom<&str> for PullRequestUnlabeledAction {
27322 type Error = &'static str;
27323
27324 fn try_from(value: &str) -> Result<Self, &'static str> {
27325 value.parse()
27326 }
27327}
27328impl std::convert::TryFrom<&String> for PullRequestUnlabeledAction {
27329 type Error = &'static str;
27330
27331 fn try_from(value: &String) -> Result<Self, &'static str> {
27332 value.parse()
27333 }
27334}
27335impl std::convert::TryFrom<String> for PullRequestUnlabeledAction {
27336 type Error = &'static str;
27337
27338 fn try_from(value: String) -> Result<Self, &'static str> {
27339 value.parse()
27340 }
27341}
27342#[derive(Clone, Debug, Deserialize, Serialize)]
27343#[serde(deny_unknown_fields)]
27344pub struct PullRequestUnlocked {
27345 pub action: PullRequestUnlockedAction,
27346 #[serde(default, skip_serializing_if = "Option::is_none")]
27347 pub installation: Option<InstallationLite>,
27348 pub number: i64,
27350 #[serde(default, skip_serializing_if = "Option::is_none")]
27351 pub organization: Option<Organization>,
27352 pub pull_request: PullRequest,
27353 pub repository: Repository,
27354 pub sender: User,
27355}
27356impl From<&PullRequestUnlocked> for PullRequestUnlocked {
27357 fn from(value: &PullRequestUnlocked) -> Self {
27358 value.clone()
27359 }
27360}
27361#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
27362pub enum PullRequestUnlockedAction {
27363 #[serde(rename = "unlocked")]
27364 Unlocked,
27365}
27366impl From<&PullRequestUnlockedAction> for PullRequestUnlockedAction {
27367 fn from(value: &PullRequestUnlockedAction) -> Self {
27368 value.clone()
27369 }
27370}
27371impl ToString for PullRequestUnlockedAction {
27372 fn to_string(&self) -> String {
27373 match *self {
27374 Self::Unlocked => "unlocked".to_string(),
27375 }
27376 }
27377}
27378impl std::str::FromStr for PullRequestUnlockedAction {
27379 type Err = &'static str;
27380
27381 fn from_str(value: &str) -> Result<Self, &'static str> {
27382 match value {
27383 "unlocked" => Ok(Self::Unlocked),
27384 _ => Err("invalid value"),
27385 }
27386 }
27387}
27388impl std::convert::TryFrom<&str> for PullRequestUnlockedAction {
27389 type Error = &'static str;
27390
27391 fn try_from(value: &str) -> Result<Self, &'static str> {
27392 value.parse()
27393 }
27394}
27395impl std::convert::TryFrom<&String> for PullRequestUnlockedAction {
27396 type Error = &'static str;
27397
27398 fn try_from(value: &String) -> Result<Self, &'static str> {
27399 value.parse()
27400 }
27401}
27402impl std::convert::TryFrom<String> for PullRequestUnlockedAction {
27403 type Error = &'static str;
27404
27405 fn try_from(value: String) -> Result<Self, &'static str> {
27406 value.parse()
27407 }
27408}
27409#[derive(Clone, Debug, Deserialize, Serialize)]
27410#[serde(deny_unknown_fields)]
27411pub struct PushEvent {
27412 pub after: String,
27414 pub base_ref: Option<String>,
27415 pub before: String,
27417 pub commits: Vec<Commit>,
27419 pub compare: String,
27425 pub created: bool,
27427 pub deleted: bool,
27429 pub forced: bool,
27431 pub head_commit: Option<Commit>,
27436 #[serde(default, skip_serializing_if = "Option::is_none")]
27437 pub installation: Option<InstallationLite>,
27438 #[serde(default, skip_serializing_if = "Option::is_none")]
27439 pub organization: Option<Organization>,
27440 pub pusher: Committer,
27441 #[serde(rename = "ref")]
27444 pub ref_: String,
27445 pub repository: Repository,
27446 pub sender: User,
27447}
27448impl From<&PushEvent> for PushEvent {
27449 fn from(value: &PushEvent) -> Self {
27450 value.clone()
27451 }
27452}
27453#[derive(Clone, Debug, Deserialize, Serialize)]
27454#[serde(deny_unknown_fields)]
27455pub struct Reactions {
27456 pub confused: i64,
27457 pub eyes: i64,
27458 pub heart: i64,
27459 pub hooray: i64,
27460 pub laugh: i64,
27461 #[serde(rename = "-1")]
27462 pub minus1: i64,
27463 #[serde(rename = "+1")]
27464 pub plus1: i64,
27465 pub rocket: i64,
27466 pub total_count: i64,
27467 pub url: String,
27468}
27469impl From<&Reactions> for Reactions {
27470 fn from(value: &Reactions) -> Self {
27471 value.clone()
27472 }
27473}
27474#[derive(Clone, Debug, Deserialize, Serialize)]
27476#[serde(deny_unknown_fields)]
27477pub struct ReferencedWorkflow {
27478 pub path: String,
27479 #[serde(rename = "ref", default, skip_serializing_if = "Option::is_none")]
27480 pub ref_: Option<String>,
27481 pub sha: String,
27482}
27483impl From<&ReferencedWorkflow> for ReferencedWorkflow {
27484 fn from(value: &ReferencedWorkflow) -> Self {
27485 value.clone()
27486 }
27487}
27488#[derive(Clone, Debug, Deserialize, Serialize)]
27489#[serde(untagged)]
27490pub enum RegistryPackageEvent {
27491 Published(RegistryPackagePublished),
27492 Updated(RegistryPackageUpdated),
27493}
27494impl From<&RegistryPackageEvent> for RegistryPackageEvent {
27495 fn from(value: &RegistryPackageEvent) -> Self {
27496 value.clone()
27497 }
27498}
27499impl From<RegistryPackagePublished> for RegistryPackageEvent {
27500 fn from(value: RegistryPackagePublished) -> Self {
27501 Self::Published(value)
27502 }
27503}
27504impl From<RegistryPackageUpdated> for RegistryPackageEvent {
27505 fn from(value: RegistryPackageUpdated) -> Self {
27506 Self::Updated(value)
27507 }
27508}
27509#[derive(Clone, Debug, Deserialize, Serialize)]
27510#[serde(deny_unknown_fields)]
27511pub struct RegistryPackagePublished {
27512 pub action: RegistryPackagePublishedAction,
27513 #[serde(default, skip_serializing_if = "Option::is_none")]
27514 pub organization: Option<Organization>,
27515 pub registry_package: RegistryPackagePublishedRegistryPackage,
27516 pub repository: Repository,
27517 pub sender: User,
27518}
27519impl From<&RegistryPackagePublished> for RegistryPackagePublished {
27520 fn from(value: &RegistryPackagePublished) -> Self {
27521 value.clone()
27522 }
27523}
27524#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
27525pub enum RegistryPackagePublishedAction {
27526 #[serde(rename = "published")]
27527 Published,
27528}
27529impl From<&RegistryPackagePublishedAction> for RegistryPackagePublishedAction {
27530 fn from(value: &RegistryPackagePublishedAction) -> Self {
27531 value.clone()
27532 }
27533}
27534impl ToString for RegistryPackagePublishedAction {
27535 fn to_string(&self) -> String {
27536 match *self {
27537 Self::Published => "published".to_string(),
27538 }
27539 }
27540}
27541impl std::str::FromStr for RegistryPackagePublishedAction {
27542 type Err = &'static str;
27543
27544 fn from_str(value: &str) -> Result<Self, &'static str> {
27545 match value {
27546 "published" => Ok(Self::Published),
27547 _ => Err("invalid value"),
27548 }
27549 }
27550}
27551impl std::convert::TryFrom<&str> for RegistryPackagePublishedAction {
27552 type Error = &'static str;
27553
27554 fn try_from(value: &str) -> Result<Self, &'static str> {
27555 value.parse()
27556 }
27557}
27558impl std::convert::TryFrom<&String> for RegistryPackagePublishedAction {
27559 type Error = &'static str;
27560
27561 fn try_from(value: &String) -> Result<Self, &'static str> {
27562 value.parse()
27563 }
27564}
27565impl std::convert::TryFrom<String> for RegistryPackagePublishedAction {
27566 type Error = &'static str;
27567
27568 fn try_from(value: String) -> Result<Self, &'static str> {
27569 value.parse()
27570 }
27571}
27572#[derive(Clone, Debug, Deserialize, Serialize)]
27574#[serde(deny_unknown_fields)]
27575pub struct RegistryPackagePublishedRegistryPackage {
27576 pub created_at: chrono::DateTime<chrono::offset::Utc>,
27577 pub description: Option<String>,
27578 pub ecosystem: String,
27579 pub html_url: String,
27580 pub id: i64,
27582 pub name: String,
27584 pub namespace: String,
27585 pub owner: User,
27586 pub package_type: RegistryPackagePublishedRegistryPackagePackageType,
27593 pub package_version: Option<RegistryPackagePublishedRegistryPackagePackageVersion>,
27595 pub registry: RegistryPackagePublishedRegistryPackageRegistry,
27596 pub updated_at: Option<chrono::DateTime<chrono::offset::Utc>>,
27597}
27598impl From<&RegistryPackagePublishedRegistryPackage> for RegistryPackagePublishedRegistryPackage {
27599 fn from(value: &RegistryPackagePublishedRegistryPackage) -> Self {
27600 value.clone()
27601 }
27602}
27603#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
27610pub enum RegistryPackagePublishedRegistryPackagePackageType {
27611 #[serde(rename = "npm")]
27612 Npm,
27613 #[serde(rename = "maven")]
27614 Maven,
27615 #[serde(rename = "rubygems")]
27616 Rubygems,
27617 #[serde(rename = "docker")]
27618 Docker,
27619 #[serde(rename = "nuget")]
27620 Nuget,
27621 #[serde(rename = "CONTAINER")]
27622 Container,
27623}
27624impl From<&RegistryPackagePublishedRegistryPackagePackageType>
27625 for RegistryPackagePublishedRegistryPackagePackageType
27626{
27627 fn from(value: &RegistryPackagePublishedRegistryPackagePackageType) -> Self {
27628 value.clone()
27629 }
27630}
27631impl ToString for RegistryPackagePublishedRegistryPackagePackageType {
27632 fn to_string(&self) -> String {
27633 match *self {
27634 Self::Npm => "npm".to_string(),
27635 Self::Maven => "maven".to_string(),
27636 Self::Rubygems => "rubygems".to_string(),
27637 Self::Docker => "docker".to_string(),
27638 Self::Nuget => "nuget".to_string(),
27639 Self::Container => "CONTAINER".to_string(),
27640 }
27641 }
27642}
27643impl std::str::FromStr for RegistryPackagePublishedRegistryPackagePackageType {
27644 type Err = &'static str;
27645
27646 fn from_str(value: &str) -> Result<Self, &'static str> {
27647 match value {
27648 "npm" => Ok(Self::Npm),
27649 "maven" => Ok(Self::Maven),
27650 "rubygems" => Ok(Self::Rubygems),
27651 "docker" => Ok(Self::Docker),
27652 "nuget" => Ok(Self::Nuget),
27653 "CONTAINER" => Ok(Self::Container),
27654 _ => Err("invalid value"),
27655 }
27656 }
27657}
27658impl std::convert::TryFrom<&str> for RegistryPackagePublishedRegistryPackagePackageType {
27659 type Error = &'static str;
27660
27661 fn try_from(value: &str) -> Result<Self, &'static str> {
27662 value.parse()
27663 }
27664}
27665impl std::convert::TryFrom<&String> for RegistryPackagePublishedRegistryPackagePackageType {
27666 type Error = &'static str;
27667
27668 fn try_from(value: &String) -> Result<Self, &'static str> {
27669 value.parse()
27670 }
27671}
27672impl std::convert::TryFrom<String> for RegistryPackagePublishedRegistryPackagePackageType {
27673 type Error = &'static str;
27674
27675 fn try_from(value: String) -> Result<Self, &'static str> {
27676 value.parse()
27677 }
27678}
27679#[derive(Clone, Debug, Deserialize, Serialize)]
27680#[serde(deny_unknown_fields)]
27681pub struct RegistryPackagePublishedRegistryPackagePackageVersion {
27682 #[serde(default, skip_serializing_if = "Option::is_none")]
27683 pub author: Option<RegistryPackagePublishedRegistryPackagePackageVersionAuthor>,
27684 #[serde(default, skip_serializing_if = "Option::is_none")]
27685 pub body: Option<RegistryPackagePublishedRegistryPackagePackageVersionBody>,
27686 #[serde(default, skip_serializing_if = "Option::is_none")]
27687 pub body_html: Option<String>,
27688 #[serde(default, skip_serializing_if = "Option::is_none")]
27689 pub container_metadata:
27690 Option<RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadata>,
27691 #[serde(default, skip_serializing_if = "Option::is_none")]
27692 pub created_at: Option<chrono::DateTime<chrono::offset::Utc>>,
27693 pub description: String,
27694 #[serde(default, skip_serializing_if = "Vec::is_empty")]
27695 pub docker_metadata: Vec<serde_json::Value>,
27696 #[serde(default, skip_serializing_if = "Option::is_none")]
27697 pub draft: Option<bool>,
27698 pub html_url: String,
27699 pub id: i64,
27701 pub installation_command: String,
27702 #[serde(default, skip_serializing_if = "Option::is_none")]
27703 pub manifest: Option<String>,
27704 pub metadata: Vec<serde_json::Value>,
27706 pub name: String,
27708 #[serde(default, skip_serializing_if = "Option::is_none")]
27709 pub npm_metadata: Option<PackageNpmMetadata>,
27710 #[serde(default, skip_serializing_if = "Option::is_none")]
27711 pub nuget_metadata: Option<Vec<PackageNugetMetadata>>,
27712 pub package_files: Vec<RegistryPackagePublishedRegistryPackagePackageVersionPackageFilesItem>,
27713 #[serde(default, skip_serializing_if = "Option::is_none")]
27714 pub package_url: Option<String>,
27715 #[serde(default, skip_serializing_if = "Option::is_none")]
27716 pub prerelease: Option<bool>,
27717 #[serde(default, skip_serializing_if = "Option::is_none")]
27718 pub release: Option<RegistryPackagePublishedRegistryPackagePackageVersionRelease>,
27719 #[serde(default, skip_serializing_if = "Vec::is_empty")]
27720 pub rubygems_metadata: Vec<serde_json::Value>,
27721 #[serde(default, skip_serializing_if = "Option::is_none")]
27722 pub source_url: Option<String>,
27723 pub summary: String,
27724 #[serde(default, skip_serializing_if = "Option::is_none")]
27725 pub tag_name: Option<String>,
27726 #[serde(default, skip_serializing_if = "Option::is_none")]
27727 pub target_commitish: Option<String>,
27728 #[serde(default, skip_serializing_if = "Option::is_none")]
27729 pub target_oid: Option<String>,
27730 #[serde(default, skip_serializing_if = "Option::is_none")]
27731 pub updated_at: Option<chrono::DateTime<chrono::offset::Utc>>,
27732 pub version: String,
27733}
27734impl From<&RegistryPackagePublishedRegistryPackagePackageVersion>
27735 for RegistryPackagePublishedRegistryPackagePackageVersion
27736{
27737 fn from(value: &RegistryPackagePublishedRegistryPackagePackageVersion) -> Self {
27738 value.clone()
27739 }
27740}
27741#[derive(Clone, Debug, Deserialize, Serialize)]
27742#[serde(deny_unknown_fields)]
27743pub struct RegistryPackagePublishedRegistryPackagePackageVersionAuthor {
27744 pub avatar_url: String,
27745 pub events_url: String,
27746 pub followers_url: String,
27747 pub following_url: String,
27748 pub gists_url: String,
27749 pub gravatar_id: String,
27750 pub html_url: String,
27751 pub id: i64,
27752 pub login: String,
27753 pub node_id: String,
27754 pub organizations_url: String,
27755 pub received_events_url: String,
27756 pub repos_url: String,
27757 pub site_admin: bool,
27758 pub starred_url: String,
27759 pub subscriptions_url: String,
27760 #[serde(rename = "type")]
27761 pub type_: String,
27762 pub url: String,
27763}
27764impl From<&RegistryPackagePublishedRegistryPackagePackageVersionAuthor>
27765 for RegistryPackagePublishedRegistryPackagePackageVersionAuthor
27766{
27767 fn from(value: &RegistryPackagePublishedRegistryPackagePackageVersionAuthor) -> Self {
27768 value.clone()
27769 }
27770}
27771#[derive(Clone, Debug, Deserialize, Serialize)]
27772#[serde(untagged, deny_unknown_fields)]
27773pub enum RegistryPackagePublishedRegistryPackagePackageVersionBody {
27774 Variant0(String),
27775 Variant1 {
27776 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
27777 attributes: std::collections::HashMap<String, serde_json::Value>,
27778 #[serde(
27779 rename = "_formatted",
27780 default,
27781 skip_serializing_if = "Option::is_none"
27782 )]
27783 formatted: Option<bool>,
27784 info: RegistryPackagePublishedRegistryPackagePackageVersionBodyVariant1Info,
27785 repository: RegistryPackagePublishedRegistryPackagePackageVersionBodyVariant1Repository,
27786 },
27787}
27788impl From<&RegistryPackagePublishedRegistryPackagePackageVersionBody>
27789 for RegistryPackagePublishedRegistryPackagePackageVersionBody
27790{
27791 fn from(value: &RegistryPackagePublishedRegistryPackagePackageVersionBody) -> Self {
27792 value.clone()
27793 }
27794}
27795#[derive(Clone, Debug, Deserialize, Serialize)]
27796#[serde(deny_unknown_fields)]
27797pub struct RegistryPackagePublishedRegistryPackagePackageVersionBodyVariant1Info {
27798 pub collection: Option<bool>,
27799 pub mode: i64,
27800 pub name: String,
27801 pub oid: String,
27802 pub path: String,
27803 pub size: Option<i64>,
27804 #[serde(rename = "type")]
27805 pub type_: String,
27806}
27807impl From<&RegistryPackagePublishedRegistryPackagePackageVersionBodyVariant1Info>
27808 for RegistryPackagePublishedRegistryPackagePackageVersionBodyVariant1Info
27809{
27810 fn from(value: &RegistryPackagePublishedRegistryPackagePackageVersionBodyVariant1Info) -> Self {
27811 value.clone()
27812 }
27813}
27814#[derive(Clone, Debug, Deserialize, Serialize)]
27815#[serde(deny_unknown_fields)]
27816pub struct RegistryPackagePublishedRegistryPackagePackageVersionBodyVariant1Repository {
27817 pub repository: Repository,
27818}
27819impl From<&RegistryPackagePublishedRegistryPackagePackageVersionBodyVariant1Repository>
27820 for RegistryPackagePublishedRegistryPackagePackageVersionBodyVariant1Repository
27821{
27822 fn from(
27823 value: &RegistryPackagePublishedRegistryPackagePackageVersionBodyVariant1Repository,
27824 ) -> Self {
27825 value.clone()
27826 }
27827}
27828#[derive(Clone, Debug, Deserialize, Serialize)]
27829#[serde(deny_unknown_fields)]
27830pub struct RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadata {
27831 #[serde(default, skip_serializing_if = "Option::is_none")]
27832 pub labels:
27833 Option<RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataLabels>,
27834 #[serde(default, skip_serializing_if = "Option::is_none")]
27835 pub manifest:
27836 Option<RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifest>,
27837 #[serde(default, skip_serializing_if = "Option::is_none")]
27838 pub tag: Option<RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataTag>,
27839}
27840impl From<&RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadata>
27841 for RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadata
27842{
27843 fn from(
27844 value: &RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadata,
27845 ) -> Self {
27846 value.clone()
27847 }
27848}
27849#[derive(Clone, Debug, Deserialize, Serialize)]
27850#[serde(deny_unknown_fields)]
27851pub struct RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataLabels {
27852 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
27853 pub all_labels: std::collections::HashMap<String, String>,
27854 #[serde(default, skip_serializing_if = "Option::is_none")]
27855 pub description: Option<String>,
27856 #[serde(default, skip_serializing_if = "Option::is_none")]
27857 pub image_url: Option<String>,
27858 #[serde(default, skip_serializing_if = "Option::is_none")]
27859 pub licenses: Option<String>,
27860 #[serde(default, skip_serializing_if = "Option::is_none")]
27861 pub revision: Option<String>,
27862 #[serde(default, skip_serializing_if = "Option::is_none")]
27863 pub source: Option<String>,
27864}
27865impl From<&RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataLabels>
27866 for RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataLabels
27867{
27868 fn from(
27869 value: &RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataLabels,
27870 ) -> Self {
27871 value.clone()
27872 }
27873}
27874#[derive(Clone, Debug, Deserialize, Serialize)]
27875#[serde(deny_unknown_fields)]
27876pub struct RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifest {
27877 #[serde(default, skip_serializing_if = "Option::is_none")]
27878 pub config: Option<
27879 RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifestConfig,
27880 >,
27881 #[serde(default, skip_serializing_if = "Option::is_none")]
27882 pub digest: Option<String>,
27883 #[serde(default, skip_serializing_if = "Vec::is_empty")]
27884 pub layers: Vec<
27885 RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifestLayersItem,
27886 >,
27887 #[serde(default, skip_serializing_if = "Option::is_none")]
27888 pub media_type: Option<String>,
27889 #[serde(default, skip_serializing_if = "Option::is_none")]
27890 pub size: Option<i64>,
27891 #[serde(default, skip_serializing_if = "Option::is_none")]
27892 pub uri: Option<String>,
27893}
27894impl From<&RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifest>
27895 for RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifest
27896{
27897 fn from(
27898 value: &RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifest,
27899 ) -> Self {
27900 value.clone()
27901 }
27902}
27903#[derive(Clone, Debug, Deserialize, Serialize)]
27904#[serde(deny_unknown_fields)]
27905pub struct RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifestConfig {
27906 #[serde(default, skip_serializing_if = "Option::is_none")]
27907 pub digest: Option<String>,
27908 #[serde(default, skip_serializing_if = "Option::is_none")]
27909 pub media_type: Option<String>,
27910 #[serde(default, skip_serializing_if = "Option::is_none")]
27911 pub size: Option<i64>,
27912}
27913impl From<&RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifestConfig>
27914 for RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifestConfig
27915{
27916 fn from(
27917 value : & RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifestConfig,
27918 ) -> Self {
27919 value.clone()
27920 }
27921}
27922#[derive(Clone, Debug, Deserialize, Serialize)]
27923#[serde(deny_unknown_fields)]
27924pub struct RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifestLayersItem
27925{
27926 #[serde(default, skip_serializing_if = "Option::is_none")]
27927 pub digest: Option<String>,
27928 #[serde(default, skip_serializing_if = "Option::is_none")]
27929 pub media_type: Option<String>,
27930 #[serde(default, skip_serializing_if = "Option::is_none")]
27931 pub size: Option<i64>,
27932}
27933impl From<&RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifestLayersItem>
27934 for RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifestLayersItem
27935{
27936 fn from(
27937 value : & RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataManifestLayersItem,
27938 ) -> Self {
27939 value.clone()
27940 }
27941}
27942#[derive(Clone, Debug, Deserialize, Serialize)]
27943#[serde(deny_unknown_fields)]
27944pub struct RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataTag {
27945 #[serde(default, skip_serializing_if = "Option::is_none")]
27946 pub digest: Option<String>,
27947 #[serde(default, skip_serializing_if = "Option::is_none")]
27948 pub name: Option<String>,
27949}
27950impl From<&RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataTag>
27951 for RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataTag
27952{
27953 fn from(
27954 value: &RegistryPackagePublishedRegistryPackagePackageVersionContainerMetadataTag,
27955 ) -> Self {
27956 value.clone()
27957 }
27958}
27959#[derive(Clone, Debug, Deserialize, Serialize)]
27960#[serde(deny_unknown_fields)]
27961pub struct RegistryPackagePublishedRegistryPackagePackageVersionPackageFilesItem {
27962 pub content_type: String,
27963 pub created_at: chrono::DateTime<chrono::offset::Utc>,
27964 pub download_url: String,
27965 pub id: i64,
27966 pub md5: String,
27967 pub name: String,
27968 pub sha1: String,
27969 pub sha256: String,
27970 pub size: i64,
27971 pub state: String,
27972 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
27973}
27974impl From<&RegistryPackagePublishedRegistryPackagePackageVersionPackageFilesItem>
27975 for RegistryPackagePublishedRegistryPackagePackageVersionPackageFilesItem
27976{
27977 fn from(value: &RegistryPackagePublishedRegistryPackagePackageVersionPackageFilesItem) -> Self {
27978 value.clone()
27979 }
27980}
27981#[derive(Clone, Debug, Deserialize, Serialize)]
27982#[serde(deny_unknown_fields)]
27983pub struct RegistryPackagePublishedRegistryPackagePackageVersionRelease {
27984 pub author: User,
27985 pub created_at: chrono::DateTime<chrono::offset::Utc>,
27986 pub draft: bool,
27987 pub html_url: String,
27988 pub id: i64,
27989 pub name: String,
27990 pub prerelease: bool,
27991 pub published_at: chrono::DateTime<chrono::offset::Utc>,
27992 pub tag_name: String,
27993 pub target_commitish: String,
27994 pub url: String,
27995}
27996impl From<&RegistryPackagePublishedRegistryPackagePackageVersionRelease>
27997 for RegistryPackagePublishedRegistryPackagePackageVersionRelease
27998{
27999 fn from(value: &RegistryPackagePublishedRegistryPackagePackageVersionRelease) -> Self {
28000 value.clone()
28001 }
28002}
28003#[derive(Clone, Debug, Deserialize, Serialize)]
28004#[serde(deny_unknown_fields)]
28005pub struct RegistryPackagePublishedRegistryPackageRegistry {
28006 pub about_url: String,
28007 pub name: String,
28008 #[serde(rename = "type")]
28009 pub type_: String,
28010 pub url: String,
28011 pub vendor: String,
28012}
28013impl From<&RegistryPackagePublishedRegistryPackageRegistry>
28014 for RegistryPackagePublishedRegistryPackageRegistry
28015{
28016 fn from(value: &RegistryPackagePublishedRegistryPackageRegistry) -> Self {
28017 value.clone()
28018 }
28019}
28020#[derive(Clone, Debug, Deserialize, Serialize)]
28021#[serde(deny_unknown_fields)]
28022pub struct RegistryPackageUpdated {
28023 pub action: RegistryPackageUpdatedAction,
28024 #[serde(default, skip_serializing_if = "Option::is_none")]
28025 pub organization: Option<Organization>,
28026 pub registry_package: RegistryPackageUpdatedRegistryPackage,
28027 pub repository: Repository,
28028 pub sender: User,
28029}
28030impl From<&RegistryPackageUpdated> for RegistryPackageUpdated {
28031 fn from(value: &RegistryPackageUpdated) -> Self {
28032 value.clone()
28033 }
28034}
28035#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
28036pub enum RegistryPackageUpdatedAction {
28037 #[serde(rename = "updated")]
28038 Updated,
28039}
28040impl From<&RegistryPackageUpdatedAction> for RegistryPackageUpdatedAction {
28041 fn from(value: &RegistryPackageUpdatedAction) -> Self {
28042 value.clone()
28043 }
28044}
28045impl ToString for RegistryPackageUpdatedAction {
28046 fn to_string(&self) -> String {
28047 match *self {
28048 Self::Updated => "updated".to_string(),
28049 }
28050 }
28051}
28052impl std::str::FromStr for RegistryPackageUpdatedAction {
28053 type Err = &'static str;
28054
28055 fn from_str(value: &str) -> Result<Self, &'static str> {
28056 match value {
28057 "updated" => Ok(Self::Updated),
28058 _ => Err("invalid value"),
28059 }
28060 }
28061}
28062impl std::convert::TryFrom<&str> for RegistryPackageUpdatedAction {
28063 type Error = &'static str;
28064
28065 fn try_from(value: &str) -> Result<Self, &'static str> {
28066 value.parse()
28067 }
28068}
28069impl std::convert::TryFrom<&String> for RegistryPackageUpdatedAction {
28070 type Error = &'static str;
28071
28072 fn try_from(value: &String) -> Result<Self, &'static str> {
28073 value.parse()
28074 }
28075}
28076impl std::convert::TryFrom<String> for RegistryPackageUpdatedAction {
28077 type Error = &'static str;
28078
28079 fn try_from(value: String) -> Result<Self, &'static str> {
28080 value.parse()
28081 }
28082}
28083#[derive(Clone, Debug, Deserialize, Serialize)]
28085#[serde(deny_unknown_fields)]
28086pub struct RegistryPackageUpdatedRegistryPackage {
28087 pub created_at: chrono::DateTime<chrono::offset::Utc>,
28088 pub description: Option<String>,
28089 pub ecosystem: String,
28090 pub html_url: String,
28091 pub id: i64,
28093 pub name: String,
28095 pub namespace: String,
28096 pub owner: User,
28097 pub package_type: RegistryPackageUpdatedRegistryPackagePackageType,
28104 pub package_version: Option<RegistryPackageUpdatedRegistryPackagePackageVersion>,
28106 pub registry: RegistryPackageUpdatedRegistryPackageRegistry,
28107 pub updated_at: Option<chrono::DateTime<chrono::offset::Utc>>,
28108}
28109impl From<&RegistryPackageUpdatedRegistryPackage> for RegistryPackageUpdatedRegistryPackage {
28110 fn from(value: &RegistryPackageUpdatedRegistryPackage) -> Self {
28111 value.clone()
28112 }
28113}
28114#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
28121pub enum RegistryPackageUpdatedRegistryPackagePackageType {
28122 #[serde(rename = "npm")]
28123 Npm,
28124 #[serde(rename = "maven")]
28125 Maven,
28126 #[serde(rename = "rubygems")]
28127 Rubygems,
28128 #[serde(rename = "docker")]
28129 Docker,
28130 #[serde(rename = "nuget")]
28131 Nuget,
28132 #[serde(rename = "CONTAINER")]
28133 Container,
28134}
28135impl From<&RegistryPackageUpdatedRegistryPackagePackageType>
28136 for RegistryPackageUpdatedRegistryPackagePackageType
28137{
28138 fn from(value: &RegistryPackageUpdatedRegistryPackagePackageType) -> Self {
28139 value.clone()
28140 }
28141}
28142impl ToString for RegistryPackageUpdatedRegistryPackagePackageType {
28143 fn to_string(&self) -> String {
28144 match *self {
28145 Self::Npm => "npm".to_string(),
28146 Self::Maven => "maven".to_string(),
28147 Self::Rubygems => "rubygems".to_string(),
28148 Self::Docker => "docker".to_string(),
28149 Self::Nuget => "nuget".to_string(),
28150 Self::Container => "CONTAINER".to_string(),
28151 }
28152 }
28153}
28154impl std::str::FromStr for RegistryPackageUpdatedRegistryPackagePackageType {
28155 type Err = &'static str;
28156
28157 fn from_str(value: &str) -> Result<Self, &'static str> {
28158 match value {
28159 "npm" => Ok(Self::Npm),
28160 "maven" => Ok(Self::Maven),
28161 "rubygems" => Ok(Self::Rubygems),
28162 "docker" => Ok(Self::Docker),
28163 "nuget" => Ok(Self::Nuget),
28164 "CONTAINER" => Ok(Self::Container),
28165 _ => Err("invalid value"),
28166 }
28167 }
28168}
28169impl std::convert::TryFrom<&str> for RegistryPackageUpdatedRegistryPackagePackageType {
28170 type Error = &'static str;
28171
28172 fn try_from(value: &str) -> Result<Self, &'static str> {
28173 value.parse()
28174 }
28175}
28176impl std::convert::TryFrom<&String> for RegistryPackageUpdatedRegistryPackagePackageType {
28177 type Error = &'static str;
28178
28179 fn try_from(value: &String) -> Result<Self, &'static str> {
28180 value.parse()
28181 }
28182}
28183impl std::convert::TryFrom<String> for RegistryPackageUpdatedRegistryPackagePackageType {
28184 type Error = &'static str;
28185
28186 fn try_from(value: String) -> Result<Self, &'static str> {
28187 value.parse()
28188 }
28189}
28190#[derive(Clone, Debug, Deserialize, Serialize)]
28191#[serde(deny_unknown_fields)]
28192pub struct RegistryPackageUpdatedRegistryPackagePackageVersion {
28193 #[serde(default, skip_serializing_if = "Option::is_none")]
28194 pub author: Option<RegistryPackageUpdatedRegistryPackagePackageVersionAuthor>,
28195 #[serde(default, skip_serializing_if = "Option::is_none")]
28196 pub body: Option<RegistryPackageUpdatedRegistryPackagePackageVersionBody>,
28197 #[serde(default, skip_serializing_if = "Option::is_none")]
28198 pub body_html: Option<String>,
28199 #[serde(default, skip_serializing_if = "Option::is_none")]
28200 pub container_metadata:
28201 Option<RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadata>,
28202 #[serde(default, skip_serializing_if = "Option::is_none")]
28203 pub created_at: Option<chrono::DateTime<chrono::offset::Utc>>,
28204 pub description: String,
28205 #[serde(default, skip_serializing_if = "Vec::is_empty")]
28206 pub docker_metadata: Vec<serde_json::Value>,
28207 #[serde(default, skip_serializing_if = "Option::is_none")]
28208 pub draft: Option<bool>,
28209 pub html_url: String,
28210 pub id: i64,
28212 pub installation_command: String,
28213 #[serde(default, skip_serializing_if = "Option::is_none")]
28214 pub manifest: Option<String>,
28215 pub metadata: Vec<serde_json::Value>,
28217 pub name: String,
28219 #[serde(default, skip_serializing_if = "Option::is_none")]
28220 pub npm_metadata: Option<PackageNpmMetadata>,
28221 #[serde(default, skip_serializing_if = "Option::is_none")]
28222 pub nuget_metadata: Option<Vec<PackageNugetMetadata>>,
28223 pub package_files: Vec<RegistryPackageUpdatedRegistryPackagePackageVersionPackageFilesItem>,
28224 #[serde(default, skip_serializing_if = "Option::is_none")]
28225 pub package_url: Option<String>,
28226 #[serde(default, skip_serializing_if = "Option::is_none")]
28227 pub prerelease: Option<bool>,
28228 #[serde(default, skip_serializing_if = "Option::is_none")]
28229 pub release: Option<RegistryPackageUpdatedRegistryPackagePackageVersionRelease>,
28230 #[serde(default, skip_serializing_if = "Vec::is_empty")]
28231 pub rubygems_metadata: Vec<serde_json::Value>,
28232 #[serde(default, skip_serializing_if = "Option::is_none")]
28233 pub source_url: Option<String>,
28234 pub summary: String,
28235 #[serde(default, skip_serializing_if = "Option::is_none")]
28236 pub tag_name: Option<String>,
28237 #[serde(default, skip_serializing_if = "Option::is_none")]
28238 pub target_commitish: Option<String>,
28239 #[serde(default, skip_serializing_if = "Option::is_none")]
28240 pub target_oid: Option<String>,
28241 #[serde(default, skip_serializing_if = "Option::is_none")]
28242 pub updated_at: Option<chrono::DateTime<chrono::offset::Utc>>,
28243 pub version: String,
28244}
28245impl From<&RegistryPackageUpdatedRegistryPackagePackageVersion>
28246 for RegistryPackageUpdatedRegistryPackagePackageVersion
28247{
28248 fn from(value: &RegistryPackageUpdatedRegistryPackagePackageVersion) -> Self {
28249 value.clone()
28250 }
28251}
28252#[derive(Clone, Debug, Deserialize, Serialize)]
28253#[serde(deny_unknown_fields)]
28254pub struct RegistryPackageUpdatedRegistryPackagePackageVersionAuthor {
28255 pub avatar_url: String,
28256 pub events_url: String,
28257 pub followers_url: String,
28258 pub following_url: String,
28259 pub gists_url: String,
28260 pub gravatar_id: String,
28261 pub html_url: String,
28262 pub id: i64,
28263 pub login: String,
28264 pub node_id: String,
28265 pub organizations_url: String,
28266 pub received_events_url: String,
28267 pub repos_url: String,
28268 pub site_admin: bool,
28269 pub starred_url: String,
28270 pub subscriptions_url: String,
28271 #[serde(rename = "type")]
28272 pub type_: String,
28273 pub url: String,
28274}
28275impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionAuthor>
28276 for RegistryPackageUpdatedRegistryPackagePackageVersionAuthor
28277{
28278 fn from(value: &RegistryPackageUpdatedRegistryPackagePackageVersionAuthor) -> Self {
28279 value.clone()
28280 }
28281}
28282#[derive(Clone, Debug, Deserialize, Serialize)]
28283#[serde(untagged, deny_unknown_fields)]
28284pub enum RegistryPackageUpdatedRegistryPackagePackageVersionBody {
28285 Variant0(String),
28286 Variant1 {
28287 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
28288 attributes: std::collections::HashMap<String, serde_json::Value>,
28289 #[serde(
28290 rename = "_formatted",
28291 default,
28292 skip_serializing_if = "Option::is_none"
28293 )]
28294 formatted: Option<bool>,
28295 info: RegistryPackageUpdatedRegistryPackagePackageVersionBodyVariant1Info,
28296 repository: RegistryPackageUpdatedRegistryPackagePackageVersionBodyVariant1Repository,
28297 },
28298}
28299impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionBody>
28300 for RegistryPackageUpdatedRegistryPackagePackageVersionBody
28301{
28302 fn from(value: &RegistryPackageUpdatedRegistryPackagePackageVersionBody) -> Self {
28303 value.clone()
28304 }
28305}
28306#[derive(Clone, Debug, Deserialize, Serialize)]
28307#[serde(deny_unknown_fields)]
28308pub struct RegistryPackageUpdatedRegistryPackagePackageVersionBodyVariant1Info {
28309 pub collection: Option<bool>,
28310 pub mode: i64,
28311 pub name: String,
28312 pub oid: String,
28313 pub path: String,
28314 pub size: Option<i64>,
28315 #[serde(rename = "type")]
28316 pub type_: String,
28317}
28318impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionBodyVariant1Info>
28319 for RegistryPackageUpdatedRegistryPackagePackageVersionBodyVariant1Info
28320{
28321 fn from(value: &RegistryPackageUpdatedRegistryPackagePackageVersionBodyVariant1Info) -> Self {
28322 value.clone()
28323 }
28324}
28325#[derive(Clone, Debug, Deserialize, Serialize)]
28326#[serde(deny_unknown_fields)]
28327pub struct RegistryPackageUpdatedRegistryPackagePackageVersionBodyVariant1Repository {
28328 pub repository: Repository,
28329}
28330impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionBodyVariant1Repository>
28331 for RegistryPackageUpdatedRegistryPackagePackageVersionBodyVariant1Repository
28332{
28333 fn from(
28334 value: &RegistryPackageUpdatedRegistryPackagePackageVersionBodyVariant1Repository,
28335 ) -> Self {
28336 value.clone()
28337 }
28338}
28339#[derive(Clone, Debug, Deserialize, Serialize)]
28340#[serde(deny_unknown_fields)]
28341pub struct RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadata {
28342 #[serde(default, skip_serializing_if = "Option::is_none")]
28343 pub labels: Option<RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataLabels>,
28344 #[serde(default, skip_serializing_if = "Option::is_none")]
28345 pub manifest:
28346 Option<RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifest>,
28347 #[serde(default, skip_serializing_if = "Option::is_none")]
28348 pub tag: Option<RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataTag>,
28349}
28350impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadata>
28351 for RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadata
28352{
28353 fn from(value: &RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadata) -> Self {
28354 value.clone()
28355 }
28356}
28357#[derive(Clone, Debug, Deserialize, Serialize)]
28358#[serde(deny_unknown_fields)]
28359pub struct RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataLabels {
28360 #[serde(default, skip_serializing_if = "std::collections::HashMap::is_empty")]
28361 pub all_labels: std::collections::HashMap<String, String>,
28362 #[serde(default, skip_serializing_if = "Option::is_none")]
28363 pub description: Option<String>,
28364 #[serde(default, skip_serializing_if = "Option::is_none")]
28365 pub image_url: Option<String>,
28366 #[serde(default, skip_serializing_if = "Option::is_none")]
28367 pub licenses: Option<String>,
28368 #[serde(default, skip_serializing_if = "Option::is_none")]
28369 pub revision: Option<String>,
28370 #[serde(default, skip_serializing_if = "Option::is_none")]
28371 pub source: Option<String>,
28372}
28373impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataLabels>
28374 for RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataLabels
28375{
28376 fn from(
28377 value: &RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataLabels,
28378 ) -> Self {
28379 value.clone()
28380 }
28381}
28382#[derive(Clone, Debug, Deserialize, Serialize)]
28383#[serde(deny_unknown_fields)]
28384pub struct RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifest {
28385 #[serde(default, skip_serializing_if = "Option::is_none")]
28386 pub config:
28387 Option<RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifestConfig>,
28388 #[serde(default, skip_serializing_if = "Option::is_none")]
28389 pub digest: Option<String>,
28390 #[serde(default, skip_serializing_if = "Vec::is_empty")]
28391 pub layers:
28392 Vec<RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifestLayersItem>,
28393 #[serde(default, skip_serializing_if = "Option::is_none")]
28394 pub media_type: Option<String>,
28395 #[serde(default, skip_serializing_if = "Option::is_none")]
28396 pub size: Option<i64>,
28397 #[serde(default, skip_serializing_if = "Option::is_none")]
28398 pub uri: Option<String>,
28399}
28400impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifest>
28401 for RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifest
28402{
28403 fn from(
28404 value: &RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifest,
28405 ) -> Self {
28406 value.clone()
28407 }
28408}
28409#[derive(Clone, Debug, Deserialize, Serialize)]
28410#[serde(deny_unknown_fields)]
28411pub struct RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifestConfig {
28412 #[serde(default, skip_serializing_if = "Option::is_none")]
28413 pub digest: Option<String>,
28414 #[serde(default, skip_serializing_if = "Option::is_none")]
28415 pub media_type: Option<String>,
28416 #[serde(default, skip_serializing_if = "Option::is_none")]
28417 pub size: Option<i64>,
28418}
28419impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifestConfig>
28420 for RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifestConfig
28421{
28422 fn from(
28423 value: &RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifestConfig,
28424 ) -> Self {
28425 value.clone()
28426 }
28427}
28428#[derive(Clone, Debug, Deserialize, Serialize)]
28429#[serde(deny_unknown_fields)]
28430pub struct RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifestLayersItem {
28431 #[serde(default, skip_serializing_if = "Option::is_none")]
28432 pub digest: Option<String>,
28433 #[serde(default, skip_serializing_if = "Option::is_none")]
28434 pub media_type: Option<String>,
28435 #[serde(default, skip_serializing_if = "Option::is_none")]
28436 pub size: Option<i64>,
28437}
28438impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifestLayersItem>
28439 for RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifestLayersItem
28440{
28441 fn from(
28442 value : & RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataManifestLayersItem,
28443 ) -> Self {
28444 value.clone()
28445 }
28446}
28447#[derive(Clone, Debug, Deserialize, Serialize)]
28448#[serde(deny_unknown_fields)]
28449pub struct RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataTag {
28450 #[serde(default, skip_serializing_if = "Option::is_none")]
28451 pub digest: Option<String>,
28452 #[serde(default, skip_serializing_if = "Option::is_none")]
28453 pub name: Option<String>,
28454}
28455impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataTag>
28456 for RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataTag
28457{
28458 fn from(
28459 value: &RegistryPackageUpdatedRegistryPackagePackageVersionContainerMetadataTag,
28460 ) -> Self {
28461 value.clone()
28462 }
28463}
28464#[derive(Clone, Debug, Deserialize, Serialize)]
28465#[serde(deny_unknown_fields)]
28466pub struct RegistryPackageUpdatedRegistryPackagePackageVersionPackageFilesItem {
28467 pub content_type: String,
28468 pub created_at: chrono::DateTime<chrono::offset::Utc>,
28469 pub download_url: String,
28470 pub id: i64,
28471 pub md5: String,
28472 pub name: String,
28473 pub sha1: String,
28474 pub sha256: String,
28475 pub size: i64,
28476 pub state: String,
28477 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
28478}
28479impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionPackageFilesItem>
28480 for RegistryPackageUpdatedRegistryPackagePackageVersionPackageFilesItem
28481{
28482 fn from(value: &RegistryPackageUpdatedRegistryPackagePackageVersionPackageFilesItem) -> Self {
28483 value.clone()
28484 }
28485}
28486#[derive(Clone, Debug, Deserialize, Serialize)]
28487#[serde(deny_unknown_fields)]
28488pub struct RegistryPackageUpdatedRegistryPackagePackageVersionRelease {
28489 pub author: User,
28490 pub created_at: chrono::DateTime<chrono::offset::Utc>,
28491 pub draft: bool,
28492 pub html_url: String,
28493 pub id: i64,
28494 pub name: String,
28495 pub prerelease: bool,
28496 pub published_at: chrono::DateTime<chrono::offset::Utc>,
28497 pub tag_name: String,
28498 pub target_commitish: String,
28499 pub url: String,
28500}
28501impl From<&RegistryPackageUpdatedRegistryPackagePackageVersionRelease>
28502 for RegistryPackageUpdatedRegistryPackagePackageVersionRelease
28503{
28504 fn from(value: &RegistryPackageUpdatedRegistryPackagePackageVersionRelease) -> Self {
28505 value.clone()
28506 }
28507}
28508#[derive(Clone, Debug, Deserialize, Serialize)]
28509#[serde(deny_unknown_fields)]
28510pub struct RegistryPackageUpdatedRegistryPackageRegistry {
28511 pub about_url: String,
28512 pub name: String,
28513 #[serde(rename = "type")]
28514 pub type_: String,
28515 pub url: String,
28516 pub vendor: String,
28517}
28518impl From<&RegistryPackageUpdatedRegistryPackageRegistry>
28519 for RegistryPackageUpdatedRegistryPackageRegistry
28520{
28521 fn from(value: &RegistryPackageUpdatedRegistryPackageRegistry) -> Self {
28522 value.clone()
28523 }
28524}
28525#[derive(Clone, Debug, Deserialize, Serialize)]
28527#[serde(deny_unknown_fields)]
28528pub struct Release {
28529 pub assets: Vec<ReleaseAsset>,
28530 pub assets_url: String,
28531 pub author: User,
28532 pub body: String,
28533 pub created_at: Option<chrono::DateTime<chrono::offset::Utc>>,
28534 #[serde(default, skip_serializing_if = "Option::is_none")]
28535 pub discussion_url: Option<String>,
28536 pub draft: bool,
28538 pub html_url: String,
28539 pub id: i64,
28540 #[serde(default, skip_serializing_if = "Option::is_none")]
28541 pub mentions_count: Option<i64>,
28542 pub name: String,
28543 pub node_id: String,
28544 pub prerelease: bool,
28546 pub published_at: Option<chrono::DateTime<chrono::offset::Utc>>,
28547 #[serde(default, skip_serializing_if = "Option::is_none")]
28548 pub reactions: Option<Reactions>,
28549 pub tag_name: String,
28551 pub tarball_url: Option<String>,
28552 pub target_commitish: String,
28555 pub upload_url: String,
28556 pub url: String,
28557 pub zipball_url: Option<String>,
28558}
28559impl From<&Release> for Release {
28560 fn from(value: &Release) -> Self {
28561 value.clone()
28562 }
28563}
28564#[derive(Clone, Debug, Deserialize, Serialize)]
28566#[serde(deny_unknown_fields)]
28567pub struct ReleaseAsset {
28568 pub browser_download_url: String,
28569 pub content_type: String,
28570 pub created_at: chrono::DateTime<chrono::offset::Utc>,
28571 pub download_count: i64,
28572 pub id: i64,
28573 pub label: Option<String>,
28574 pub name: String,
28576 pub node_id: String,
28577 pub size: i64,
28578 pub state: ReleaseAssetState,
28580 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
28581 #[serde(default, skip_serializing_if = "Option::is_none")]
28582 pub uploader: Option<User>,
28583 pub url: String,
28584}
28585impl From<&ReleaseAsset> for ReleaseAsset {
28586 fn from(value: &ReleaseAsset) -> Self {
28587 value.clone()
28588 }
28589}
28590#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
28592pub enum ReleaseAssetState {
28593 #[serde(rename = "uploaded")]
28594 Uploaded,
28595}
28596impl From<&ReleaseAssetState> for ReleaseAssetState {
28597 fn from(value: &ReleaseAssetState) -> Self {
28598 value.clone()
28599 }
28600}
28601impl ToString for ReleaseAssetState {
28602 fn to_string(&self) -> String {
28603 match *self {
28604 Self::Uploaded => "uploaded".to_string(),
28605 }
28606 }
28607}
28608impl std::str::FromStr for ReleaseAssetState {
28609 type Err = &'static str;
28610
28611 fn from_str(value: &str) -> Result<Self, &'static str> {
28612 match value {
28613 "uploaded" => Ok(Self::Uploaded),
28614 _ => Err("invalid value"),
28615 }
28616 }
28617}
28618impl std::convert::TryFrom<&str> for ReleaseAssetState {
28619 type Error = &'static str;
28620
28621 fn try_from(value: &str) -> Result<Self, &'static str> {
28622 value.parse()
28623 }
28624}
28625impl std::convert::TryFrom<&String> for ReleaseAssetState {
28626 type Error = &'static str;
28627
28628 fn try_from(value: &String) -> Result<Self, &'static str> {
28629 value.parse()
28630 }
28631}
28632impl std::convert::TryFrom<String> for ReleaseAssetState {
28633 type Error = &'static str;
28634
28635 fn try_from(value: String) -> Result<Self, &'static str> {
28636 value.parse()
28637 }
28638}
28639#[derive(Clone, Debug, Deserialize, Serialize)]
28640#[serde(deny_unknown_fields)]
28641pub struct ReleaseCreated {
28642 pub action: ReleaseCreatedAction,
28643 #[serde(default, skip_serializing_if = "Option::is_none")]
28644 pub installation: Option<InstallationLite>,
28645 #[serde(default, skip_serializing_if = "Option::is_none")]
28646 pub organization: Option<Organization>,
28647 pub release: Release,
28648 pub repository: Repository,
28649 pub sender: User,
28650}
28651impl From<&ReleaseCreated> for ReleaseCreated {
28652 fn from(value: &ReleaseCreated) -> Self {
28653 value.clone()
28654 }
28655}
28656#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
28657pub enum ReleaseCreatedAction {
28658 #[serde(rename = "created")]
28659 Created,
28660}
28661impl From<&ReleaseCreatedAction> for ReleaseCreatedAction {
28662 fn from(value: &ReleaseCreatedAction) -> Self {
28663 value.clone()
28664 }
28665}
28666impl ToString for ReleaseCreatedAction {
28667 fn to_string(&self) -> String {
28668 match *self {
28669 Self::Created => "created".to_string(),
28670 }
28671 }
28672}
28673impl std::str::FromStr for ReleaseCreatedAction {
28674 type Err = &'static str;
28675
28676 fn from_str(value: &str) -> Result<Self, &'static str> {
28677 match value {
28678 "created" => Ok(Self::Created),
28679 _ => Err("invalid value"),
28680 }
28681 }
28682}
28683impl std::convert::TryFrom<&str> for ReleaseCreatedAction {
28684 type Error = &'static str;
28685
28686 fn try_from(value: &str) -> Result<Self, &'static str> {
28687 value.parse()
28688 }
28689}
28690impl std::convert::TryFrom<&String> for ReleaseCreatedAction {
28691 type Error = &'static str;
28692
28693 fn try_from(value: &String) -> Result<Self, &'static str> {
28694 value.parse()
28695 }
28696}
28697impl std::convert::TryFrom<String> for ReleaseCreatedAction {
28698 type Error = &'static str;
28699
28700 fn try_from(value: String) -> Result<Self, &'static str> {
28701 value.parse()
28702 }
28703}
28704#[derive(Clone, Debug, Deserialize, Serialize)]
28705#[serde(deny_unknown_fields)]
28706pub struct ReleaseDeleted {
28707 pub action: ReleaseDeletedAction,
28708 #[serde(default, skip_serializing_if = "Option::is_none")]
28709 pub installation: Option<InstallationLite>,
28710 #[serde(default, skip_serializing_if = "Option::is_none")]
28711 pub organization: Option<Organization>,
28712 pub release: Release,
28713 pub repository: Repository,
28714 pub sender: User,
28715}
28716impl From<&ReleaseDeleted> for ReleaseDeleted {
28717 fn from(value: &ReleaseDeleted) -> Self {
28718 value.clone()
28719 }
28720}
28721#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
28722pub enum ReleaseDeletedAction {
28723 #[serde(rename = "deleted")]
28724 Deleted,
28725}
28726impl From<&ReleaseDeletedAction> for ReleaseDeletedAction {
28727 fn from(value: &ReleaseDeletedAction) -> Self {
28728 value.clone()
28729 }
28730}
28731impl ToString for ReleaseDeletedAction {
28732 fn to_string(&self) -> String {
28733 match *self {
28734 Self::Deleted => "deleted".to_string(),
28735 }
28736 }
28737}
28738impl std::str::FromStr for ReleaseDeletedAction {
28739 type Err = &'static str;
28740
28741 fn from_str(value: &str) -> Result<Self, &'static str> {
28742 match value {
28743 "deleted" => Ok(Self::Deleted),
28744 _ => Err("invalid value"),
28745 }
28746 }
28747}
28748impl std::convert::TryFrom<&str> for ReleaseDeletedAction {
28749 type Error = &'static str;
28750
28751 fn try_from(value: &str) -> Result<Self, &'static str> {
28752 value.parse()
28753 }
28754}
28755impl std::convert::TryFrom<&String> for ReleaseDeletedAction {
28756 type Error = &'static str;
28757
28758 fn try_from(value: &String) -> Result<Self, &'static str> {
28759 value.parse()
28760 }
28761}
28762impl std::convert::TryFrom<String> for ReleaseDeletedAction {
28763 type Error = &'static str;
28764
28765 fn try_from(value: String) -> Result<Self, &'static str> {
28766 value.parse()
28767 }
28768}
28769#[derive(Clone, Debug, Deserialize, Serialize)]
28770#[serde(deny_unknown_fields)]
28771pub struct ReleaseEdited {
28772 pub action: ReleaseEditedAction,
28773 pub changes: ReleaseEditedChanges,
28774 #[serde(default, skip_serializing_if = "Option::is_none")]
28775 pub installation: Option<InstallationLite>,
28776 #[serde(default, skip_serializing_if = "Option::is_none")]
28777 pub organization: Option<Organization>,
28778 pub release: Release,
28779 pub repository: Repository,
28780 pub sender: User,
28781}
28782impl From<&ReleaseEdited> for ReleaseEdited {
28783 fn from(value: &ReleaseEdited) -> Self {
28784 value.clone()
28785 }
28786}
28787#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
28788pub enum ReleaseEditedAction {
28789 #[serde(rename = "edited")]
28790 Edited,
28791}
28792impl From<&ReleaseEditedAction> for ReleaseEditedAction {
28793 fn from(value: &ReleaseEditedAction) -> Self {
28794 value.clone()
28795 }
28796}
28797impl ToString for ReleaseEditedAction {
28798 fn to_string(&self) -> String {
28799 match *self {
28800 Self::Edited => "edited".to_string(),
28801 }
28802 }
28803}
28804impl std::str::FromStr for ReleaseEditedAction {
28805 type Err = &'static str;
28806
28807 fn from_str(value: &str) -> Result<Self, &'static str> {
28808 match value {
28809 "edited" => Ok(Self::Edited),
28810 _ => Err("invalid value"),
28811 }
28812 }
28813}
28814impl std::convert::TryFrom<&str> for ReleaseEditedAction {
28815 type Error = &'static str;
28816
28817 fn try_from(value: &str) -> Result<Self, &'static str> {
28818 value.parse()
28819 }
28820}
28821impl std::convert::TryFrom<&String> for ReleaseEditedAction {
28822 type Error = &'static str;
28823
28824 fn try_from(value: &String) -> Result<Self, &'static str> {
28825 value.parse()
28826 }
28827}
28828impl std::convert::TryFrom<String> for ReleaseEditedAction {
28829 type Error = &'static str;
28830
28831 fn try_from(value: String) -> Result<Self, &'static str> {
28832 value.parse()
28833 }
28834}
28835#[derive(Clone, Debug, Deserialize, Serialize)]
28836#[serde(deny_unknown_fields)]
28837pub struct ReleaseEditedChanges {
28838 #[serde(default, skip_serializing_if = "Option::is_none")]
28839 pub body: Option<ReleaseEditedChangesBody>,
28840 #[serde(default, skip_serializing_if = "Option::is_none")]
28841 pub name: Option<ReleaseEditedChangesName>,
28842}
28843impl From<&ReleaseEditedChanges> for ReleaseEditedChanges {
28844 fn from(value: &ReleaseEditedChanges) -> Self {
28845 value.clone()
28846 }
28847}
28848#[derive(Clone, Debug, Deserialize, Serialize)]
28849#[serde(deny_unknown_fields)]
28850pub struct ReleaseEditedChangesBody {
28851 pub from: String,
28853}
28854impl From<&ReleaseEditedChangesBody> for ReleaseEditedChangesBody {
28855 fn from(value: &ReleaseEditedChangesBody) -> Self {
28856 value.clone()
28857 }
28858}
28859#[derive(Clone, Debug, Deserialize, Serialize)]
28860#[serde(deny_unknown_fields)]
28861pub struct ReleaseEditedChangesName {
28862 pub from: String,
28864}
28865impl From<&ReleaseEditedChangesName> for ReleaseEditedChangesName {
28866 fn from(value: &ReleaseEditedChangesName) -> Self {
28867 value.clone()
28868 }
28869}
28870#[derive(Clone, Debug, Deserialize, Serialize)]
28871#[serde(untagged)]
28872pub enum ReleaseEvent {
28873 Created(ReleaseCreated),
28874 Deleted(ReleaseDeleted),
28875 Edited(ReleaseEdited),
28876 Prereleased(ReleasePrereleased),
28877 Published(ReleasePublished),
28878 Released(ReleaseReleased),
28879 Unpublished(ReleaseUnpublished),
28880}
28881impl From<&ReleaseEvent> for ReleaseEvent {
28882 fn from(value: &ReleaseEvent) -> Self {
28883 value.clone()
28884 }
28885}
28886impl From<ReleaseCreated> for ReleaseEvent {
28887 fn from(value: ReleaseCreated) -> Self {
28888 Self::Created(value)
28889 }
28890}
28891impl From<ReleaseDeleted> for ReleaseEvent {
28892 fn from(value: ReleaseDeleted) -> Self {
28893 Self::Deleted(value)
28894 }
28895}
28896impl From<ReleaseEdited> for ReleaseEvent {
28897 fn from(value: ReleaseEdited) -> Self {
28898 Self::Edited(value)
28899 }
28900}
28901impl From<ReleasePrereleased> for ReleaseEvent {
28902 fn from(value: ReleasePrereleased) -> Self {
28903 Self::Prereleased(value)
28904 }
28905}
28906impl From<ReleasePublished> for ReleaseEvent {
28907 fn from(value: ReleasePublished) -> Self {
28908 Self::Published(value)
28909 }
28910}
28911impl From<ReleaseReleased> for ReleaseEvent {
28912 fn from(value: ReleaseReleased) -> Self {
28913 Self::Released(value)
28914 }
28915}
28916impl From<ReleaseUnpublished> for ReleaseEvent {
28917 fn from(value: ReleaseUnpublished) -> Self {
28918 Self::Unpublished(value)
28919 }
28920}
28921#[derive(Clone, Debug, Deserialize, Serialize)]
28922#[serde(deny_unknown_fields)]
28923pub struct ReleasePrereleased {
28924 pub action: ReleasePrereleasedAction,
28925 #[serde(default, skip_serializing_if = "Option::is_none")]
28926 pub installation: Option<InstallationLite>,
28927 #[serde(default, skip_serializing_if = "Option::is_none")]
28928 pub organization: Option<Organization>,
28929 pub release: Release,
28930 pub repository: Repository,
28931 pub sender: User,
28932}
28933impl From<&ReleasePrereleased> for ReleasePrereleased {
28934 fn from(value: &ReleasePrereleased) -> Self {
28935 value.clone()
28936 }
28937}
28938#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
28939pub enum ReleasePrereleasedAction {
28940 #[serde(rename = "prereleased")]
28941 Prereleased,
28942}
28943impl From<&ReleasePrereleasedAction> for ReleasePrereleasedAction {
28944 fn from(value: &ReleasePrereleasedAction) -> Self {
28945 value.clone()
28946 }
28947}
28948impl ToString for ReleasePrereleasedAction {
28949 fn to_string(&self) -> String {
28950 match *self {
28951 Self::Prereleased => "prereleased".to_string(),
28952 }
28953 }
28954}
28955impl std::str::FromStr for ReleasePrereleasedAction {
28956 type Err = &'static str;
28957
28958 fn from_str(value: &str) -> Result<Self, &'static str> {
28959 match value {
28960 "prereleased" => Ok(Self::Prereleased),
28961 _ => Err("invalid value"),
28962 }
28963 }
28964}
28965impl std::convert::TryFrom<&str> for ReleasePrereleasedAction {
28966 type Error = &'static str;
28967
28968 fn try_from(value: &str) -> Result<Self, &'static str> {
28969 value.parse()
28970 }
28971}
28972impl std::convert::TryFrom<&String> for ReleasePrereleasedAction {
28973 type Error = &'static str;
28974
28975 fn try_from(value: &String) -> Result<Self, &'static str> {
28976 value.parse()
28977 }
28978}
28979impl std::convert::TryFrom<String> for ReleasePrereleasedAction {
28980 type Error = &'static str;
28981
28982 fn try_from(value: String) -> Result<Self, &'static str> {
28983 value.parse()
28984 }
28985}
28986#[derive(Clone, Debug, Deserialize, Serialize)]
28987#[serde(deny_unknown_fields)]
28988pub struct ReleasePublished {
28989 pub action: ReleasePublishedAction,
28990 #[serde(default, skip_serializing_if = "Option::is_none")]
28991 pub installation: Option<InstallationLite>,
28992 #[serde(default, skip_serializing_if = "Option::is_none")]
28993 pub organization: Option<Organization>,
28994 pub release: Release,
28995 pub repository: Repository,
28996 pub sender: User,
28997}
28998impl From<&ReleasePublished> for ReleasePublished {
28999 fn from(value: &ReleasePublished) -> Self {
29000 value.clone()
29001 }
29002}
29003#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
29004pub enum ReleasePublishedAction {
29005 #[serde(rename = "published")]
29006 Published,
29007}
29008impl From<&ReleasePublishedAction> for ReleasePublishedAction {
29009 fn from(value: &ReleasePublishedAction) -> Self {
29010 value.clone()
29011 }
29012}
29013impl ToString for ReleasePublishedAction {
29014 fn to_string(&self) -> String {
29015 match *self {
29016 Self::Published => "published".to_string(),
29017 }
29018 }
29019}
29020impl std::str::FromStr for ReleasePublishedAction {
29021 type Err = &'static str;
29022
29023 fn from_str(value: &str) -> Result<Self, &'static str> {
29024 match value {
29025 "published" => Ok(Self::Published),
29026 _ => Err("invalid value"),
29027 }
29028 }
29029}
29030impl std::convert::TryFrom<&str> for ReleasePublishedAction {
29031 type Error = &'static str;
29032
29033 fn try_from(value: &str) -> Result<Self, &'static str> {
29034 value.parse()
29035 }
29036}
29037impl std::convert::TryFrom<&String> for ReleasePublishedAction {
29038 type Error = &'static str;
29039
29040 fn try_from(value: &String) -> Result<Self, &'static str> {
29041 value.parse()
29042 }
29043}
29044impl std::convert::TryFrom<String> for ReleasePublishedAction {
29045 type Error = &'static str;
29046
29047 fn try_from(value: String) -> Result<Self, &'static str> {
29048 value.parse()
29049 }
29050}
29051#[derive(Clone, Debug, Deserialize, Serialize)]
29052#[serde(deny_unknown_fields)]
29053pub struct ReleaseReleased {
29054 pub action: ReleaseReleasedAction,
29055 #[serde(default, skip_serializing_if = "Option::is_none")]
29056 pub installation: Option<InstallationLite>,
29057 #[serde(default, skip_serializing_if = "Option::is_none")]
29058 pub organization: Option<Organization>,
29059 pub release: Release,
29060 pub repository: Repository,
29061 pub sender: User,
29062}
29063impl From<&ReleaseReleased> for ReleaseReleased {
29064 fn from(value: &ReleaseReleased) -> Self {
29065 value.clone()
29066 }
29067}
29068#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
29069pub enum ReleaseReleasedAction {
29070 #[serde(rename = "released")]
29071 Released,
29072}
29073impl From<&ReleaseReleasedAction> for ReleaseReleasedAction {
29074 fn from(value: &ReleaseReleasedAction) -> Self {
29075 value.clone()
29076 }
29077}
29078impl ToString for ReleaseReleasedAction {
29079 fn to_string(&self) -> String {
29080 match *self {
29081 Self::Released => "released".to_string(),
29082 }
29083 }
29084}
29085impl std::str::FromStr for ReleaseReleasedAction {
29086 type Err = &'static str;
29087
29088 fn from_str(value: &str) -> Result<Self, &'static str> {
29089 match value {
29090 "released" => Ok(Self::Released),
29091 _ => Err("invalid value"),
29092 }
29093 }
29094}
29095impl std::convert::TryFrom<&str> for ReleaseReleasedAction {
29096 type Error = &'static str;
29097
29098 fn try_from(value: &str) -> Result<Self, &'static str> {
29099 value.parse()
29100 }
29101}
29102impl std::convert::TryFrom<&String> for ReleaseReleasedAction {
29103 type Error = &'static str;
29104
29105 fn try_from(value: &String) -> Result<Self, &'static str> {
29106 value.parse()
29107 }
29108}
29109impl std::convert::TryFrom<String> for ReleaseReleasedAction {
29110 type Error = &'static str;
29111
29112 fn try_from(value: String) -> Result<Self, &'static str> {
29113 value.parse()
29114 }
29115}
29116#[derive(Clone, Debug, Deserialize, Serialize)]
29117#[serde(deny_unknown_fields)]
29118pub struct ReleaseUnpublished {
29119 pub action: ReleaseUnpublishedAction,
29120 #[serde(default, skip_serializing_if = "Option::is_none")]
29121 pub installation: Option<InstallationLite>,
29122 #[serde(default, skip_serializing_if = "Option::is_none")]
29123 pub organization: Option<Organization>,
29124 pub release: Release,
29125 pub repository: Repository,
29126 pub sender: User,
29127}
29128impl From<&ReleaseUnpublished> for ReleaseUnpublished {
29129 fn from(value: &ReleaseUnpublished) -> Self {
29130 value.clone()
29131 }
29132}
29133#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
29134pub enum ReleaseUnpublishedAction {
29135 #[serde(rename = "unpublished")]
29136 Unpublished,
29137}
29138impl From<&ReleaseUnpublishedAction> for ReleaseUnpublishedAction {
29139 fn from(value: &ReleaseUnpublishedAction) -> Self {
29140 value.clone()
29141 }
29142}
29143impl ToString for ReleaseUnpublishedAction {
29144 fn to_string(&self) -> String {
29145 match *self {
29146 Self::Unpublished => "unpublished".to_string(),
29147 }
29148 }
29149}
29150impl std::str::FromStr for ReleaseUnpublishedAction {
29151 type Err = &'static str;
29152
29153 fn from_str(value: &str) -> Result<Self, &'static str> {
29154 match value {
29155 "unpublished" => Ok(Self::Unpublished),
29156 _ => Err("invalid value"),
29157 }
29158 }
29159}
29160impl std::convert::TryFrom<&str> for ReleaseUnpublishedAction {
29161 type Error = &'static str;
29162
29163 fn try_from(value: &str) -> Result<Self, &'static str> {
29164 value.parse()
29165 }
29166}
29167impl std::convert::TryFrom<&String> for ReleaseUnpublishedAction {
29168 type Error = &'static str;
29169
29170 fn try_from(value: &String) -> Result<Self, &'static str> {
29171 value.parse()
29172 }
29173}
29174impl std::convert::TryFrom<String> for ReleaseUnpublishedAction {
29175 type Error = &'static str;
29176
29177 fn try_from(value: String) -> Result<Self, &'static str> {
29178 value.parse()
29179 }
29180}
29181#[derive(Clone, Debug, Deserialize, Serialize)]
29182#[serde(deny_unknown_fields)]
29183pub struct RepoRef {
29184 pub id: i64,
29185 pub name: String,
29186 pub url: String,
29187}
29188impl From<&RepoRef> for RepoRef {
29189 fn from(value: &RepoRef) -> Self {
29190 value.clone()
29191 }
29192}
29193#[derive(Clone, Debug, Deserialize, Serialize)]
29195#[serde(deny_unknown_fields)]
29196pub struct Repository {
29197 #[serde(default)]
29199 pub allow_auto_merge: bool,
29200 #[serde(default, skip_serializing_if = "Option::is_none")]
29202 pub allow_forking: Option<bool>,
29203 #[serde(default = "defaults::default_bool::<true>")]
29205 pub allow_merge_commit: bool,
29206 #[serde(default = "defaults::default_bool::<true>")]
29208 pub allow_rebase_merge: bool,
29209 #[serde(default = "defaults::default_bool::<true>")]
29211 pub allow_squash_merge: bool,
29212 #[serde(default, skip_serializing_if = "Option::is_none")]
29213 pub allow_update_branch: Option<bool>,
29214 pub archive_url: String,
29216 pub archived: bool,
29218 pub assignees_url: String,
29221 pub blobs_url: String,
29224 pub branches_url: String,
29227 pub clone_url: String,
29228 pub collaborators_url: String,
29231 pub comments_url: String,
29234 pub commits_url: String,
29237 pub compare_url: String,
29239 pub contents_url: String,
29241 pub contributors_url: String,
29243 pub created_at: RepositoryCreatedAt,
29244 pub default_branch: String,
29246 #[serde(default)]
29248 pub delete_branch_on_merge: bool,
29249 pub deployments_url: String,
29251 pub description: Option<String>,
29253 #[serde(default, skip_serializing_if = "Option::is_none")]
29255 pub disabled: Option<bool>,
29256 pub downloads_url: String,
29258 pub events_url: String,
29260 pub fork: bool,
29262 pub forks: i64,
29263 pub forks_count: i64,
29264 pub forks_url: String,
29266 pub full_name: String,
29268 pub git_commits_url: String,
29271 pub git_refs_url: String,
29274 pub git_tags_url: String,
29277 pub git_url: String,
29278 #[serde(default = "defaults::default_bool::<true>")]
29280 pub has_discussions: bool,
29281 pub has_downloads: bool,
29283 pub has_issues: bool,
29285 pub has_pages: bool,
29286 pub has_projects: bool,
29288 pub has_wiki: bool,
29290 pub homepage: Option<String>,
29291 pub hooks_url: String,
29293 pub html_url: String,
29295 pub id: i64,
29297 pub is_template: bool,
29298 pub issue_comment_url: String,
29301 pub issue_events_url: String,
29304 pub issues_url: String,
29307 pub keys_url: String,
29310 pub labels_url: String,
29313 pub language: Option<String>,
29314 pub languages_url: String,
29316 pub license: Option<License>,
29317 #[serde(default, skip_serializing_if = "Option::is_none")]
29318 pub master_branch: Option<String>,
29319 #[serde(default, skip_serializing_if = "Option::is_none")]
29320 pub merge_commit_message: Option<String>,
29321 #[serde(default, skip_serializing_if = "Option::is_none")]
29322 pub merge_commit_title: Option<String>,
29323 pub merges_url: String,
29325 pub milestones_url: String,
29328 pub mirror_url: Option<String>,
29329 pub name: String,
29331 pub node_id: String,
29333 pub notifications_url: String,
29336 pub open_issues: i64,
29337 pub open_issues_count: i64,
29338 #[serde(default, skip_serializing_if = "Option::is_none")]
29339 pub organization: Option<String>,
29340 pub owner: User,
29341 #[serde(default, skip_serializing_if = "Option::is_none")]
29342 pub permissions: Option<RepositoryPermissions>,
29343 pub private: bool,
29345 #[serde(default, skip_serializing_if = "Option::is_none")]
29346 pub public: Option<bool>,
29347 pub pulls_url: String,
29350 pub pushed_at: RepositoryPushedAt,
29351 pub releases_url: String,
29354 pub size: i64,
29355 #[serde(default, skip_serializing_if = "Option::is_none")]
29356 pub squash_merge_commit_message: Option<String>,
29357 #[serde(default, skip_serializing_if = "Option::is_none")]
29358 pub squash_merge_commit_title: Option<String>,
29359 pub ssh_url: String,
29360 #[serde(default, skip_serializing_if = "Option::is_none")]
29361 pub stargazers: Option<i64>,
29362 pub stargazers_count: i64,
29363 pub stargazers_url: String,
29365 pub statuses_url: String,
29368 pub subscribers_url: String,
29370 pub subscription_url: String,
29372 pub svn_url: String,
29373 pub tags_url: String,
29375 pub teams_url: String,
29377 pub topics: Vec<String>,
29378 pub trees_url: String,
29381 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
29382 pub url: String,
29385 #[serde(default, skip_serializing_if = "Option::is_none")]
29386 pub use_squash_pr_title_as_default: Option<bool>,
29387 pub visibility: RepositoryVisibility,
29388 pub watchers: i64,
29389 pub watchers_count: i64,
29390 pub web_commit_signoff_required: bool,
29391}
29392impl From<&Repository> for Repository {
29393 fn from(value: &Repository) -> Self {
29394 value.clone()
29395 }
29396}
29397#[derive(Clone, Debug, Deserialize, Serialize)]
29398#[serde(deny_unknown_fields)]
29399pub struct RepositoryArchived {
29400 pub action: RepositoryArchivedAction,
29401 #[serde(default, skip_serializing_if = "Option::is_none")]
29402 pub installation: Option<InstallationLite>,
29403 #[serde(default, skip_serializing_if = "Option::is_none")]
29404 pub organization: Option<Organization>,
29405 pub repository: Repository,
29406 pub sender: User,
29407}
29408impl From<&RepositoryArchived> for RepositoryArchived {
29409 fn from(value: &RepositoryArchived) -> Self {
29410 value.clone()
29411 }
29412}
29413#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
29414pub enum RepositoryArchivedAction {
29415 #[serde(rename = "archived")]
29416 Archived,
29417}
29418impl From<&RepositoryArchivedAction> for RepositoryArchivedAction {
29419 fn from(value: &RepositoryArchivedAction) -> Self {
29420 value.clone()
29421 }
29422}
29423impl ToString for RepositoryArchivedAction {
29424 fn to_string(&self) -> String {
29425 match *self {
29426 Self::Archived => "archived".to_string(),
29427 }
29428 }
29429}
29430impl std::str::FromStr for RepositoryArchivedAction {
29431 type Err = &'static str;
29432
29433 fn from_str(value: &str) -> Result<Self, &'static str> {
29434 match value {
29435 "archived" => Ok(Self::Archived),
29436 _ => Err("invalid value"),
29437 }
29438 }
29439}
29440impl std::convert::TryFrom<&str> for RepositoryArchivedAction {
29441 type Error = &'static str;
29442
29443 fn try_from(value: &str) -> Result<Self, &'static str> {
29444 value.parse()
29445 }
29446}
29447impl std::convert::TryFrom<&String> for RepositoryArchivedAction {
29448 type Error = &'static str;
29449
29450 fn try_from(value: &String) -> Result<Self, &'static str> {
29451 value.parse()
29452 }
29453}
29454impl std::convert::TryFrom<String> for RepositoryArchivedAction {
29455 type Error = &'static str;
29456
29457 fn try_from(value: String) -> Result<Self, &'static str> {
29458 value.parse()
29459 }
29460}
29461#[derive(Clone, Debug, Deserialize, Serialize)]
29462#[serde(deny_unknown_fields)]
29463pub struct RepositoryCreated {
29464 pub action: RepositoryCreatedAction,
29465 #[serde(default, skip_serializing_if = "Option::is_none")]
29466 pub installation: Option<InstallationLite>,
29467 #[serde(default, skip_serializing_if = "Option::is_none")]
29468 pub organization: Option<Organization>,
29469 pub repository: Repository,
29470 pub sender: User,
29471}
29472impl From<&RepositoryCreated> for RepositoryCreated {
29473 fn from(value: &RepositoryCreated) -> Self {
29474 value.clone()
29475 }
29476}
29477#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
29478pub enum RepositoryCreatedAction {
29479 #[serde(rename = "created")]
29480 Created,
29481}
29482impl From<&RepositoryCreatedAction> for RepositoryCreatedAction {
29483 fn from(value: &RepositoryCreatedAction) -> Self {
29484 value.clone()
29485 }
29486}
29487impl ToString for RepositoryCreatedAction {
29488 fn to_string(&self) -> String {
29489 match *self {
29490 Self::Created => "created".to_string(),
29491 }
29492 }
29493}
29494impl std::str::FromStr for RepositoryCreatedAction {
29495 type Err = &'static str;
29496
29497 fn from_str(value: &str) -> Result<Self, &'static str> {
29498 match value {
29499 "created" => Ok(Self::Created),
29500 _ => Err("invalid value"),
29501 }
29502 }
29503}
29504impl std::convert::TryFrom<&str> for RepositoryCreatedAction {
29505 type Error = &'static str;
29506
29507 fn try_from(value: &str) -> Result<Self, &'static str> {
29508 value.parse()
29509 }
29510}
29511impl std::convert::TryFrom<&String> for RepositoryCreatedAction {
29512 type Error = &'static str;
29513
29514 fn try_from(value: &String) -> Result<Self, &'static str> {
29515 value.parse()
29516 }
29517}
29518impl std::convert::TryFrom<String> for RepositoryCreatedAction {
29519 type Error = &'static str;
29520
29521 fn try_from(value: String) -> Result<Self, &'static str> {
29522 value.parse()
29523 }
29524}
29525#[derive(Clone, Debug, Deserialize, Serialize)]
29526#[serde(untagged)]
29527pub enum RepositoryCreatedAt {
29528 Variant0(i64),
29529 Variant1(chrono::DateTime<chrono::offset::Utc>),
29530}
29531impl From<&RepositoryCreatedAt> for RepositoryCreatedAt {
29532 fn from(value: &RepositoryCreatedAt) -> Self {
29533 value.clone()
29534 }
29535}
29536impl std::str::FromStr for RepositoryCreatedAt {
29537 type Err = &'static str;
29538
29539 fn from_str(value: &str) -> Result<Self, &'static str> {
29540 if let Ok(v) = value.parse() {
29541 Ok(Self::Variant0(v))
29542 } else if let Ok(v) = value.parse() {
29543 Ok(Self::Variant1(v))
29544 } else {
29545 Err("string conversion failed for all variants")
29546 }
29547 }
29548}
29549impl std::convert::TryFrom<&str> for RepositoryCreatedAt {
29550 type Error = &'static str;
29551
29552 fn try_from(value: &str) -> Result<Self, &'static str> {
29553 value.parse()
29554 }
29555}
29556impl std::convert::TryFrom<&String> for RepositoryCreatedAt {
29557 type Error = &'static str;
29558
29559 fn try_from(value: &String) -> Result<Self, &'static str> {
29560 value.parse()
29561 }
29562}
29563impl std::convert::TryFrom<String> for RepositoryCreatedAt {
29564 type Error = &'static str;
29565
29566 fn try_from(value: String) -> Result<Self, &'static str> {
29567 value.parse()
29568 }
29569}
29570impl ToString for RepositoryCreatedAt {
29571 fn to_string(&self) -> String {
29572 match self {
29573 Self::Variant0(x) => x.to_string(),
29574 Self::Variant1(x) => x.to_string(),
29575 }
29576 }
29577}
29578impl From<i64> for RepositoryCreatedAt {
29579 fn from(value: i64) -> Self {
29580 Self::Variant0(value)
29581 }
29582}
29583impl From<chrono::DateTime<chrono::offset::Utc>> for RepositoryCreatedAt {
29584 fn from(value: chrono::DateTime<chrono::offset::Utc>) -> Self {
29585 Self::Variant1(value)
29586 }
29587}
29588#[derive(Clone, Debug, Deserialize, Serialize)]
29589#[serde(deny_unknown_fields)]
29590pub struct RepositoryDeleted {
29591 pub action: RepositoryDeletedAction,
29592 #[serde(default, skip_serializing_if = "Option::is_none")]
29593 pub installation: Option<InstallationLite>,
29594 #[serde(default, skip_serializing_if = "Option::is_none")]
29595 pub organization: Option<Organization>,
29596 pub repository: Repository,
29597 pub sender: User,
29598}
29599impl From<&RepositoryDeleted> for RepositoryDeleted {
29600 fn from(value: &RepositoryDeleted) -> Self {
29601 value.clone()
29602 }
29603}
29604#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
29605pub enum RepositoryDeletedAction {
29606 #[serde(rename = "deleted")]
29607 Deleted,
29608}
29609impl From<&RepositoryDeletedAction> for RepositoryDeletedAction {
29610 fn from(value: &RepositoryDeletedAction) -> Self {
29611 value.clone()
29612 }
29613}
29614impl ToString for RepositoryDeletedAction {
29615 fn to_string(&self) -> String {
29616 match *self {
29617 Self::Deleted => "deleted".to_string(),
29618 }
29619 }
29620}
29621impl std::str::FromStr for RepositoryDeletedAction {
29622 type Err = &'static str;
29623
29624 fn from_str(value: &str) -> Result<Self, &'static str> {
29625 match value {
29626 "deleted" => Ok(Self::Deleted),
29627 _ => Err("invalid value"),
29628 }
29629 }
29630}
29631impl std::convert::TryFrom<&str> for RepositoryDeletedAction {
29632 type Error = &'static str;
29633
29634 fn try_from(value: &str) -> Result<Self, &'static str> {
29635 value.parse()
29636 }
29637}
29638impl std::convert::TryFrom<&String> for RepositoryDeletedAction {
29639 type Error = &'static str;
29640
29641 fn try_from(value: &String) -> Result<Self, &'static str> {
29642 value.parse()
29643 }
29644}
29645impl std::convert::TryFrom<String> for RepositoryDeletedAction {
29646 type Error = &'static str;
29647
29648 fn try_from(value: String) -> Result<Self, &'static str> {
29649 value.parse()
29650 }
29651}
29652#[derive(Clone, Debug, Deserialize, Serialize)]
29653#[serde(deny_unknown_fields)]
29654pub struct RepositoryDispatchEvent {
29655 pub action: String,
29656 pub branch: String,
29657 pub client_payload: std::collections::HashMap<String, serde_json::Value>,
29658 pub installation: InstallationLite,
29659 #[serde(default, skip_serializing_if = "Option::is_none")]
29660 pub organization: Option<Organization>,
29661 pub repository: Repository,
29662 pub sender: User,
29663}
29664impl From<&RepositoryDispatchEvent> for RepositoryDispatchEvent {
29665 fn from(value: &RepositoryDispatchEvent) -> Self {
29666 value.clone()
29667 }
29668}
29669#[derive(Clone, Debug, Deserialize, Serialize)]
29670#[serde(deny_unknown_fields)]
29671pub struct RepositoryEdited {
29672 pub action: RepositoryEditedAction,
29673 pub changes: RepositoryEditedChanges,
29674 #[serde(default, skip_serializing_if = "Option::is_none")]
29675 pub installation: Option<InstallationLite>,
29676 #[serde(default, skip_serializing_if = "Option::is_none")]
29677 pub organization: Option<Organization>,
29678 pub repository: Repository,
29679 pub sender: User,
29680}
29681impl From<&RepositoryEdited> for RepositoryEdited {
29682 fn from(value: &RepositoryEdited) -> Self {
29683 value.clone()
29684 }
29685}
29686#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
29687pub enum RepositoryEditedAction {
29688 #[serde(rename = "edited")]
29689 Edited,
29690}
29691impl From<&RepositoryEditedAction> for RepositoryEditedAction {
29692 fn from(value: &RepositoryEditedAction) -> Self {
29693 value.clone()
29694 }
29695}
29696impl ToString for RepositoryEditedAction {
29697 fn to_string(&self) -> String {
29698 match *self {
29699 Self::Edited => "edited".to_string(),
29700 }
29701 }
29702}
29703impl std::str::FromStr for RepositoryEditedAction {
29704 type Err = &'static str;
29705
29706 fn from_str(value: &str) -> Result<Self, &'static str> {
29707 match value {
29708 "edited" => Ok(Self::Edited),
29709 _ => Err("invalid value"),
29710 }
29711 }
29712}
29713impl std::convert::TryFrom<&str> for RepositoryEditedAction {
29714 type Error = &'static str;
29715
29716 fn try_from(value: &str) -> Result<Self, &'static str> {
29717 value.parse()
29718 }
29719}
29720impl std::convert::TryFrom<&String> for RepositoryEditedAction {
29721 type Error = &'static str;
29722
29723 fn try_from(value: &String) -> Result<Self, &'static str> {
29724 value.parse()
29725 }
29726}
29727impl std::convert::TryFrom<String> for RepositoryEditedAction {
29728 type Error = &'static str;
29729
29730 fn try_from(value: String) -> Result<Self, &'static str> {
29731 value.parse()
29732 }
29733}
29734#[derive(Clone, Debug, Deserialize, Serialize)]
29735#[serde(deny_unknown_fields)]
29736pub struct RepositoryEditedChanges {
29737 #[serde(default, skip_serializing_if = "Option::is_none")]
29738 pub default_branch: Option<RepositoryEditedChangesDefaultBranch>,
29739 #[serde(default, skip_serializing_if = "Option::is_none")]
29740 pub description: Option<RepositoryEditedChangesDescription>,
29741 #[serde(default, skip_serializing_if = "Option::is_none")]
29742 pub homepage: Option<RepositoryEditedChangesHomepage>,
29743}
29744impl From<&RepositoryEditedChanges> for RepositoryEditedChanges {
29745 fn from(value: &RepositoryEditedChanges) -> Self {
29746 value.clone()
29747 }
29748}
29749#[derive(Clone, Debug, Deserialize, Serialize)]
29750#[serde(deny_unknown_fields)]
29751pub struct RepositoryEditedChangesDefaultBranch {
29752 pub from: String,
29753}
29754impl From<&RepositoryEditedChangesDefaultBranch> for RepositoryEditedChangesDefaultBranch {
29755 fn from(value: &RepositoryEditedChangesDefaultBranch) -> Self {
29756 value.clone()
29757 }
29758}
29759#[derive(Clone, Debug, Deserialize, Serialize)]
29760#[serde(deny_unknown_fields)]
29761pub struct RepositoryEditedChangesDescription {
29762 pub from: Option<String>,
29763}
29764impl From<&RepositoryEditedChangesDescription> for RepositoryEditedChangesDescription {
29765 fn from(value: &RepositoryEditedChangesDescription) -> Self {
29766 value.clone()
29767 }
29768}
29769#[derive(Clone, Debug, Deserialize, Serialize)]
29770#[serde(deny_unknown_fields)]
29771pub struct RepositoryEditedChangesHomepage {
29772 pub from: Option<String>,
29773}
29774impl From<&RepositoryEditedChangesHomepage> for RepositoryEditedChangesHomepage {
29775 fn from(value: &RepositoryEditedChangesHomepage) -> Self {
29776 value.clone()
29777 }
29778}
29779#[derive(Clone, Debug, Deserialize, Serialize)]
29780#[serde(untagged)]
29781pub enum RepositoryEvent {
29782 Archived(RepositoryArchived),
29783 Created(RepositoryCreated),
29784 Deleted(RepositoryDeleted),
29785 Edited(RepositoryEdited),
29786 Privatized(RepositoryPrivatized),
29787 Publicized(RepositoryPublicized),
29788 Renamed(RepositoryRenamed),
29789 Transferred(RepositoryTransferred),
29790 Unarchived(RepositoryUnarchived),
29791}
29792impl From<&RepositoryEvent> for RepositoryEvent {
29793 fn from(value: &RepositoryEvent) -> Self {
29794 value.clone()
29795 }
29796}
29797impl From<RepositoryArchived> for RepositoryEvent {
29798 fn from(value: RepositoryArchived) -> Self {
29799 Self::Archived(value)
29800 }
29801}
29802impl From<RepositoryCreated> for RepositoryEvent {
29803 fn from(value: RepositoryCreated) -> Self {
29804 Self::Created(value)
29805 }
29806}
29807impl From<RepositoryDeleted> for RepositoryEvent {
29808 fn from(value: RepositoryDeleted) -> Self {
29809 Self::Deleted(value)
29810 }
29811}
29812impl From<RepositoryEdited> for RepositoryEvent {
29813 fn from(value: RepositoryEdited) -> Self {
29814 Self::Edited(value)
29815 }
29816}
29817impl From<RepositoryPrivatized> for RepositoryEvent {
29818 fn from(value: RepositoryPrivatized) -> Self {
29819 Self::Privatized(value)
29820 }
29821}
29822impl From<RepositoryPublicized> for RepositoryEvent {
29823 fn from(value: RepositoryPublicized) -> Self {
29824 Self::Publicized(value)
29825 }
29826}
29827impl From<RepositoryRenamed> for RepositoryEvent {
29828 fn from(value: RepositoryRenamed) -> Self {
29829 Self::Renamed(value)
29830 }
29831}
29832impl From<RepositoryTransferred> for RepositoryEvent {
29833 fn from(value: RepositoryTransferred) -> Self {
29834 Self::Transferred(value)
29835 }
29836}
29837impl From<RepositoryUnarchived> for RepositoryEvent {
29838 fn from(value: RepositoryUnarchived) -> Self {
29839 Self::Unarchived(value)
29840 }
29841}
29842#[derive(Clone, Debug, Deserialize, Serialize)]
29843#[serde(deny_unknown_fields)]
29844pub struct RepositoryImportEvent {
29845 #[serde(default, skip_serializing_if = "Option::is_none")]
29846 pub installation: Option<InstallationLite>,
29847 #[serde(default, skip_serializing_if = "Option::is_none")]
29848 pub organization: Option<Organization>,
29849 pub repository: Repository,
29850 pub sender: User,
29851 pub status: RepositoryImportEventStatus,
29852}
29853impl From<&RepositoryImportEvent> for RepositoryImportEvent {
29854 fn from(value: &RepositoryImportEvent) -> Self {
29855 value.clone()
29856 }
29857}
29858#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
29859pub enum RepositoryImportEventStatus {
29860 #[serde(rename = "success")]
29861 Success,
29862 #[serde(rename = "cancelled")]
29863 Cancelled,
29864 #[serde(rename = "failure")]
29865 Failure,
29866}
29867impl From<&RepositoryImportEventStatus> for RepositoryImportEventStatus {
29868 fn from(value: &RepositoryImportEventStatus) -> Self {
29869 value.clone()
29870 }
29871}
29872impl ToString for RepositoryImportEventStatus {
29873 fn to_string(&self) -> String {
29874 match *self {
29875 Self::Success => "success".to_string(),
29876 Self::Cancelled => "cancelled".to_string(),
29877 Self::Failure => "failure".to_string(),
29878 }
29879 }
29880}
29881impl std::str::FromStr for RepositoryImportEventStatus {
29882 type Err = &'static str;
29883
29884 fn from_str(value: &str) -> Result<Self, &'static str> {
29885 match value {
29886 "success" => Ok(Self::Success),
29887 "cancelled" => Ok(Self::Cancelled),
29888 "failure" => Ok(Self::Failure),
29889 _ => Err("invalid value"),
29890 }
29891 }
29892}
29893impl std::convert::TryFrom<&str> for RepositoryImportEventStatus {
29894 type Error = &'static str;
29895
29896 fn try_from(value: &str) -> Result<Self, &'static str> {
29897 value.parse()
29898 }
29899}
29900impl std::convert::TryFrom<&String> for RepositoryImportEventStatus {
29901 type Error = &'static str;
29902
29903 fn try_from(value: &String) -> Result<Self, &'static str> {
29904 value.parse()
29905 }
29906}
29907impl std::convert::TryFrom<String> for RepositoryImportEventStatus {
29908 type Error = &'static str;
29909
29910 fn try_from(value: String) -> Result<Self, &'static str> {
29911 value.parse()
29912 }
29913}
29914#[derive(Clone, Debug, Deserialize, Serialize)]
29915#[serde(deny_unknown_fields)]
29916pub struct RepositoryLite {
29917 pub archive_url: String,
29919 pub assignees_url: String,
29922 pub blobs_url: String,
29925 pub branches_url: String,
29928 pub collaborators_url: String,
29931 pub comments_url: String,
29934 pub commits_url: String,
29937 pub compare_url: String,
29939 pub contents_url: String,
29941 pub contributors_url: String,
29943 pub deployments_url: String,
29945 pub description: Option<String>,
29947 pub downloads_url: String,
29949 pub events_url: String,
29951 pub fork: bool,
29953 pub forks_url: String,
29955 pub full_name: String,
29957 pub git_commits_url: String,
29960 pub git_refs_url: String,
29963 pub git_tags_url: String,
29966 pub hooks_url: String,
29968 pub html_url: String,
29970 pub id: i64,
29972 pub issue_comment_url: String,
29975 pub issue_events_url: String,
29978 pub issues_url: String,
29981 pub keys_url: String,
29984 pub labels_url: String,
29987 pub languages_url: String,
29989 pub merges_url: String,
29991 pub milestones_url: String,
29994 pub name: String,
29996 pub node_id: String,
29998 pub notifications_url: String,
30001 pub owner: User,
30002 pub private: bool,
30004 pub pulls_url: String,
30007 pub releases_url: String,
30010 pub stargazers_url: String,
30012 pub statuses_url: String,
30015 pub subscribers_url: String,
30017 pub subscription_url: String,
30019 pub tags_url: String,
30021 pub teams_url: String,
30023 pub trees_url: String,
30026 pub url: String,
30029}
30030impl From<&RepositoryLite> for RepositoryLite {
30031 fn from(value: &RepositoryLite) -> Self {
30032 value.clone()
30033 }
30034}
30035#[derive(Clone, Debug, Deserialize, Serialize)]
30036#[serde(deny_unknown_fields)]
30037pub struct RepositoryPermissions {
30038 pub admin: bool,
30039 #[serde(default, skip_serializing_if = "Option::is_none")]
30040 pub maintain: Option<bool>,
30041 pub pull: bool,
30042 pub push: bool,
30043 #[serde(default, skip_serializing_if = "Option::is_none")]
30044 pub triage: Option<bool>,
30045}
30046impl From<&RepositoryPermissions> for RepositoryPermissions {
30047 fn from(value: &RepositoryPermissions) -> Self {
30048 value.clone()
30049 }
30050}
30051#[derive(Clone, Debug, Deserialize, Serialize)]
30052#[serde(deny_unknown_fields)]
30053pub struct RepositoryPrivatized {
30054 pub action: RepositoryPrivatizedAction,
30055 #[serde(default, skip_serializing_if = "Option::is_none")]
30056 pub installation: Option<InstallationLite>,
30057 #[serde(default, skip_serializing_if = "Option::is_none")]
30058 pub organization: Option<Organization>,
30059 pub repository: Repository,
30060 pub sender: User,
30061}
30062impl From<&RepositoryPrivatized> for RepositoryPrivatized {
30063 fn from(value: &RepositoryPrivatized) -> Self {
30064 value.clone()
30065 }
30066}
30067#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30068pub enum RepositoryPrivatizedAction {
30069 #[serde(rename = "privatized")]
30070 Privatized,
30071}
30072impl From<&RepositoryPrivatizedAction> for RepositoryPrivatizedAction {
30073 fn from(value: &RepositoryPrivatizedAction) -> Self {
30074 value.clone()
30075 }
30076}
30077impl ToString for RepositoryPrivatizedAction {
30078 fn to_string(&self) -> String {
30079 match *self {
30080 Self::Privatized => "privatized".to_string(),
30081 }
30082 }
30083}
30084impl std::str::FromStr for RepositoryPrivatizedAction {
30085 type Err = &'static str;
30086
30087 fn from_str(value: &str) -> Result<Self, &'static str> {
30088 match value {
30089 "privatized" => Ok(Self::Privatized),
30090 _ => Err("invalid value"),
30091 }
30092 }
30093}
30094impl std::convert::TryFrom<&str> for RepositoryPrivatizedAction {
30095 type Error = &'static str;
30096
30097 fn try_from(value: &str) -> Result<Self, &'static str> {
30098 value.parse()
30099 }
30100}
30101impl std::convert::TryFrom<&String> for RepositoryPrivatizedAction {
30102 type Error = &'static str;
30103
30104 fn try_from(value: &String) -> Result<Self, &'static str> {
30105 value.parse()
30106 }
30107}
30108impl std::convert::TryFrom<String> for RepositoryPrivatizedAction {
30109 type Error = &'static str;
30110
30111 fn try_from(value: String) -> Result<Self, &'static str> {
30112 value.parse()
30113 }
30114}
30115#[derive(Clone, Debug, Deserialize, Serialize)]
30116#[serde(deny_unknown_fields)]
30117pub struct RepositoryPublicized {
30118 pub action: RepositoryPublicizedAction,
30119 #[serde(default, skip_serializing_if = "Option::is_none")]
30120 pub installation: Option<InstallationLite>,
30121 #[serde(default, skip_serializing_if = "Option::is_none")]
30122 pub organization: Option<Organization>,
30123 pub repository: Repository,
30124 pub sender: User,
30125}
30126impl From<&RepositoryPublicized> for RepositoryPublicized {
30127 fn from(value: &RepositoryPublicized) -> Self {
30128 value.clone()
30129 }
30130}
30131#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30132pub enum RepositoryPublicizedAction {
30133 #[serde(rename = "publicized")]
30134 Publicized,
30135}
30136impl From<&RepositoryPublicizedAction> for RepositoryPublicizedAction {
30137 fn from(value: &RepositoryPublicizedAction) -> Self {
30138 value.clone()
30139 }
30140}
30141impl ToString for RepositoryPublicizedAction {
30142 fn to_string(&self) -> String {
30143 match *self {
30144 Self::Publicized => "publicized".to_string(),
30145 }
30146 }
30147}
30148impl std::str::FromStr for RepositoryPublicizedAction {
30149 type Err = &'static str;
30150
30151 fn from_str(value: &str) -> Result<Self, &'static str> {
30152 match value {
30153 "publicized" => Ok(Self::Publicized),
30154 _ => Err("invalid value"),
30155 }
30156 }
30157}
30158impl std::convert::TryFrom<&str> for RepositoryPublicizedAction {
30159 type Error = &'static str;
30160
30161 fn try_from(value: &str) -> Result<Self, &'static str> {
30162 value.parse()
30163 }
30164}
30165impl std::convert::TryFrom<&String> for RepositoryPublicizedAction {
30166 type Error = &'static str;
30167
30168 fn try_from(value: &String) -> Result<Self, &'static str> {
30169 value.parse()
30170 }
30171}
30172impl std::convert::TryFrom<String> for RepositoryPublicizedAction {
30173 type Error = &'static str;
30174
30175 fn try_from(value: String) -> Result<Self, &'static str> {
30176 value.parse()
30177 }
30178}
30179#[derive(Clone, Debug, Deserialize, Serialize)]
30180#[serde(untagged)]
30181pub enum RepositoryPushedAt {
30182 Variant0(i64),
30183 Variant1(chrono::DateTime<chrono::offset::Utc>),
30184 Variant2,
30185}
30186impl From<&RepositoryPushedAt> for RepositoryPushedAt {
30187 fn from(value: &RepositoryPushedAt) -> Self {
30188 value.clone()
30189 }
30190}
30191impl From<i64> for RepositoryPushedAt {
30192 fn from(value: i64) -> Self {
30193 Self::Variant0(value)
30194 }
30195}
30196impl From<chrono::DateTime<chrono::offset::Utc>> for RepositoryPushedAt {
30197 fn from(value: chrono::DateTime<chrono::offset::Utc>) -> Self {
30198 Self::Variant1(value)
30199 }
30200}
30201#[derive(Clone, Debug, Deserialize, Serialize)]
30202#[serde(deny_unknown_fields)]
30203pub struct RepositoryRenamed {
30204 pub action: RepositoryRenamedAction,
30205 pub changes: RepositoryRenamedChanges,
30206 #[serde(default, skip_serializing_if = "Option::is_none")]
30207 pub installation: Option<InstallationLite>,
30208 #[serde(default, skip_serializing_if = "Option::is_none")]
30209 pub organization: Option<Organization>,
30210 pub repository: Repository,
30211 pub sender: User,
30212}
30213impl From<&RepositoryRenamed> for RepositoryRenamed {
30214 fn from(value: &RepositoryRenamed) -> Self {
30215 value.clone()
30216 }
30217}
30218#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30219pub enum RepositoryRenamedAction {
30220 #[serde(rename = "renamed")]
30221 Renamed,
30222}
30223impl From<&RepositoryRenamedAction> for RepositoryRenamedAction {
30224 fn from(value: &RepositoryRenamedAction) -> Self {
30225 value.clone()
30226 }
30227}
30228impl ToString for RepositoryRenamedAction {
30229 fn to_string(&self) -> String {
30230 match *self {
30231 Self::Renamed => "renamed".to_string(),
30232 }
30233 }
30234}
30235impl std::str::FromStr for RepositoryRenamedAction {
30236 type Err = &'static str;
30237
30238 fn from_str(value: &str) -> Result<Self, &'static str> {
30239 match value {
30240 "renamed" => Ok(Self::Renamed),
30241 _ => Err("invalid value"),
30242 }
30243 }
30244}
30245impl std::convert::TryFrom<&str> for RepositoryRenamedAction {
30246 type Error = &'static str;
30247
30248 fn try_from(value: &str) -> Result<Self, &'static str> {
30249 value.parse()
30250 }
30251}
30252impl std::convert::TryFrom<&String> for RepositoryRenamedAction {
30253 type Error = &'static str;
30254
30255 fn try_from(value: &String) -> Result<Self, &'static str> {
30256 value.parse()
30257 }
30258}
30259impl std::convert::TryFrom<String> for RepositoryRenamedAction {
30260 type Error = &'static str;
30261
30262 fn try_from(value: String) -> Result<Self, &'static str> {
30263 value.parse()
30264 }
30265}
30266#[derive(Clone, Debug, Deserialize, Serialize)]
30267#[serde(deny_unknown_fields)]
30268pub struct RepositoryRenamedChanges {
30269 pub repository: RepositoryRenamedChangesRepository,
30270}
30271impl From<&RepositoryRenamedChanges> for RepositoryRenamedChanges {
30272 fn from(value: &RepositoryRenamedChanges) -> Self {
30273 value.clone()
30274 }
30275}
30276#[derive(Clone, Debug, Deserialize, Serialize)]
30277#[serde(deny_unknown_fields)]
30278pub struct RepositoryRenamedChangesRepository {
30279 pub name: RepositoryRenamedChangesRepositoryName,
30280}
30281impl From<&RepositoryRenamedChangesRepository> for RepositoryRenamedChangesRepository {
30282 fn from(value: &RepositoryRenamedChangesRepository) -> Self {
30283 value.clone()
30284 }
30285}
30286#[derive(Clone, Debug, Deserialize, Serialize)]
30287#[serde(deny_unknown_fields)]
30288pub struct RepositoryRenamedChangesRepositoryName {
30289 pub from: String,
30290}
30291impl From<&RepositoryRenamedChangesRepositoryName> for RepositoryRenamedChangesRepositoryName {
30292 fn from(value: &RepositoryRenamedChangesRepositoryName) -> Self {
30293 value.clone()
30294 }
30295}
30296#[derive(Clone, Debug, Deserialize, Serialize)]
30297#[serde(deny_unknown_fields)]
30298pub struct RepositoryTransferred {
30299 pub action: RepositoryTransferredAction,
30300 pub changes: RepositoryTransferredChanges,
30301 #[serde(default, skip_serializing_if = "Option::is_none")]
30302 pub installation: Option<InstallationLite>,
30303 #[serde(default, skip_serializing_if = "Option::is_none")]
30304 pub organization: Option<Organization>,
30305 pub repository: Repository,
30306 pub sender: User,
30307}
30308impl From<&RepositoryTransferred> for RepositoryTransferred {
30309 fn from(value: &RepositoryTransferred) -> Self {
30310 value.clone()
30311 }
30312}
30313#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30314pub enum RepositoryTransferredAction {
30315 #[serde(rename = "transferred")]
30316 Transferred,
30317}
30318impl From<&RepositoryTransferredAction> for RepositoryTransferredAction {
30319 fn from(value: &RepositoryTransferredAction) -> Self {
30320 value.clone()
30321 }
30322}
30323impl ToString for RepositoryTransferredAction {
30324 fn to_string(&self) -> String {
30325 match *self {
30326 Self::Transferred => "transferred".to_string(),
30327 }
30328 }
30329}
30330impl std::str::FromStr for RepositoryTransferredAction {
30331 type Err = &'static str;
30332
30333 fn from_str(value: &str) -> Result<Self, &'static str> {
30334 match value {
30335 "transferred" => Ok(Self::Transferred),
30336 _ => Err("invalid value"),
30337 }
30338 }
30339}
30340impl std::convert::TryFrom<&str> for RepositoryTransferredAction {
30341 type Error = &'static str;
30342
30343 fn try_from(value: &str) -> Result<Self, &'static str> {
30344 value.parse()
30345 }
30346}
30347impl std::convert::TryFrom<&String> for RepositoryTransferredAction {
30348 type Error = &'static str;
30349
30350 fn try_from(value: &String) -> Result<Self, &'static str> {
30351 value.parse()
30352 }
30353}
30354impl std::convert::TryFrom<String> for RepositoryTransferredAction {
30355 type Error = &'static str;
30356
30357 fn try_from(value: String) -> Result<Self, &'static str> {
30358 value.parse()
30359 }
30360}
30361#[derive(Clone, Debug, Deserialize, Serialize)]
30362#[serde(deny_unknown_fields)]
30363pub struct RepositoryTransferredChanges {
30364 pub owner: RepositoryTransferredChangesOwner,
30365}
30366impl From<&RepositoryTransferredChanges> for RepositoryTransferredChanges {
30367 fn from(value: &RepositoryTransferredChanges) -> Self {
30368 value.clone()
30369 }
30370}
30371#[derive(Clone, Debug, Deserialize, Serialize)]
30372#[serde(deny_unknown_fields)]
30373pub struct RepositoryTransferredChangesOwner {
30374 pub from: RepositoryTransferredChangesOwnerFrom,
30375}
30376impl From<&RepositoryTransferredChangesOwner> for RepositoryTransferredChangesOwner {
30377 fn from(value: &RepositoryTransferredChangesOwner) -> Self {
30378 value.clone()
30379 }
30380}
30381#[derive(Clone, Debug, Deserialize, Serialize)]
30382#[serde(deny_unknown_fields)]
30383pub struct RepositoryTransferredChangesOwnerFrom {
30384 #[serde(default, skip_serializing_if = "Option::is_none")]
30385 pub user: Option<User>,
30386}
30387impl From<&RepositoryTransferredChangesOwnerFrom> for RepositoryTransferredChangesOwnerFrom {
30388 fn from(value: &RepositoryTransferredChangesOwnerFrom) -> Self {
30389 value.clone()
30390 }
30391}
30392#[derive(Clone, Debug, Deserialize, Serialize)]
30393#[serde(deny_unknown_fields)]
30394pub struct RepositoryUnarchived {
30395 pub action: RepositoryUnarchivedAction,
30396 #[serde(default, skip_serializing_if = "Option::is_none")]
30397 pub installation: Option<InstallationLite>,
30398 #[serde(default, skip_serializing_if = "Option::is_none")]
30399 pub organization: Option<Organization>,
30400 pub repository: Repository,
30401 pub sender: User,
30402}
30403impl From<&RepositoryUnarchived> for RepositoryUnarchived {
30404 fn from(value: &RepositoryUnarchived) -> Self {
30405 value.clone()
30406 }
30407}
30408#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30409pub enum RepositoryUnarchivedAction {
30410 #[serde(rename = "unarchived")]
30411 Unarchived,
30412}
30413impl From<&RepositoryUnarchivedAction> for RepositoryUnarchivedAction {
30414 fn from(value: &RepositoryUnarchivedAction) -> Self {
30415 value.clone()
30416 }
30417}
30418impl ToString for RepositoryUnarchivedAction {
30419 fn to_string(&self) -> String {
30420 match *self {
30421 Self::Unarchived => "unarchived".to_string(),
30422 }
30423 }
30424}
30425impl std::str::FromStr for RepositoryUnarchivedAction {
30426 type Err = &'static str;
30427
30428 fn from_str(value: &str) -> Result<Self, &'static str> {
30429 match value {
30430 "unarchived" => Ok(Self::Unarchived),
30431 _ => Err("invalid value"),
30432 }
30433 }
30434}
30435impl std::convert::TryFrom<&str> for RepositoryUnarchivedAction {
30436 type Error = &'static str;
30437
30438 fn try_from(value: &str) -> Result<Self, &'static str> {
30439 value.parse()
30440 }
30441}
30442impl std::convert::TryFrom<&String> for RepositoryUnarchivedAction {
30443 type Error = &'static str;
30444
30445 fn try_from(value: &String) -> Result<Self, &'static str> {
30446 value.parse()
30447 }
30448}
30449impl std::convert::TryFrom<String> for RepositoryUnarchivedAction {
30450 type Error = &'static str;
30451
30452 fn try_from(value: String) -> Result<Self, &'static str> {
30453 value.parse()
30454 }
30455}
30456#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30457pub enum RepositoryVisibility {
30458 #[serde(rename = "public")]
30459 Public,
30460 #[serde(rename = "private")]
30461 Private,
30462 #[serde(rename = "internal")]
30463 Internal,
30464}
30465impl From<&RepositoryVisibility> for RepositoryVisibility {
30466 fn from(value: &RepositoryVisibility) -> Self {
30467 value.clone()
30468 }
30469}
30470impl ToString for RepositoryVisibility {
30471 fn to_string(&self) -> String {
30472 match *self {
30473 Self::Public => "public".to_string(),
30474 Self::Private => "private".to_string(),
30475 Self::Internal => "internal".to_string(),
30476 }
30477 }
30478}
30479impl std::str::FromStr for RepositoryVisibility {
30480 type Err = &'static str;
30481
30482 fn from_str(value: &str) -> Result<Self, &'static str> {
30483 match value {
30484 "public" => Ok(Self::Public),
30485 "private" => Ok(Self::Private),
30486 "internal" => Ok(Self::Internal),
30487 _ => Err("invalid value"),
30488 }
30489 }
30490}
30491impl std::convert::TryFrom<&str> for RepositoryVisibility {
30492 type Error = &'static str;
30493
30494 fn try_from(value: &str) -> Result<Self, &'static str> {
30495 value.parse()
30496 }
30497}
30498impl std::convert::TryFrom<&String> for RepositoryVisibility {
30499 type Error = &'static str;
30500
30501 fn try_from(value: &String) -> Result<Self, &'static str> {
30502 value.parse()
30503 }
30504}
30505impl std::convert::TryFrom<String> for RepositoryVisibility {
30506 type Error = &'static str;
30507
30508 fn try_from(value: String) -> Result<Self, &'static str> {
30509 value.parse()
30510 }
30511}
30512#[derive(Clone, Debug, Deserialize, Serialize)]
30514#[serde(deny_unknown_fields)]
30515pub struct RepositoryVulnerabilityAlertAlert {
30516 pub affected_package_name: String,
30517 pub affected_range: String,
30518 pub created_at: chrono::DateTime<chrono::offset::Utc>,
30519 #[serde(default, skip_serializing_if = "Option::is_none")]
30520 pub dismiss_reason: Option<String>,
30521 #[serde(default, skip_serializing_if = "Option::is_none")]
30522 pub dismissed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
30523 #[serde(default, skip_serializing_if = "Option::is_none")]
30524 pub dismisser: Option<User>,
30525 pub external_identifier: String,
30526 pub external_reference: String,
30527 #[serde(default, skip_serializing_if = "Option::is_none")]
30528 pub fix_reason: Option<String>,
30529 #[serde(default, skip_serializing_if = "Option::is_none")]
30530 pub fixed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
30531 pub fixed_in: String,
30532 pub ghsa_id: String,
30533 pub id: i64,
30534 pub node_id: String,
30535 pub number: i64,
30536 pub severity: String,
30537 pub state: RepositoryVulnerabilityAlertAlertState,
30538}
30539impl From<&RepositoryVulnerabilityAlertAlert> for RepositoryVulnerabilityAlertAlert {
30540 fn from(value: &RepositoryVulnerabilityAlertAlert) -> Self {
30541 value.clone()
30542 }
30543}
30544#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30545pub enum RepositoryVulnerabilityAlertAlertState {
30546 #[serde(rename = "open")]
30547 Open,
30548 #[serde(rename = "dismissed")]
30549 Dismissed,
30550 #[serde(rename = "fixed")]
30551 Fixed,
30552}
30553impl From<&RepositoryVulnerabilityAlertAlertState> for RepositoryVulnerabilityAlertAlertState {
30554 fn from(value: &RepositoryVulnerabilityAlertAlertState) -> Self {
30555 value.clone()
30556 }
30557}
30558impl ToString for RepositoryVulnerabilityAlertAlertState {
30559 fn to_string(&self) -> String {
30560 match *self {
30561 Self::Open => "open".to_string(),
30562 Self::Dismissed => "dismissed".to_string(),
30563 Self::Fixed => "fixed".to_string(),
30564 }
30565 }
30566}
30567impl std::str::FromStr for RepositoryVulnerabilityAlertAlertState {
30568 type Err = &'static str;
30569
30570 fn from_str(value: &str) -> Result<Self, &'static str> {
30571 match value {
30572 "open" => Ok(Self::Open),
30573 "dismissed" => Ok(Self::Dismissed),
30574 "fixed" => Ok(Self::Fixed),
30575 _ => Err("invalid value"),
30576 }
30577 }
30578}
30579impl std::convert::TryFrom<&str> for RepositoryVulnerabilityAlertAlertState {
30580 type Error = &'static str;
30581
30582 fn try_from(value: &str) -> Result<Self, &'static str> {
30583 value.parse()
30584 }
30585}
30586impl std::convert::TryFrom<&String> for RepositoryVulnerabilityAlertAlertState {
30587 type Error = &'static str;
30588
30589 fn try_from(value: &String) -> Result<Self, &'static str> {
30590 value.parse()
30591 }
30592}
30593impl std::convert::TryFrom<String> for RepositoryVulnerabilityAlertAlertState {
30594 type Error = &'static str;
30595
30596 fn try_from(value: String) -> Result<Self, &'static str> {
30597 value.parse()
30598 }
30599}
30600#[derive(Clone, Debug, Deserialize, Serialize)]
30601#[serde(deny_unknown_fields)]
30602pub struct RepositoryVulnerabilityAlertCreate {
30603 pub action: RepositoryVulnerabilityAlertCreateAction,
30604 pub alert: RepositoryVulnerabilityAlertAlert,
30605 #[serde(default, skip_serializing_if = "Option::is_none")]
30606 pub organization: Option<Organization>,
30607 pub repository: Repository,
30608 pub sender: GithubOrg,
30609}
30610impl From<&RepositoryVulnerabilityAlertCreate> for RepositoryVulnerabilityAlertCreate {
30611 fn from(value: &RepositoryVulnerabilityAlertCreate) -> Self {
30612 value.clone()
30613 }
30614}
30615#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30616pub enum RepositoryVulnerabilityAlertCreateAction {
30617 #[serde(rename = "create")]
30618 Create,
30619}
30620impl From<&RepositoryVulnerabilityAlertCreateAction> for RepositoryVulnerabilityAlertCreateAction {
30621 fn from(value: &RepositoryVulnerabilityAlertCreateAction) -> Self {
30622 value.clone()
30623 }
30624}
30625impl ToString for RepositoryVulnerabilityAlertCreateAction {
30626 fn to_string(&self) -> String {
30627 match *self {
30628 Self::Create => "create".to_string(),
30629 }
30630 }
30631}
30632impl std::str::FromStr for RepositoryVulnerabilityAlertCreateAction {
30633 type Err = &'static str;
30634
30635 fn from_str(value: &str) -> Result<Self, &'static str> {
30636 match value {
30637 "create" => Ok(Self::Create),
30638 _ => Err("invalid value"),
30639 }
30640 }
30641}
30642impl std::convert::TryFrom<&str> for RepositoryVulnerabilityAlertCreateAction {
30643 type Error = &'static str;
30644
30645 fn try_from(value: &str) -> Result<Self, &'static str> {
30646 value.parse()
30647 }
30648}
30649impl std::convert::TryFrom<&String> for RepositoryVulnerabilityAlertCreateAction {
30650 type Error = &'static str;
30651
30652 fn try_from(value: &String) -> Result<Self, &'static str> {
30653 value.parse()
30654 }
30655}
30656impl std::convert::TryFrom<String> for RepositoryVulnerabilityAlertCreateAction {
30657 type Error = &'static str;
30658
30659 fn try_from(value: String) -> Result<Self, &'static str> {
30660 value.parse()
30661 }
30662}
30663#[derive(Clone, Debug, Deserialize, Serialize)]
30664#[serde(deny_unknown_fields)]
30665pub struct RepositoryVulnerabilityAlertDismiss {
30666 pub action: RepositoryVulnerabilityAlertDismissAction,
30667 pub alert: RepositoryVulnerabilityAlertAlert,
30668 #[serde(default, skip_serializing_if = "Option::is_none")]
30669 pub organization: Option<Organization>,
30670 pub repository: Repository,
30671 pub sender: GithubOrg,
30672}
30673impl From<&RepositoryVulnerabilityAlertDismiss> for RepositoryVulnerabilityAlertDismiss {
30674 fn from(value: &RepositoryVulnerabilityAlertDismiss) -> Self {
30675 value.clone()
30676 }
30677}
30678#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30679pub enum RepositoryVulnerabilityAlertDismissAction {
30680 #[serde(rename = "dismiss")]
30681 Dismiss,
30682}
30683impl From<&RepositoryVulnerabilityAlertDismissAction>
30684 for RepositoryVulnerabilityAlertDismissAction
30685{
30686 fn from(value: &RepositoryVulnerabilityAlertDismissAction) -> Self {
30687 value.clone()
30688 }
30689}
30690impl ToString for RepositoryVulnerabilityAlertDismissAction {
30691 fn to_string(&self) -> String {
30692 match *self {
30693 Self::Dismiss => "dismiss".to_string(),
30694 }
30695 }
30696}
30697impl std::str::FromStr for RepositoryVulnerabilityAlertDismissAction {
30698 type Err = &'static str;
30699
30700 fn from_str(value: &str) -> Result<Self, &'static str> {
30701 match value {
30702 "dismiss" => Ok(Self::Dismiss),
30703 _ => Err("invalid value"),
30704 }
30705 }
30706}
30707impl std::convert::TryFrom<&str> for RepositoryVulnerabilityAlertDismissAction {
30708 type Error = &'static str;
30709
30710 fn try_from(value: &str) -> Result<Self, &'static str> {
30711 value.parse()
30712 }
30713}
30714impl std::convert::TryFrom<&String> for RepositoryVulnerabilityAlertDismissAction {
30715 type Error = &'static str;
30716
30717 fn try_from(value: &String) -> Result<Self, &'static str> {
30718 value.parse()
30719 }
30720}
30721impl std::convert::TryFrom<String> for RepositoryVulnerabilityAlertDismissAction {
30722 type Error = &'static str;
30723
30724 fn try_from(value: String) -> Result<Self, &'static str> {
30725 value.parse()
30726 }
30727}
30728#[derive(Clone, Debug, Deserialize, Serialize)]
30729#[serde(untagged)]
30730pub enum RepositoryVulnerabilityAlertEvent {
30731 Create(RepositoryVulnerabilityAlertCreate),
30732 Dismiss(RepositoryVulnerabilityAlertDismiss),
30733 Reopen(RepositoryVulnerabilityAlertReopen),
30734 Resolve(RepositoryVulnerabilityAlertResolve),
30735}
30736impl From<&RepositoryVulnerabilityAlertEvent> for RepositoryVulnerabilityAlertEvent {
30737 fn from(value: &RepositoryVulnerabilityAlertEvent) -> Self {
30738 value.clone()
30739 }
30740}
30741impl From<RepositoryVulnerabilityAlertCreate> for RepositoryVulnerabilityAlertEvent {
30742 fn from(value: RepositoryVulnerabilityAlertCreate) -> Self {
30743 Self::Create(value)
30744 }
30745}
30746impl From<RepositoryVulnerabilityAlertDismiss> for RepositoryVulnerabilityAlertEvent {
30747 fn from(value: RepositoryVulnerabilityAlertDismiss) -> Self {
30748 Self::Dismiss(value)
30749 }
30750}
30751impl From<RepositoryVulnerabilityAlertReopen> for RepositoryVulnerabilityAlertEvent {
30752 fn from(value: RepositoryVulnerabilityAlertReopen) -> Self {
30753 Self::Reopen(value)
30754 }
30755}
30756impl From<RepositoryVulnerabilityAlertResolve> for RepositoryVulnerabilityAlertEvent {
30757 fn from(value: RepositoryVulnerabilityAlertResolve) -> Self {
30758 Self::Resolve(value)
30759 }
30760}
30761#[derive(Clone, Debug, Deserialize, Serialize)]
30762#[serde(deny_unknown_fields)]
30763pub struct RepositoryVulnerabilityAlertReopen {
30764 pub action: RepositoryVulnerabilityAlertReopenAction,
30765 pub alert: RepositoryVulnerabilityAlertAlert,
30766 #[serde(default, skip_serializing_if = "Option::is_none")]
30767 pub organization: Option<Organization>,
30768 pub repository: Repository,
30769 pub sender: GithubOrg,
30770}
30771impl From<&RepositoryVulnerabilityAlertReopen> for RepositoryVulnerabilityAlertReopen {
30772 fn from(value: &RepositoryVulnerabilityAlertReopen) -> Self {
30773 value.clone()
30774 }
30775}
30776#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30777pub enum RepositoryVulnerabilityAlertReopenAction {
30778 #[serde(rename = "reopen")]
30779 Reopen,
30780}
30781impl From<&RepositoryVulnerabilityAlertReopenAction> for RepositoryVulnerabilityAlertReopenAction {
30782 fn from(value: &RepositoryVulnerabilityAlertReopenAction) -> Self {
30783 value.clone()
30784 }
30785}
30786impl ToString for RepositoryVulnerabilityAlertReopenAction {
30787 fn to_string(&self) -> String {
30788 match *self {
30789 Self::Reopen => "reopen".to_string(),
30790 }
30791 }
30792}
30793impl std::str::FromStr for RepositoryVulnerabilityAlertReopenAction {
30794 type Err = &'static str;
30795
30796 fn from_str(value: &str) -> Result<Self, &'static str> {
30797 match value {
30798 "reopen" => Ok(Self::Reopen),
30799 _ => Err("invalid value"),
30800 }
30801 }
30802}
30803impl std::convert::TryFrom<&str> for RepositoryVulnerabilityAlertReopenAction {
30804 type Error = &'static str;
30805
30806 fn try_from(value: &str) -> Result<Self, &'static str> {
30807 value.parse()
30808 }
30809}
30810impl std::convert::TryFrom<&String> for RepositoryVulnerabilityAlertReopenAction {
30811 type Error = &'static str;
30812
30813 fn try_from(value: &String) -> Result<Self, &'static str> {
30814 value.parse()
30815 }
30816}
30817impl std::convert::TryFrom<String> for RepositoryVulnerabilityAlertReopenAction {
30818 type Error = &'static str;
30819
30820 fn try_from(value: String) -> Result<Self, &'static str> {
30821 value.parse()
30822 }
30823}
30824#[derive(Clone, Debug, Deserialize, Serialize)]
30825#[serde(deny_unknown_fields)]
30826pub struct RepositoryVulnerabilityAlertResolve {
30827 pub action: RepositoryVulnerabilityAlertResolveAction,
30828 pub alert: RepositoryVulnerabilityAlertAlert,
30829 #[serde(default, skip_serializing_if = "Option::is_none")]
30830 pub organization: Option<Organization>,
30831 pub repository: Repository,
30832 pub sender: GithubOrg,
30833}
30834impl From<&RepositoryVulnerabilityAlertResolve> for RepositoryVulnerabilityAlertResolve {
30835 fn from(value: &RepositoryVulnerabilityAlertResolve) -> Self {
30836 value.clone()
30837 }
30838}
30839#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30840pub enum RepositoryVulnerabilityAlertResolveAction {
30841 #[serde(rename = "resolve")]
30842 Resolve,
30843}
30844impl From<&RepositoryVulnerabilityAlertResolveAction>
30845 for RepositoryVulnerabilityAlertResolveAction
30846{
30847 fn from(value: &RepositoryVulnerabilityAlertResolveAction) -> Self {
30848 value.clone()
30849 }
30850}
30851impl ToString for RepositoryVulnerabilityAlertResolveAction {
30852 fn to_string(&self) -> String {
30853 match *self {
30854 Self::Resolve => "resolve".to_string(),
30855 }
30856 }
30857}
30858impl std::str::FromStr for RepositoryVulnerabilityAlertResolveAction {
30859 type Err = &'static str;
30860
30861 fn from_str(value: &str) -> Result<Self, &'static str> {
30862 match value {
30863 "resolve" => Ok(Self::Resolve),
30864 _ => Err("invalid value"),
30865 }
30866 }
30867}
30868impl std::convert::TryFrom<&str> for RepositoryVulnerabilityAlertResolveAction {
30869 type Error = &'static str;
30870
30871 fn try_from(value: &str) -> Result<Self, &'static str> {
30872 value.parse()
30873 }
30874}
30875impl std::convert::TryFrom<&String> for RepositoryVulnerabilityAlertResolveAction {
30876 type Error = &'static str;
30877
30878 fn try_from(value: &String) -> Result<Self, &'static str> {
30879 value.parse()
30880 }
30881}
30882impl std::convert::TryFrom<String> for RepositoryVulnerabilityAlertResolveAction {
30883 type Error = &'static str;
30884
30885 fn try_from(value: String) -> Result<Self, &'static str> {
30886 value.parse()
30887 }
30888}
30889#[derive(Clone, Debug, Deserialize, Serialize)]
30890#[serde(deny_unknown_fields)]
30891pub struct SecretScanningAlertCreated {
30892 pub action: SecretScanningAlertCreatedAction,
30893 pub alert: SecretScanningAlertCreatedAlert,
30894 #[serde(default, skip_serializing_if = "Option::is_none")]
30895 pub installation: Option<InstallationLite>,
30896 #[serde(default, skip_serializing_if = "Option::is_none")]
30897 pub organization: Option<Organization>,
30898 pub repository: Repository,
30899}
30900impl From<&SecretScanningAlertCreated> for SecretScanningAlertCreated {
30901 fn from(value: &SecretScanningAlertCreated) -> Self {
30902 value.clone()
30903 }
30904}
30905#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
30906pub enum SecretScanningAlertCreatedAction {
30907 #[serde(rename = "created")]
30908 Created,
30909}
30910impl From<&SecretScanningAlertCreatedAction> for SecretScanningAlertCreatedAction {
30911 fn from(value: &SecretScanningAlertCreatedAction) -> Self {
30912 value.clone()
30913 }
30914}
30915impl ToString for SecretScanningAlertCreatedAction {
30916 fn to_string(&self) -> String {
30917 match *self {
30918 Self::Created => "created".to_string(),
30919 }
30920 }
30921}
30922impl std::str::FromStr for SecretScanningAlertCreatedAction {
30923 type Err = &'static str;
30924
30925 fn from_str(value: &str) -> Result<Self, &'static str> {
30926 match value {
30927 "created" => Ok(Self::Created),
30928 _ => Err("invalid value"),
30929 }
30930 }
30931}
30932impl std::convert::TryFrom<&str> for SecretScanningAlertCreatedAction {
30933 type Error = &'static str;
30934
30935 fn try_from(value: &str) -> Result<Self, &'static str> {
30936 value.parse()
30937 }
30938}
30939impl std::convert::TryFrom<&String> for SecretScanningAlertCreatedAction {
30940 type Error = &'static str;
30941
30942 fn try_from(value: &String) -> Result<Self, &'static str> {
30943 value.parse()
30944 }
30945}
30946impl std::convert::TryFrom<String> for SecretScanningAlertCreatedAction {
30947 type Error = &'static str;
30948
30949 fn try_from(value: String) -> Result<Self, &'static str> {
30950 value.parse()
30951 }
30952}
30953#[derive(Clone, Debug, Deserialize, Serialize)]
30955#[serde(deny_unknown_fields)]
30956pub struct SecretScanningAlertCreatedAlert {
30957 pub number: i64,
30958 pub resolution: (),
30959 pub resolved_at: (),
30960 pub resolved_by: (),
30961 pub secret_type: String,
30962}
30963impl From<&SecretScanningAlertCreatedAlert> for SecretScanningAlertCreatedAlert {
30964 fn from(value: &SecretScanningAlertCreatedAlert) -> Self {
30965 value.clone()
30966 }
30967}
30968#[derive(Clone, Debug, Deserialize, Serialize)]
30969#[serde(untagged)]
30970pub enum SecretScanningAlertEvent {
30971 Created(SecretScanningAlertCreated),
30972 Reopened(SecretScanningAlertReopened),
30973 Resolved(SecretScanningAlertResolved),
30974}
30975impl From<&SecretScanningAlertEvent> for SecretScanningAlertEvent {
30976 fn from(value: &SecretScanningAlertEvent) -> Self {
30977 value.clone()
30978 }
30979}
30980impl From<SecretScanningAlertCreated> for SecretScanningAlertEvent {
30981 fn from(value: SecretScanningAlertCreated) -> Self {
30982 Self::Created(value)
30983 }
30984}
30985impl From<SecretScanningAlertReopened> for SecretScanningAlertEvent {
30986 fn from(value: SecretScanningAlertReopened) -> Self {
30987 Self::Reopened(value)
30988 }
30989}
30990impl From<SecretScanningAlertResolved> for SecretScanningAlertEvent {
30991 fn from(value: SecretScanningAlertResolved) -> Self {
30992 Self::Resolved(value)
30993 }
30994}
30995#[derive(Clone, Debug, Deserialize, Serialize)]
30996#[serde(deny_unknown_fields)]
30997pub struct SecretScanningAlertReopened {
30998 pub action: SecretScanningAlertReopenedAction,
30999 pub alert: SecretScanningAlertReopenedAlert,
31000 #[serde(default, skip_serializing_if = "Option::is_none")]
31001 pub installation: Option<InstallationLite>,
31002 #[serde(default, skip_serializing_if = "Option::is_none")]
31003 pub organization: Option<Organization>,
31004 pub repository: Repository,
31005 pub sender: User,
31006}
31007impl From<&SecretScanningAlertReopened> for SecretScanningAlertReopened {
31008 fn from(value: &SecretScanningAlertReopened) -> Self {
31009 value.clone()
31010 }
31011}
31012#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
31013pub enum SecretScanningAlertReopenedAction {
31014 #[serde(rename = "reopened")]
31015 Reopened,
31016}
31017impl From<&SecretScanningAlertReopenedAction> for SecretScanningAlertReopenedAction {
31018 fn from(value: &SecretScanningAlertReopenedAction) -> Self {
31019 value.clone()
31020 }
31021}
31022impl ToString for SecretScanningAlertReopenedAction {
31023 fn to_string(&self) -> String {
31024 match *self {
31025 Self::Reopened => "reopened".to_string(),
31026 }
31027 }
31028}
31029impl std::str::FromStr for SecretScanningAlertReopenedAction {
31030 type Err = &'static str;
31031
31032 fn from_str(value: &str) -> Result<Self, &'static str> {
31033 match value {
31034 "reopened" => Ok(Self::Reopened),
31035 _ => Err("invalid value"),
31036 }
31037 }
31038}
31039impl std::convert::TryFrom<&str> for SecretScanningAlertReopenedAction {
31040 type Error = &'static str;
31041
31042 fn try_from(value: &str) -> Result<Self, &'static str> {
31043 value.parse()
31044 }
31045}
31046impl std::convert::TryFrom<&String> for SecretScanningAlertReopenedAction {
31047 type Error = &'static str;
31048
31049 fn try_from(value: &String) -> Result<Self, &'static str> {
31050 value.parse()
31051 }
31052}
31053impl std::convert::TryFrom<String> for SecretScanningAlertReopenedAction {
31054 type Error = &'static str;
31055
31056 fn try_from(value: String) -> Result<Self, &'static str> {
31057 value.parse()
31058 }
31059}
31060#[derive(Clone, Debug, Deserialize, Serialize)]
31062#[serde(deny_unknown_fields)]
31063pub struct SecretScanningAlertReopenedAlert {
31064 pub number: i64,
31065 pub resolution: (),
31066 pub resolved_at: (),
31067 pub resolved_by: (),
31068 pub secret_type: String,
31069}
31070impl From<&SecretScanningAlertReopenedAlert> for SecretScanningAlertReopenedAlert {
31071 fn from(value: &SecretScanningAlertReopenedAlert) -> Self {
31072 value.clone()
31073 }
31074}
31075#[derive(Clone, Debug, Deserialize, Serialize)]
31076#[serde(deny_unknown_fields)]
31077pub struct SecretScanningAlertResolved {
31078 pub action: SecretScanningAlertResolvedAction,
31079 pub alert: SecretScanningAlertResolvedAlert,
31080 #[serde(default, skip_serializing_if = "Option::is_none")]
31081 pub installation: Option<InstallationLite>,
31082 #[serde(default, skip_serializing_if = "Option::is_none")]
31083 pub organization: Option<Organization>,
31084 pub repository: Repository,
31085 pub sender: User,
31086}
31087impl From<&SecretScanningAlertResolved> for SecretScanningAlertResolved {
31088 fn from(value: &SecretScanningAlertResolved) -> Self {
31089 value.clone()
31090 }
31091}
31092#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
31093pub enum SecretScanningAlertResolvedAction {
31094 #[serde(rename = "resolved")]
31095 Resolved,
31096}
31097impl From<&SecretScanningAlertResolvedAction> for SecretScanningAlertResolvedAction {
31098 fn from(value: &SecretScanningAlertResolvedAction) -> Self {
31099 value.clone()
31100 }
31101}
31102impl ToString for SecretScanningAlertResolvedAction {
31103 fn to_string(&self) -> String {
31104 match *self {
31105 Self::Resolved => "resolved".to_string(),
31106 }
31107 }
31108}
31109impl std::str::FromStr for SecretScanningAlertResolvedAction {
31110 type Err = &'static str;
31111
31112 fn from_str(value: &str) -> Result<Self, &'static str> {
31113 match value {
31114 "resolved" => Ok(Self::Resolved),
31115 _ => Err("invalid value"),
31116 }
31117 }
31118}
31119impl std::convert::TryFrom<&str> for SecretScanningAlertResolvedAction {
31120 type Error = &'static str;
31121
31122 fn try_from(value: &str) -> Result<Self, &'static str> {
31123 value.parse()
31124 }
31125}
31126impl std::convert::TryFrom<&String> for SecretScanningAlertResolvedAction {
31127 type Error = &'static str;
31128
31129 fn try_from(value: &String) -> Result<Self, &'static str> {
31130 value.parse()
31131 }
31132}
31133impl std::convert::TryFrom<String> for SecretScanningAlertResolvedAction {
31134 type Error = &'static str;
31135
31136 fn try_from(value: String) -> Result<Self, &'static str> {
31137 value.parse()
31138 }
31139}
31140#[derive(Clone, Debug, Deserialize, Serialize)]
31142#[serde(deny_unknown_fields)]
31143pub struct SecretScanningAlertResolvedAlert {
31144 pub number: i64,
31145 pub resolution: SecretScanningAlertResolvedAlertResolution,
31146 pub resolved_at: chrono::DateTime<chrono::offset::Utc>,
31147 pub resolved_by: User,
31148 pub secret_type: String,
31149}
31150impl From<&SecretScanningAlertResolvedAlert> for SecretScanningAlertResolvedAlert {
31151 fn from(value: &SecretScanningAlertResolvedAlert) -> Self {
31152 value.clone()
31153 }
31154}
31155#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
31156pub enum SecretScanningAlertResolvedAlertResolution {
31157 #[serde(rename = "false_positive")]
31158 FalsePositive,
31159 #[serde(rename = "wontfix")]
31160 Wontfix,
31161 #[serde(rename = "revoked")]
31162 Revoked,
31163 #[serde(rename = "used_in_tests")]
31164 UsedInTests,
31165}
31166impl From<&SecretScanningAlertResolvedAlertResolution>
31167 for SecretScanningAlertResolvedAlertResolution
31168{
31169 fn from(value: &SecretScanningAlertResolvedAlertResolution) -> Self {
31170 value.clone()
31171 }
31172}
31173impl ToString for SecretScanningAlertResolvedAlertResolution {
31174 fn to_string(&self) -> String {
31175 match *self {
31176 Self::FalsePositive => "false_positive".to_string(),
31177 Self::Wontfix => "wontfix".to_string(),
31178 Self::Revoked => "revoked".to_string(),
31179 Self::UsedInTests => "used_in_tests".to_string(),
31180 }
31181 }
31182}
31183impl std::str::FromStr for SecretScanningAlertResolvedAlertResolution {
31184 type Err = &'static str;
31185
31186 fn from_str(value: &str) -> Result<Self, &'static str> {
31187 match value {
31188 "false_positive" => Ok(Self::FalsePositive),
31189 "wontfix" => Ok(Self::Wontfix),
31190 "revoked" => Ok(Self::Revoked),
31191 "used_in_tests" => Ok(Self::UsedInTests),
31192 _ => Err("invalid value"),
31193 }
31194 }
31195}
31196impl std::convert::TryFrom<&str> for SecretScanningAlertResolvedAlertResolution {
31197 type Error = &'static str;
31198
31199 fn try_from(value: &str) -> Result<Self, &'static str> {
31200 value.parse()
31201 }
31202}
31203impl std::convert::TryFrom<&String> for SecretScanningAlertResolvedAlertResolution {
31204 type Error = &'static str;
31205
31206 fn try_from(value: &String) -> Result<Self, &'static str> {
31207 value.parse()
31208 }
31209}
31210impl std::convert::TryFrom<String> for SecretScanningAlertResolvedAlertResolution {
31211 type Error = &'static str;
31212
31213 fn try_from(value: String) -> Result<Self, &'static str> {
31214 value.parse()
31215 }
31216}
31217#[derive(Clone, Debug, Deserialize, Serialize)]
31220#[serde(deny_unknown_fields)]
31221pub struct SecurityAdvisoryCvss {
31222 pub score: f64,
31223 pub vector_string: Option<String>,
31225}
31226impl From<&SecurityAdvisoryCvss> for SecurityAdvisoryCvss {
31227 fn from(value: &SecurityAdvisoryCvss) -> Self {
31228 value.clone()
31229 }
31230}
31231#[derive(Clone, Debug, Deserialize, Serialize)]
31233#[serde(deny_unknown_fields)]
31234pub struct SecurityAdvisoryCwes {
31235 pub cwe_id: String,
31237 pub name: String,
31239}
31240impl From<&SecurityAdvisoryCwes> for SecurityAdvisoryCwes {
31241 fn from(value: &SecurityAdvisoryCwes) -> Self {
31242 value.clone()
31243 }
31244}
31245#[derive(Clone, Debug, Deserialize, Serialize)]
31246#[serde(untagged)]
31247pub enum SecurityAdvisoryEvent {
31248 Performed(SecurityAdvisoryPerformed),
31249 Published(SecurityAdvisoryPublished),
31250 Updated(SecurityAdvisoryUpdated),
31251 Withdrawn(SecurityAdvisoryWithdrawn),
31252}
31253impl From<&SecurityAdvisoryEvent> for SecurityAdvisoryEvent {
31254 fn from(value: &SecurityAdvisoryEvent) -> Self {
31255 value.clone()
31256 }
31257}
31258impl From<SecurityAdvisoryPerformed> for SecurityAdvisoryEvent {
31259 fn from(value: SecurityAdvisoryPerformed) -> Self {
31260 Self::Performed(value)
31261 }
31262}
31263impl From<SecurityAdvisoryPublished> for SecurityAdvisoryEvent {
31264 fn from(value: SecurityAdvisoryPublished) -> Self {
31265 Self::Published(value)
31266 }
31267}
31268impl From<SecurityAdvisoryUpdated> for SecurityAdvisoryEvent {
31269 fn from(value: SecurityAdvisoryUpdated) -> Self {
31270 Self::Updated(value)
31271 }
31272}
31273impl From<SecurityAdvisoryWithdrawn> for SecurityAdvisoryEvent {
31274 fn from(value: SecurityAdvisoryWithdrawn) -> Self {
31275 Self::Withdrawn(value)
31276 }
31277}
31278#[derive(Clone, Debug, Deserialize, Serialize)]
31279#[serde(deny_unknown_fields)]
31280pub struct SecurityAdvisoryPerformed {
31281 pub action: SecurityAdvisoryPerformedAction,
31282 pub security_advisory: SecurityAdvisoryPerformedSecurityAdvisory,
31283}
31284impl From<&SecurityAdvisoryPerformed> for SecurityAdvisoryPerformed {
31285 fn from(value: &SecurityAdvisoryPerformed) -> Self {
31286 value.clone()
31287 }
31288}
31289#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
31290pub enum SecurityAdvisoryPerformedAction {
31291 #[serde(rename = "performed")]
31292 Performed,
31293}
31294impl From<&SecurityAdvisoryPerformedAction> for SecurityAdvisoryPerformedAction {
31295 fn from(value: &SecurityAdvisoryPerformedAction) -> Self {
31296 value.clone()
31297 }
31298}
31299impl ToString for SecurityAdvisoryPerformedAction {
31300 fn to_string(&self) -> String {
31301 match *self {
31302 Self::Performed => "performed".to_string(),
31303 }
31304 }
31305}
31306impl std::str::FromStr for SecurityAdvisoryPerformedAction {
31307 type Err = &'static str;
31308
31309 fn from_str(value: &str) -> Result<Self, &'static str> {
31310 match value {
31311 "performed" => Ok(Self::Performed),
31312 _ => Err("invalid value"),
31313 }
31314 }
31315}
31316impl std::convert::TryFrom<&str> for SecurityAdvisoryPerformedAction {
31317 type Error = &'static str;
31318
31319 fn try_from(value: &str) -> Result<Self, &'static str> {
31320 value.parse()
31321 }
31322}
31323impl std::convert::TryFrom<&String> for SecurityAdvisoryPerformedAction {
31324 type Error = &'static str;
31325
31326 fn try_from(value: &String) -> Result<Self, &'static str> {
31327 value.parse()
31328 }
31329}
31330impl std::convert::TryFrom<String> for SecurityAdvisoryPerformedAction {
31331 type Error = &'static str;
31332
31333 fn try_from(value: String) -> Result<Self, &'static str> {
31334 value.parse()
31335 }
31336}
31337#[derive(Clone, Debug, Deserialize, Serialize)]
31340#[serde(deny_unknown_fields)]
31341pub struct SecurityAdvisoryPerformedSecurityAdvisory {
31342 pub cve_id: Option<String>,
31343 pub cvss: SecurityAdvisoryPerformedSecurityAdvisoryCvss,
31344 pub cwes: Vec<SecurityAdvisoryPerformedSecurityAdvisoryCwesItem>,
31345 pub description: String,
31346 pub ghsa_id: String,
31347 pub identifiers: Vec<SecurityAdvisoryPerformedSecurityAdvisoryIdentifiersItem>,
31348 pub published_at: chrono::DateTime<chrono::offset::Utc>,
31349 pub references: Vec<SecurityAdvisoryPerformedSecurityAdvisoryReferencesItem>,
31350 pub severity: String,
31351 pub summary: String,
31352 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
31353 pub vulnerabilities: Vec<SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItem>,
31354 pub withdrawn_at: Option<chrono::DateTime<chrono::offset::Utc>>,
31355}
31356impl From<&SecurityAdvisoryPerformedSecurityAdvisory>
31357 for SecurityAdvisoryPerformedSecurityAdvisory
31358{
31359 fn from(value: &SecurityAdvisoryPerformedSecurityAdvisory) -> Self {
31360 value.clone()
31361 }
31362}
31363#[derive(Clone, Debug, Deserialize, Serialize)]
31364#[serde(deny_unknown_fields)]
31365pub struct SecurityAdvisoryPerformedSecurityAdvisoryCvss {
31366 pub score: f64,
31367 pub vector_string: Option<String>,
31368}
31369impl From<&SecurityAdvisoryPerformedSecurityAdvisoryCvss>
31370 for SecurityAdvisoryPerformedSecurityAdvisoryCvss
31371{
31372 fn from(value: &SecurityAdvisoryPerformedSecurityAdvisoryCvss) -> Self {
31373 value.clone()
31374 }
31375}
31376#[derive(Clone, Debug, Deserialize, Serialize)]
31377#[serde(deny_unknown_fields)]
31378pub struct SecurityAdvisoryPerformedSecurityAdvisoryCwesItem {
31379 pub cwe_id: String,
31380 pub name: String,
31381}
31382impl From<&SecurityAdvisoryPerformedSecurityAdvisoryCwesItem>
31383 for SecurityAdvisoryPerformedSecurityAdvisoryCwesItem
31384{
31385 fn from(value: &SecurityAdvisoryPerformedSecurityAdvisoryCwesItem) -> Self {
31386 value.clone()
31387 }
31388}
31389#[derive(Clone, Debug, Deserialize, Serialize)]
31390#[serde(deny_unknown_fields)]
31391pub struct SecurityAdvisoryPerformedSecurityAdvisoryIdentifiersItem {
31392 #[serde(rename = "type")]
31393 pub type_: String,
31394 pub value: String,
31395}
31396impl From<&SecurityAdvisoryPerformedSecurityAdvisoryIdentifiersItem>
31397 for SecurityAdvisoryPerformedSecurityAdvisoryIdentifiersItem
31398{
31399 fn from(value: &SecurityAdvisoryPerformedSecurityAdvisoryIdentifiersItem) -> Self {
31400 value.clone()
31401 }
31402}
31403#[derive(Clone, Debug, Deserialize, Serialize)]
31404#[serde(deny_unknown_fields)]
31405pub struct SecurityAdvisoryPerformedSecurityAdvisoryReferencesItem {
31406 pub url: String,
31407}
31408impl From<&SecurityAdvisoryPerformedSecurityAdvisoryReferencesItem>
31409 for SecurityAdvisoryPerformedSecurityAdvisoryReferencesItem
31410{
31411 fn from(value: &SecurityAdvisoryPerformedSecurityAdvisoryReferencesItem) -> Self {
31412 value.clone()
31413 }
31414}
31415#[derive(Clone, Debug, Deserialize, Serialize)]
31416#[serde(deny_unknown_fields)]
31417pub struct SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItem {
31418 pub first_patched_version:
31419 Option<SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion>,
31420 pub package: SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItemPackage,
31421 pub severity: String,
31422 pub vulnerable_version_range: String,
31423}
31424impl From<&SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItem>
31425 for SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItem
31426{
31427 fn from(value: &SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItem) -> Self {
31428 value.clone()
31429 }
31430}
31431#[derive(Clone, Debug, Deserialize, Serialize)]
31432#[serde(deny_unknown_fields)]
31433pub struct SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion {
31434 pub identifier: String,
31435}
31436impl From<&SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion>
31437 for SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion
31438{
31439 fn from(
31440 value: &SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion,
31441 ) -> Self {
31442 value.clone()
31443 }
31444}
31445#[derive(Clone, Debug, Deserialize, Serialize)]
31446#[serde(deny_unknown_fields)]
31447pub struct SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItemPackage {
31448 pub ecosystem: String,
31449 pub name: String,
31450}
31451impl From<&SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItemPackage>
31452 for SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItemPackage
31453{
31454 fn from(value: &SecurityAdvisoryPerformedSecurityAdvisoryVulnerabilitiesItemPackage) -> Self {
31455 value.clone()
31456 }
31457}
31458#[derive(Clone, Debug, Deserialize, Serialize)]
31459#[serde(deny_unknown_fields)]
31460pub struct SecurityAdvisoryPublished {
31461 pub action: SecurityAdvisoryPublishedAction,
31462 pub security_advisory: SecurityAdvisoryPublishedSecurityAdvisory,
31463}
31464impl From<&SecurityAdvisoryPublished> for SecurityAdvisoryPublished {
31465 fn from(value: &SecurityAdvisoryPublished) -> Self {
31466 value.clone()
31467 }
31468}
31469#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
31470pub enum SecurityAdvisoryPublishedAction {
31471 #[serde(rename = "published")]
31472 Published,
31473}
31474impl From<&SecurityAdvisoryPublishedAction> for SecurityAdvisoryPublishedAction {
31475 fn from(value: &SecurityAdvisoryPublishedAction) -> Self {
31476 value.clone()
31477 }
31478}
31479impl ToString for SecurityAdvisoryPublishedAction {
31480 fn to_string(&self) -> String {
31481 match *self {
31482 Self::Published => "published".to_string(),
31483 }
31484 }
31485}
31486impl std::str::FromStr for SecurityAdvisoryPublishedAction {
31487 type Err = &'static str;
31488
31489 fn from_str(value: &str) -> Result<Self, &'static str> {
31490 match value {
31491 "published" => Ok(Self::Published),
31492 _ => Err("invalid value"),
31493 }
31494 }
31495}
31496impl std::convert::TryFrom<&str> for SecurityAdvisoryPublishedAction {
31497 type Error = &'static str;
31498
31499 fn try_from(value: &str) -> Result<Self, &'static str> {
31500 value.parse()
31501 }
31502}
31503impl std::convert::TryFrom<&String> for SecurityAdvisoryPublishedAction {
31504 type Error = &'static str;
31505
31506 fn try_from(value: &String) -> Result<Self, &'static str> {
31507 value.parse()
31508 }
31509}
31510impl std::convert::TryFrom<String> for SecurityAdvisoryPublishedAction {
31511 type Error = &'static str;
31512
31513 fn try_from(value: String) -> Result<Self, &'static str> {
31514 value.parse()
31515 }
31516}
31517#[derive(Clone, Debug, Deserialize, Serialize)]
31520#[serde(deny_unknown_fields)]
31521pub struct SecurityAdvisoryPublishedSecurityAdvisory {
31522 pub cve_id: Option<String>,
31523 pub cvss: SecurityAdvisoryPublishedSecurityAdvisoryCvss,
31524 pub cwes: Vec<SecurityAdvisoryPublishedSecurityAdvisoryCwesItem>,
31525 pub description: String,
31526 pub ghsa_id: String,
31527 pub identifiers: Vec<SecurityAdvisoryPublishedSecurityAdvisoryIdentifiersItem>,
31528 pub published_at: chrono::DateTime<chrono::offset::Utc>,
31529 pub references: Vec<SecurityAdvisoryPublishedSecurityAdvisoryReferencesItem>,
31530 pub severity: String,
31531 pub summary: String,
31532 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
31533 pub vulnerabilities: Vec<SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItem>,
31534 pub withdrawn_at: Option<chrono::DateTime<chrono::offset::Utc>>,
31535}
31536impl From<&SecurityAdvisoryPublishedSecurityAdvisory>
31537 for SecurityAdvisoryPublishedSecurityAdvisory
31538{
31539 fn from(value: &SecurityAdvisoryPublishedSecurityAdvisory) -> Self {
31540 value.clone()
31541 }
31542}
31543#[derive(Clone, Debug, Deserialize, Serialize)]
31544#[serde(deny_unknown_fields)]
31545pub struct SecurityAdvisoryPublishedSecurityAdvisoryCvss {
31546 pub score: f64,
31547 pub vector_string: Option<String>,
31548}
31549impl From<&SecurityAdvisoryPublishedSecurityAdvisoryCvss>
31550 for SecurityAdvisoryPublishedSecurityAdvisoryCvss
31551{
31552 fn from(value: &SecurityAdvisoryPublishedSecurityAdvisoryCvss) -> Self {
31553 value.clone()
31554 }
31555}
31556#[derive(Clone, Debug, Deserialize, Serialize)]
31557#[serde(deny_unknown_fields)]
31558pub struct SecurityAdvisoryPublishedSecurityAdvisoryCwesItem {
31559 pub cwe_id: String,
31560 pub name: String,
31561}
31562impl From<&SecurityAdvisoryPublishedSecurityAdvisoryCwesItem>
31563 for SecurityAdvisoryPublishedSecurityAdvisoryCwesItem
31564{
31565 fn from(value: &SecurityAdvisoryPublishedSecurityAdvisoryCwesItem) -> Self {
31566 value.clone()
31567 }
31568}
31569#[derive(Clone, Debug, Deserialize, Serialize)]
31570#[serde(deny_unknown_fields)]
31571pub struct SecurityAdvisoryPublishedSecurityAdvisoryIdentifiersItem {
31572 #[serde(rename = "type")]
31573 pub type_: String,
31574 pub value: String,
31575}
31576impl From<&SecurityAdvisoryPublishedSecurityAdvisoryIdentifiersItem>
31577 for SecurityAdvisoryPublishedSecurityAdvisoryIdentifiersItem
31578{
31579 fn from(value: &SecurityAdvisoryPublishedSecurityAdvisoryIdentifiersItem) -> Self {
31580 value.clone()
31581 }
31582}
31583#[derive(Clone, Debug, Deserialize, Serialize)]
31584#[serde(deny_unknown_fields)]
31585pub struct SecurityAdvisoryPublishedSecurityAdvisoryReferencesItem {
31586 pub url: String,
31587}
31588impl From<&SecurityAdvisoryPublishedSecurityAdvisoryReferencesItem>
31589 for SecurityAdvisoryPublishedSecurityAdvisoryReferencesItem
31590{
31591 fn from(value: &SecurityAdvisoryPublishedSecurityAdvisoryReferencesItem) -> Self {
31592 value.clone()
31593 }
31594}
31595#[derive(Clone, Debug, Deserialize, Serialize)]
31596#[serde(deny_unknown_fields)]
31597pub struct SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItem {
31598 pub first_patched_version:
31599 Option<SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion>,
31600 pub package: SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItemPackage,
31601 pub severity: String,
31602 pub vulnerable_version_range: String,
31603}
31604impl From<&SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItem>
31605 for SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItem
31606{
31607 fn from(value: &SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItem) -> Self {
31608 value.clone()
31609 }
31610}
31611#[derive(Clone, Debug, Deserialize, Serialize)]
31612#[serde(deny_unknown_fields)]
31613pub struct SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion {
31614 pub identifier: String,
31615}
31616impl From<&SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion>
31617 for SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion
31618{
31619 fn from(
31620 value: &SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion,
31621 ) -> Self {
31622 value.clone()
31623 }
31624}
31625#[derive(Clone, Debug, Deserialize, Serialize)]
31626#[serde(deny_unknown_fields)]
31627pub struct SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItemPackage {
31628 pub ecosystem: String,
31629 pub name: String,
31630}
31631impl From<&SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItemPackage>
31632 for SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItemPackage
31633{
31634 fn from(value: &SecurityAdvisoryPublishedSecurityAdvisoryVulnerabilitiesItemPackage) -> Self {
31635 value.clone()
31636 }
31637}
31638#[derive(Clone, Debug, Deserialize, Serialize)]
31639#[serde(deny_unknown_fields)]
31640pub struct SecurityAdvisoryUpdated {
31641 pub action: SecurityAdvisoryUpdatedAction,
31642 pub security_advisory: SecurityAdvisoryUpdatedSecurityAdvisory,
31643}
31644impl From<&SecurityAdvisoryUpdated> for SecurityAdvisoryUpdated {
31645 fn from(value: &SecurityAdvisoryUpdated) -> Self {
31646 value.clone()
31647 }
31648}
31649#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
31650pub enum SecurityAdvisoryUpdatedAction {
31651 #[serde(rename = "updated")]
31652 Updated,
31653}
31654impl From<&SecurityAdvisoryUpdatedAction> for SecurityAdvisoryUpdatedAction {
31655 fn from(value: &SecurityAdvisoryUpdatedAction) -> Self {
31656 value.clone()
31657 }
31658}
31659impl ToString for SecurityAdvisoryUpdatedAction {
31660 fn to_string(&self) -> String {
31661 match *self {
31662 Self::Updated => "updated".to_string(),
31663 }
31664 }
31665}
31666impl std::str::FromStr for SecurityAdvisoryUpdatedAction {
31667 type Err = &'static str;
31668
31669 fn from_str(value: &str) -> Result<Self, &'static str> {
31670 match value {
31671 "updated" => Ok(Self::Updated),
31672 _ => Err("invalid value"),
31673 }
31674 }
31675}
31676impl std::convert::TryFrom<&str> for SecurityAdvisoryUpdatedAction {
31677 type Error = &'static str;
31678
31679 fn try_from(value: &str) -> Result<Self, &'static str> {
31680 value.parse()
31681 }
31682}
31683impl std::convert::TryFrom<&String> for SecurityAdvisoryUpdatedAction {
31684 type Error = &'static str;
31685
31686 fn try_from(value: &String) -> Result<Self, &'static str> {
31687 value.parse()
31688 }
31689}
31690impl std::convert::TryFrom<String> for SecurityAdvisoryUpdatedAction {
31691 type Error = &'static str;
31692
31693 fn try_from(value: String) -> Result<Self, &'static str> {
31694 value.parse()
31695 }
31696}
31697#[derive(Clone, Debug, Deserialize, Serialize)]
31700#[serde(deny_unknown_fields)]
31701pub struct SecurityAdvisoryUpdatedSecurityAdvisory {
31702 pub cve_id: Option<String>,
31703 pub cvss: SecurityAdvisoryUpdatedSecurityAdvisoryCvss,
31704 pub cwes: Vec<SecurityAdvisoryUpdatedSecurityAdvisoryCwesItem>,
31705 pub description: String,
31706 pub ghsa_id: String,
31707 pub identifiers: Vec<SecurityAdvisoryUpdatedSecurityAdvisoryIdentifiersItem>,
31708 pub published_at: chrono::DateTime<chrono::offset::Utc>,
31709 pub references: Vec<SecurityAdvisoryUpdatedSecurityAdvisoryReferencesItem>,
31710 pub severity: String,
31711 pub summary: String,
31712 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
31713 pub vulnerabilities: Vec<SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItem>,
31714 pub withdrawn_at: Option<chrono::DateTime<chrono::offset::Utc>>,
31715}
31716impl From<&SecurityAdvisoryUpdatedSecurityAdvisory> for SecurityAdvisoryUpdatedSecurityAdvisory {
31717 fn from(value: &SecurityAdvisoryUpdatedSecurityAdvisory) -> Self {
31718 value.clone()
31719 }
31720}
31721#[derive(Clone, Debug, Deserialize, Serialize)]
31722#[serde(deny_unknown_fields)]
31723pub struct SecurityAdvisoryUpdatedSecurityAdvisoryCvss {
31724 pub score: f64,
31725 pub vector_string: Option<String>,
31726}
31727impl From<&SecurityAdvisoryUpdatedSecurityAdvisoryCvss>
31728 for SecurityAdvisoryUpdatedSecurityAdvisoryCvss
31729{
31730 fn from(value: &SecurityAdvisoryUpdatedSecurityAdvisoryCvss) -> Self {
31731 value.clone()
31732 }
31733}
31734#[derive(Clone, Debug, Deserialize, Serialize)]
31735#[serde(deny_unknown_fields)]
31736pub struct SecurityAdvisoryUpdatedSecurityAdvisoryCwesItem {
31737 pub cwe_id: String,
31738 pub name: String,
31739}
31740impl From<&SecurityAdvisoryUpdatedSecurityAdvisoryCwesItem>
31741 for SecurityAdvisoryUpdatedSecurityAdvisoryCwesItem
31742{
31743 fn from(value: &SecurityAdvisoryUpdatedSecurityAdvisoryCwesItem) -> Self {
31744 value.clone()
31745 }
31746}
31747#[derive(Clone, Debug, Deserialize, Serialize)]
31748#[serde(deny_unknown_fields)]
31749pub struct SecurityAdvisoryUpdatedSecurityAdvisoryIdentifiersItem {
31750 #[serde(rename = "type")]
31751 pub type_: String,
31752 pub value: String,
31753}
31754impl From<&SecurityAdvisoryUpdatedSecurityAdvisoryIdentifiersItem>
31755 for SecurityAdvisoryUpdatedSecurityAdvisoryIdentifiersItem
31756{
31757 fn from(value: &SecurityAdvisoryUpdatedSecurityAdvisoryIdentifiersItem) -> Self {
31758 value.clone()
31759 }
31760}
31761#[derive(Clone, Debug, Deserialize, Serialize)]
31762#[serde(deny_unknown_fields)]
31763pub struct SecurityAdvisoryUpdatedSecurityAdvisoryReferencesItem {
31764 pub url: String,
31765}
31766impl From<&SecurityAdvisoryUpdatedSecurityAdvisoryReferencesItem>
31767 for SecurityAdvisoryUpdatedSecurityAdvisoryReferencesItem
31768{
31769 fn from(value: &SecurityAdvisoryUpdatedSecurityAdvisoryReferencesItem) -> Self {
31770 value.clone()
31771 }
31772}
31773#[derive(Clone, Debug, Deserialize, Serialize)]
31774#[serde(deny_unknown_fields)]
31775pub struct SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItem {
31776 pub first_patched_version:
31777 Option<SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion>,
31778 pub package: SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItemPackage,
31779 pub severity: String,
31780 pub vulnerable_version_range: String,
31781}
31782impl From<&SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItem>
31783 for SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItem
31784{
31785 fn from(value: &SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItem) -> Self {
31786 value.clone()
31787 }
31788}
31789#[derive(Clone, Debug, Deserialize, Serialize)]
31790#[serde(deny_unknown_fields)]
31791pub struct SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion {
31792 pub identifier: String,
31793}
31794impl From<&SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion>
31795 for SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion
31796{
31797 fn from(
31798 value: &SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion,
31799 ) -> Self {
31800 value.clone()
31801 }
31802}
31803#[derive(Clone, Debug, Deserialize, Serialize)]
31804#[serde(deny_unknown_fields)]
31805pub struct SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItemPackage {
31806 pub ecosystem: String,
31807 pub name: String,
31808}
31809impl From<&SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItemPackage>
31810 for SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItemPackage
31811{
31812 fn from(value: &SecurityAdvisoryUpdatedSecurityAdvisoryVulnerabilitiesItemPackage) -> Self {
31813 value.clone()
31814 }
31815}
31816#[derive(Clone, Debug, Deserialize, Serialize)]
31817#[serde(deny_unknown_fields)]
31818pub struct SecurityAdvisoryWithdrawn {
31819 pub action: SecurityAdvisoryWithdrawnAction,
31820 pub security_advisory: SecurityAdvisoryWithdrawnSecurityAdvisory,
31821}
31822impl From<&SecurityAdvisoryWithdrawn> for SecurityAdvisoryWithdrawn {
31823 fn from(value: &SecurityAdvisoryWithdrawn) -> Self {
31824 value.clone()
31825 }
31826}
31827#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
31828pub enum SecurityAdvisoryWithdrawnAction {
31829 #[serde(rename = "withdrawn")]
31830 Withdrawn,
31831}
31832impl From<&SecurityAdvisoryWithdrawnAction> for SecurityAdvisoryWithdrawnAction {
31833 fn from(value: &SecurityAdvisoryWithdrawnAction) -> Self {
31834 value.clone()
31835 }
31836}
31837impl ToString for SecurityAdvisoryWithdrawnAction {
31838 fn to_string(&self) -> String {
31839 match *self {
31840 Self::Withdrawn => "withdrawn".to_string(),
31841 }
31842 }
31843}
31844impl std::str::FromStr for SecurityAdvisoryWithdrawnAction {
31845 type Err = &'static str;
31846
31847 fn from_str(value: &str) -> Result<Self, &'static str> {
31848 match value {
31849 "withdrawn" => Ok(Self::Withdrawn),
31850 _ => Err("invalid value"),
31851 }
31852 }
31853}
31854impl std::convert::TryFrom<&str> for SecurityAdvisoryWithdrawnAction {
31855 type Error = &'static str;
31856
31857 fn try_from(value: &str) -> Result<Self, &'static str> {
31858 value.parse()
31859 }
31860}
31861impl std::convert::TryFrom<&String> for SecurityAdvisoryWithdrawnAction {
31862 type Error = &'static str;
31863
31864 fn try_from(value: &String) -> Result<Self, &'static str> {
31865 value.parse()
31866 }
31867}
31868impl std::convert::TryFrom<String> for SecurityAdvisoryWithdrawnAction {
31869 type Error = &'static str;
31870
31871 fn try_from(value: String) -> Result<Self, &'static str> {
31872 value.parse()
31873 }
31874}
31875#[derive(Clone, Debug, Deserialize, Serialize)]
31878#[serde(deny_unknown_fields)]
31879pub struct SecurityAdvisoryWithdrawnSecurityAdvisory {
31880 pub cve_id: Option<String>,
31881 pub cvss: SecurityAdvisoryWithdrawnSecurityAdvisoryCvss,
31882 pub cwes: Vec<SecurityAdvisoryWithdrawnSecurityAdvisoryCwesItem>,
31883 pub description: String,
31884 pub ghsa_id: String,
31885 pub identifiers: Vec<SecurityAdvisoryWithdrawnSecurityAdvisoryIdentifiersItem>,
31886 pub published_at: chrono::DateTime<chrono::offset::Utc>,
31887 pub references: Vec<SecurityAdvisoryWithdrawnSecurityAdvisoryReferencesItem>,
31888 pub severity: String,
31889 pub summary: String,
31890 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
31891 pub vulnerabilities: Vec<SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItem>,
31892 pub withdrawn_at: chrono::DateTime<chrono::offset::Utc>,
31893}
31894impl From<&SecurityAdvisoryWithdrawnSecurityAdvisory>
31895 for SecurityAdvisoryWithdrawnSecurityAdvisory
31896{
31897 fn from(value: &SecurityAdvisoryWithdrawnSecurityAdvisory) -> Self {
31898 value.clone()
31899 }
31900}
31901#[derive(Clone, Debug, Deserialize, Serialize)]
31902#[serde(deny_unknown_fields)]
31903pub struct SecurityAdvisoryWithdrawnSecurityAdvisoryCvss {
31904 pub score: f64,
31905 pub vector_string: Option<String>,
31906}
31907impl From<&SecurityAdvisoryWithdrawnSecurityAdvisoryCvss>
31908 for SecurityAdvisoryWithdrawnSecurityAdvisoryCvss
31909{
31910 fn from(value: &SecurityAdvisoryWithdrawnSecurityAdvisoryCvss) -> Self {
31911 value.clone()
31912 }
31913}
31914#[derive(Clone, Debug, Deserialize, Serialize)]
31915#[serde(deny_unknown_fields)]
31916pub struct SecurityAdvisoryWithdrawnSecurityAdvisoryCwesItem {
31917 pub cwe_id: String,
31918 pub name: String,
31919}
31920impl From<&SecurityAdvisoryWithdrawnSecurityAdvisoryCwesItem>
31921 for SecurityAdvisoryWithdrawnSecurityAdvisoryCwesItem
31922{
31923 fn from(value: &SecurityAdvisoryWithdrawnSecurityAdvisoryCwesItem) -> Self {
31924 value.clone()
31925 }
31926}
31927#[derive(Clone, Debug, Deserialize, Serialize)]
31928#[serde(deny_unknown_fields)]
31929pub struct SecurityAdvisoryWithdrawnSecurityAdvisoryIdentifiersItem {
31930 #[serde(rename = "type")]
31931 pub type_: String,
31932 pub value: String,
31933}
31934impl From<&SecurityAdvisoryWithdrawnSecurityAdvisoryIdentifiersItem>
31935 for SecurityAdvisoryWithdrawnSecurityAdvisoryIdentifiersItem
31936{
31937 fn from(value: &SecurityAdvisoryWithdrawnSecurityAdvisoryIdentifiersItem) -> Self {
31938 value.clone()
31939 }
31940}
31941#[derive(Clone, Debug, Deserialize, Serialize)]
31942#[serde(deny_unknown_fields)]
31943pub struct SecurityAdvisoryWithdrawnSecurityAdvisoryReferencesItem {
31944 pub url: String,
31945}
31946impl From<&SecurityAdvisoryWithdrawnSecurityAdvisoryReferencesItem>
31947 for SecurityAdvisoryWithdrawnSecurityAdvisoryReferencesItem
31948{
31949 fn from(value: &SecurityAdvisoryWithdrawnSecurityAdvisoryReferencesItem) -> Self {
31950 value.clone()
31951 }
31952}
31953#[derive(Clone, Debug, Deserialize, Serialize)]
31954#[serde(deny_unknown_fields)]
31955pub struct SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItem {
31956 pub first_patched_version:
31957 Option<SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion>,
31958 pub package: SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItemPackage,
31959 pub severity: String,
31960 pub vulnerable_version_range: String,
31961}
31962impl From<&SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItem>
31963 for SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItem
31964{
31965 fn from(value: &SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItem) -> Self {
31966 value.clone()
31967 }
31968}
31969#[derive(Clone, Debug, Deserialize, Serialize)]
31970#[serde(deny_unknown_fields)]
31971pub struct SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion {
31972 pub identifier: String,
31973}
31974impl From<&SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion>
31975 for SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion
31976{
31977 fn from(
31978 value: &SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItemFirstPatchedVersion,
31979 ) -> Self {
31980 value.clone()
31981 }
31982}
31983#[derive(Clone, Debug, Deserialize, Serialize)]
31984#[serde(deny_unknown_fields)]
31985pub struct SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItemPackage {
31986 pub ecosystem: String,
31987 pub name: String,
31988}
31989impl From<&SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItemPackage>
31990 for SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItemPackage
31991{
31992 fn from(value: &SecurityAdvisoryWithdrawnSecurityAdvisoryVulnerabilitiesItemPackage) -> Self {
31993 value.clone()
31994 }
31995}
31996#[derive(Clone, Debug, Deserialize, Serialize)]
31997#[serde(deny_unknown_fields)]
31998pub struct SimplePullRequest {
31999 pub active_lock_reason: Option<SimplePullRequestActiveLockReason>,
32000 pub assignee: Option<User>,
32001 pub assignees: Vec<User>,
32002 pub author_association: AuthorAssociation,
32003 pub auto_merge: Option<AutoMerge>,
32004 pub base: SimplePullRequestBase,
32005 pub body: Option<String>,
32006 pub closed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
32007 pub comments_url: String,
32008 pub commits_url: String,
32009 pub created_at: chrono::DateTime<chrono::offset::Utc>,
32010 pub diff_url: String,
32011 pub draft: bool,
32012 pub head: SimplePullRequestHead,
32013 pub html_url: String,
32014 pub id: i64,
32015 pub issue_url: String,
32016 pub labels: Vec<Label>,
32017 #[serde(rename = "_links")]
32018 pub links: SimplePullRequestLinks,
32019 pub locked: bool,
32020 pub merge_commit_sha: Option<String>,
32021 pub merged_at: Option<chrono::DateTime<chrono::offset::Utc>>,
32022 pub milestone: Option<Milestone>,
32023 pub node_id: String,
32024 pub number: i64,
32025 pub patch_url: String,
32026 pub requested_reviewers: Vec<SimplePullRequestRequestedReviewersItem>,
32027 pub requested_teams: Vec<Team>,
32028 pub review_comment_url: String,
32029 pub review_comments_url: String,
32030 pub state: SimplePullRequestState,
32031 pub statuses_url: String,
32032 pub title: String,
32033 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
32034 pub url: String,
32035 pub user: User,
32036}
32037impl From<&SimplePullRequest> for SimplePullRequest {
32038 fn from(value: &SimplePullRequest) -> Self {
32039 value.clone()
32040 }
32041}
32042#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
32043pub enum SimplePullRequestActiveLockReason {
32044 #[serde(rename = "resolved")]
32045 Resolved,
32046 #[serde(rename = "off-topic")]
32047 OffTopic,
32048 #[serde(rename = "too heated")]
32049 TooHeated,
32050 #[serde(rename = "spam")]
32051 Spam,
32052}
32053impl From<&SimplePullRequestActiveLockReason> for SimplePullRequestActiveLockReason {
32054 fn from(value: &SimplePullRequestActiveLockReason) -> Self {
32055 value.clone()
32056 }
32057}
32058impl ToString for SimplePullRequestActiveLockReason {
32059 fn to_string(&self) -> String {
32060 match *self {
32061 Self::Resolved => "resolved".to_string(),
32062 Self::OffTopic => "off-topic".to_string(),
32063 Self::TooHeated => "too heated".to_string(),
32064 Self::Spam => "spam".to_string(),
32065 }
32066 }
32067}
32068impl std::str::FromStr for SimplePullRequestActiveLockReason {
32069 type Err = &'static str;
32070
32071 fn from_str(value: &str) -> Result<Self, &'static str> {
32072 match value {
32073 "resolved" => Ok(Self::Resolved),
32074 "off-topic" => Ok(Self::OffTopic),
32075 "too heated" => Ok(Self::TooHeated),
32076 "spam" => Ok(Self::Spam),
32077 _ => Err("invalid value"),
32078 }
32079 }
32080}
32081impl std::convert::TryFrom<&str> for SimplePullRequestActiveLockReason {
32082 type Error = &'static str;
32083
32084 fn try_from(value: &str) -> Result<Self, &'static str> {
32085 value.parse()
32086 }
32087}
32088impl std::convert::TryFrom<&String> for SimplePullRequestActiveLockReason {
32089 type Error = &'static str;
32090
32091 fn try_from(value: &String) -> Result<Self, &'static str> {
32092 value.parse()
32093 }
32094}
32095impl std::convert::TryFrom<String> for SimplePullRequestActiveLockReason {
32096 type Error = &'static str;
32097
32098 fn try_from(value: String) -> Result<Self, &'static str> {
32099 value.parse()
32100 }
32101}
32102#[derive(Clone, Debug, Deserialize, Serialize)]
32103#[serde(deny_unknown_fields)]
32104pub struct SimplePullRequestBase {
32105 pub label: String,
32106 #[serde(rename = "ref")]
32107 pub ref_: String,
32108 pub repo: Repository,
32109 pub sha: String,
32110 pub user: User,
32111}
32112impl From<&SimplePullRequestBase> for SimplePullRequestBase {
32113 fn from(value: &SimplePullRequestBase) -> Self {
32114 value.clone()
32115 }
32116}
32117#[derive(Clone, Debug, Deserialize, Serialize)]
32118#[serde(deny_unknown_fields)]
32119pub struct SimplePullRequestHead {
32120 pub label: String,
32121 #[serde(rename = "ref")]
32122 pub ref_: String,
32123 pub repo: Repository,
32124 pub sha: String,
32125 pub user: User,
32126}
32127impl From<&SimplePullRequestHead> for SimplePullRequestHead {
32128 fn from(value: &SimplePullRequestHead) -> Self {
32129 value.clone()
32130 }
32131}
32132#[derive(Clone, Debug, Deserialize, Serialize)]
32133#[serde(deny_unknown_fields)]
32134pub struct SimplePullRequestLinks {
32135 pub comments: Link,
32136 pub commits: Link,
32137 pub html: Link,
32138 pub issue: Link,
32139 pub review_comment: Link,
32140 pub review_comments: Link,
32141 #[serde(rename = "self")]
32142 pub self_: Link,
32143 pub statuses: Link,
32144}
32145impl From<&SimplePullRequestLinks> for SimplePullRequestLinks {
32146 fn from(value: &SimplePullRequestLinks) -> Self {
32147 value.clone()
32148 }
32149}
32150#[derive(Clone, Debug, Deserialize, Serialize)]
32151#[serde(untagged)]
32152pub enum SimplePullRequestRequestedReviewersItem {
32153 User(User),
32154 Team(Team),
32155}
32156impl From<&SimplePullRequestRequestedReviewersItem> for SimplePullRequestRequestedReviewersItem {
32157 fn from(value: &SimplePullRequestRequestedReviewersItem) -> Self {
32158 value.clone()
32159 }
32160}
32161impl From<User> for SimplePullRequestRequestedReviewersItem {
32162 fn from(value: User) -> Self {
32163 Self::User(value)
32164 }
32165}
32166impl From<Team> for SimplePullRequestRequestedReviewersItem {
32167 fn from(value: Team) -> Self {
32168 Self::Team(value)
32169 }
32170}
32171#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
32172pub enum SimplePullRequestState {
32173 #[serde(rename = "open")]
32174 Open,
32175 #[serde(rename = "closed")]
32176 Closed,
32177}
32178impl From<&SimplePullRequestState> for SimplePullRequestState {
32179 fn from(value: &SimplePullRequestState) -> Self {
32180 value.clone()
32181 }
32182}
32183impl ToString for SimplePullRequestState {
32184 fn to_string(&self) -> String {
32185 match *self {
32186 Self::Open => "open".to_string(),
32187 Self::Closed => "closed".to_string(),
32188 }
32189 }
32190}
32191impl std::str::FromStr for SimplePullRequestState {
32192 type Err = &'static str;
32193
32194 fn from_str(value: &str) -> Result<Self, &'static str> {
32195 match value {
32196 "open" => Ok(Self::Open),
32197 "closed" => Ok(Self::Closed),
32198 _ => Err("invalid value"),
32199 }
32200 }
32201}
32202impl std::convert::TryFrom<&str> for SimplePullRequestState {
32203 type Error = &'static str;
32204
32205 fn try_from(value: &str) -> Result<Self, &'static str> {
32206 value.parse()
32207 }
32208}
32209impl std::convert::TryFrom<&String> for SimplePullRequestState {
32210 type Error = &'static str;
32211
32212 fn try_from(value: &String) -> Result<Self, &'static str> {
32213 value.parse()
32214 }
32215}
32216impl std::convert::TryFrom<String> for SimplePullRequestState {
32217 type Error = &'static str;
32218
32219 fn try_from(value: String) -> Result<Self, &'static str> {
32220 value.parse()
32221 }
32222}
32223#[derive(Clone, Debug, Deserialize, Serialize)]
32224#[serde(deny_unknown_fields)]
32225pub struct SponsorshipCancelled {
32226 pub action: SponsorshipCancelledAction,
32227 pub sender: User,
32228 pub sponsorship: SponsorshipCancelledSponsorship,
32229}
32230impl From<&SponsorshipCancelled> for SponsorshipCancelled {
32231 fn from(value: &SponsorshipCancelled) -> Self {
32232 value.clone()
32233 }
32234}
32235#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
32236pub enum SponsorshipCancelledAction {
32237 #[serde(rename = "cancelled")]
32238 Cancelled,
32239}
32240impl From<&SponsorshipCancelledAction> for SponsorshipCancelledAction {
32241 fn from(value: &SponsorshipCancelledAction) -> Self {
32242 value.clone()
32243 }
32244}
32245impl ToString for SponsorshipCancelledAction {
32246 fn to_string(&self) -> String {
32247 match *self {
32248 Self::Cancelled => "cancelled".to_string(),
32249 }
32250 }
32251}
32252impl std::str::FromStr for SponsorshipCancelledAction {
32253 type Err = &'static str;
32254
32255 fn from_str(value: &str) -> Result<Self, &'static str> {
32256 match value {
32257 "cancelled" => Ok(Self::Cancelled),
32258 _ => Err("invalid value"),
32259 }
32260 }
32261}
32262impl std::convert::TryFrom<&str> for SponsorshipCancelledAction {
32263 type Error = &'static str;
32264
32265 fn try_from(value: &str) -> Result<Self, &'static str> {
32266 value.parse()
32267 }
32268}
32269impl std::convert::TryFrom<&String> for SponsorshipCancelledAction {
32270 type Error = &'static str;
32271
32272 fn try_from(value: &String) -> Result<Self, &'static str> {
32273 value.parse()
32274 }
32275}
32276impl std::convert::TryFrom<String> for SponsorshipCancelledAction {
32277 type Error = &'static str;
32278
32279 fn try_from(value: String) -> Result<Self, &'static str> {
32280 value.parse()
32281 }
32282}
32283#[derive(Clone, Debug, Deserialize, Serialize)]
32284#[serde(deny_unknown_fields)]
32285pub struct SponsorshipCancelledSponsorship {
32286 pub created_at: chrono::DateTime<chrono::offset::Utc>,
32287 pub node_id: String,
32288 pub privacy_level: String,
32289 pub sponsor: User,
32290 pub sponsorable: User,
32291 pub tier: SponsorshipTier,
32292}
32293impl From<&SponsorshipCancelledSponsorship> for SponsorshipCancelledSponsorship {
32294 fn from(value: &SponsorshipCancelledSponsorship) -> Self {
32295 value.clone()
32296 }
32297}
32298#[derive(Clone, Debug, Deserialize, Serialize)]
32299#[serde(deny_unknown_fields)]
32300pub struct SponsorshipCreated {
32301 pub action: SponsorshipCreatedAction,
32302 pub sender: User,
32303 pub sponsorship: SponsorshipCreatedSponsorship,
32304}
32305impl From<&SponsorshipCreated> for SponsorshipCreated {
32306 fn from(value: &SponsorshipCreated) -> Self {
32307 value.clone()
32308 }
32309}
32310#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
32311pub enum SponsorshipCreatedAction {
32312 #[serde(rename = "created")]
32313 Created,
32314}
32315impl From<&SponsorshipCreatedAction> for SponsorshipCreatedAction {
32316 fn from(value: &SponsorshipCreatedAction) -> Self {
32317 value.clone()
32318 }
32319}
32320impl ToString for SponsorshipCreatedAction {
32321 fn to_string(&self) -> String {
32322 match *self {
32323 Self::Created => "created".to_string(),
32324 }
32325 }
32326}
32327impl std::str::FromStr for SponsorshipCreatedAction {
32328 type Err = &'static str;
32329
32330 fn from_str(value: &str) -> Result<Self, &'static str> {
32331 match value {
32332 "created" => Ok(Self::Created),
32333 _ => Err("invalid value"),
32334 }
32335 }
32336}
32337impl std::convert::TryFrom<&str> for SponsorshipCreatedAction {
32338 type Error = &'static str;
32339
32340 fn try_from(value: &str) -> Result<Self, &'static str> {
32341 value.parse()
32342 }
32343}
32344impl std::convert::TryFrom<&String> for SponsorshipCreatedAction {
32345 type Error = &'static str;
32346
32347 fn try_from(value: &String) -> Result<Self, &'static str> {
32348 value.parse()
32349 }
32350}
32351impl std::convert::TryFrom<String> for SponsorshipCreatedAction {
32352 type Error = &'static str;
32353
32354 fn try_from(value: String) -> Result<Self, &'static str> {
32355 value.parse()
32356 }
32357}
32358#[derive(Clone, Debug, Deserialize, Serialize)]
32359#[serde(deny_unknown_fields)]
32360pub struct SponsorshipCreatedSponsorship {
32361 pub created_at: chrono::DateTime<chrono::offset::Utc>,
32362 pub node_id: String,
32363 pub privacy_level: String,
32364 pub sponsor: User,
32365 pub sponsorable: User,
32366 pub tier: SponsorshipTier,
32367}
32368impl From<&SponsorshipCreatedSponsorship> for SponsorshipCreatedSponsorship {
32369 fn from(value: &SponsorshipCreatedSponsorship) -> Self {
32370 value.clone()
32371 }
32372}
32373#[derive(Clone, Debug, Deserialize, Serialize)]
32374#[serde(deny_unknown_fields)]
32375pub struct SponsorshipEdited {
32376 pub action: SponsorshipEditedAction,
32377 pub changes: SponsorshipEditedChanges,
32378 pub sender: User,
32379 pub sponsorship: SponsorshipEditedSponsorship,
32380}
32381impl From<&SponsorshipEdited> for SponsorshipEdited {
32382 fn from(value: &SponsorshipEdited) -> Self {
32383 value.clone()
32384 }
32385}
32386#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
32387pub enum SponsorshipEditedAction {
32388 #[serde(rename = "edited")]
32389 Edited,
32390}
32391impl From<&SponsorshipEditedAction> for SponsorshipEditedAction {
32392 fn from(value: &SponsorshipEditedAction) -> Self {
32393 value.clone()
32394 }
32395}
32396impl ToString for SponsorshipEditedAction {
32397 fn to_string(&self) -> String {
32398 match *self {
32399 Self::Edited => "edited".to_string(),
32400 }
32401 }
32402}
32403impl std::str::FromStr for SponsorshipEditedAction {
32404 type Err = &'static str;
32405
32406 fn from_str(value: &str) -> Result<Self, &'static str> {
32407 match value {
32408 "edited" => Ok(Self::Edited),
32409 _ => Err("invalid value"),
32410 }
32411 }
32412}
32413impl std::convert::TryFrom<&str> for SponsorshipEditedAction {
32414 type Error = &'static str;
32415
32416 fn try_from(value: &str) -> Result<Self, &'static str> {
32417 value.parse()
32418 }
32419}
32420impl std::convert::TryFrom<&String> for SponsorshipEditedAction {
32421 type Error = &'static str;
32422
32423 fn try_from(value: &String) -> Result<Self, &'static str> {
32424 value.parse()
32425 }
32426}
32427impl std::convert::TryFrom<String> for SponsorshipEditedAction {
32428 type Error = &'static str;
32429
32430 fn try_from(value: String) -> Result<Self, &'static str> {
32431 value.parse()
32432 }
32433}
32434#[derive(Clone, Debug, Deserialize, Serialize)]
32435#[serde(deny_unknown_fields)]
32436pub struct SponsorshipEditedChanges {
32437 #[serde(default, skip_serializing_if = "Option::is_none")]
32438 pub privacy_level: Option<SponsorshipEditedChangesPrivacyLevel>,
32439}
32440impl From<&SponsorshipEditedChanges> for SponsorshipEditedChanges {
32441 fn from(value: &SponsorshipEditedChanges) -> Self {
32442 value.clone()
32443 }
32444}
32445#[derive(Clone, Debug, Deserialize, Serialize)]
32446#[serde(deny_unknown_fields)]
32447pub struct SponsorshipEditedChangesPrivacyLevel {
32448 pub from: String,
32451}
32452impl From<&SponsorshipEditedChangesPrivacyLevel> for SponsorshipEditedChangesPrivacyLevel {
32453 fn from(value: &SponsorshipEditedChangesPrivacyLevel) -> Self {
32454 value.clone()
32455 }
32456}
32457#[derive(Clone, Debug, Deserialize, Serialize)]
32458#[serde(deny_unknown_fields)]
32459pub struct SponsorshipEditedSponsorship {
32460 pub created_at: chrono::DateTime<chrono::offset::Utc>,
32461 pub node_id: String,
32462 pub privacy_level: String,
32463 pub sponsor: User,
32464 pub sponsorable: User,
32465 pub tier: SponsorshipTier,
32466}
32467impl From<&SponsorshipEditedSponsorship> for SponsorshipEditedSponsorship {
32468 fn from(value: &SponsorshipEditedSponsorship) -> Self {
32469 value.clone()
32470 }
32471}
32472#[derive(Clone, Debug, Deserialize, Serialize)]
32473#[serde(untagged)]
32474pub enum SponsorshipEvent {
32475 Cancelled(SponsorshipCancelled),
32476 Created(SponsorshipCreated),
32477 Edited(SponsorshipEdited),
32478 PendingCancellation(SponsorshipPendingCancellation),
32479 PendingTierChange(SponsorshipPendingTierChange),
32480 TierChanged(SponsorshipTierChanged),
32481}
32482impl From<&SponsorshipEvent> for SponsorshipEvent {
32483 fn from(value: &SponsorshipEvent) -> Self {
32484 value.clone()
32485 }
32486}
32487impl From<SponsorshipCancelled> for SponsorshipEvent {
32488 fn from(value: SponsorshipCancelled) -> Self {
32489 Self::Cancelled(value)
32490 }
32491}
32492impl From<SponsorshipCreated> for SponsorshipEvent {
32493 fn from(value: SponsorshipCreated) -> Self {
32494 Self::Created(value)
32495 }
32496}
32497impl From<SponsorshipEdited> for SponsorshipEvent {
32498 fn from(value: SponsorshipEdited) -> Self {
32499 Self::Edited(value)
32500 }
32501}
32502impl From<SponsorshipPendingCancellation> for SponsorshipEvent {
32503 fn from(value: SponsorshipPendingCancellation) -> Self {
32504 Self::PendingCancellation(value)
32505 }
32506}
32507impl From<SponsorshipPendingTierChange> for SponsorshipEvent {
32508 fn from(value: SponsorshipPendingTierChange) -> Self {
32509 Self::PendingTierChange(value)
32510 }
32511}
32512impl From<SponsorshipTierChanged> for SponsorshipEvent {
32513 fn from(value: SponsorshipTierChanged) -> Self {
32514 Self::TierChanged(value)
32515 }
32516}
32517#[derive(Clone, Debug, Deserialize, Serialize)]
32518#[serde(deny_unknown_fields)]
32519pub struct SponsorshipPendingCancellation {
32520 pub action: SponsorshipPendingCancellationAction,
32521 #[serde(default, skip_serializing_if = "Option::is_none")]
32524 pub effective_date: Option<String>,
32525 pub sender: User,
32526 pub sponsorship: SponsorshipPendingCancellationSponsorship,
32527}
32528impl From<&SponsorshipPendingCancellation> for SponsorshipPendingCancellation {
32529 fn from(value: &SponsorshipPendingCancellation) -> Self {
32530 value.clone()
32531 }
32532}
32533#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
32534pub enum SponsorshipPendingCancellationAction {
32535 #[serde(rename = "pending_cancellation")]
32536 PendingCancellation,
32537}
32538impl From<&SponsorshipPendingCancellationAction> for SponsorshipPendingCancellationAction {
32539 fn from(value: &SponsorshipPendingCancellationAction) -> Self {
32540 value.clone()
32541 }
32542}
32543impl ToString for SponsorshipPendingCancellationAction {
32544 fn to_string(&self) -> String {
32545 match *self {
32546 Self::PendingCancellation => "pending_cancellation".to_string(),
32547 }
32548 }
32549}
32550impl std::str::FromStr for SponsorshipPendingCancellationAction {
32551 type Err = &'static str;
32552
32553 fn from_str(value: &str) -> Result<Self, &'static str> {
32554 match value {
32555 "pending_cancellation" => Ok(Self::PendingCancellation),
32556 _ => Err("invalid value"),
32557 }
32558 }
32559}
32560impl std::convert::TryFrom<&str> for SponsorshipPendingCancellationAction {
32561 type Error = &'static str;
32562
32563 fn try_from(value: &str) -> Result<Self, &'static str> {
32564 value.parse()
32565 }
32566}
32567impl std::convert::TryFrom<&String> for SponsorshipPendingCancellationAction {
32568 type Error = &'static str;
32569
32570 fn try_from(value: &String) -> Result<Self, &'static str> {
32571 value.parse()
32572 }
32573}
32574impl std::convert::TryFrom<String> for SponsorshipPendingCancellationAction {
32575 type Error = &'static str;
32576
32577 fn try_from(value: String) -> Result<Self, &'static str> {
32578 value.parse()
32579 }
32580}
32581#[derive(Clone, Debug, Deserialize, Serialize)]
32582#[serde(deny_unknown_fields)]
32583pub struct SponsorshipPendingCancellationSponsorship {
32584 pub created_at: chrono::DateTime<chrono::offset::Utc>,
32585 pub node_id: String,
32586 pub privacy_level: String,
32587 pub sponsor: User,
32588 pub sponsorable: User,
32589 pub tier: SponsorshipTier,
32590}
32591impl From<&SponsorshipPendingCancellationSponsorship>
32592 for SponsorshipPendingCancellationSponsorship
32593{
32594 fn from(value: &SponsorshipPendingCancellationSponsorship) -> Self {
32595 value.clone()
32596 }
32597}
32598#[derive(Clone, Debug, Deserialize, Serialize)]
32599#[serde(deny_unknown_fields)]
32600pub struct SponsorshipPendingTierChange {
32601 pub action: SponsorshipPendingTierChangeAction,
32602 pub changes: SponsorshipPendingTierChangeChanges,
32603 #[serde(default, skip_serializing_if = "Option::is_none")]
32606 pub effective_date: Option<String>,
32607 pub sender: User,
32608 pub sponsorship: SponsorshipPendingTierChangeSponsorship,
32609}
32610impl From<&SponsorshipPendingTierChange> for SponsorshipPendingTierChange {
32611 fn from(value: &SponsorshipPendingTierChange) -> Self {
32612 value.clone()
32613 }
32614}
32615#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
32616pub enum SponsorshipPendingTierChangeAction {
32617 #[serde(rename = "pending_tier_change")]
32618 PendingTierChange,
32619}
32620impl From<&SponsorshipPendingTierChangeAction> for SponsorshipPendingTierChangeAction {
32621 fn from(value: &SponsorshipPendingTierChangeAction) -> Self {
32622 value.clone()
32623 }
32624}
32625impl ToString for SponsorshipPendingTierChangeAction {
32626 fn to_string(&self) -> String {
32627 match *self {
32628 Self::PendingTierChange => "pending_tier_change".to_string(),
32629 }
32630 }
32631}
32632impl std::str::FromStr for SponsorshipPendingTierChangeAction {
32633 type Err = &'static str;
32634
32635 fn from_str(value: &str) -> Result<Self, &'static str> {
32636 match value {
32637 "pending_tier_change" => Ok(Self::PendingTierChange),
32638 _ => Err("invalid value"),
32639 }
32640 }
32641}
32642impl std::convert::TryFrom<&str> for SponsorshipPendingTierChangeAction {
32643 type Error = &'static str;
32644
32645 fn try_from(value: &str) -> Result<Self, &'static str> {
32646 value.parse()
32647 }
32648}
32649impl std::convert::TryFrom<&String> for SponsorshipPendingTierChangeAction {
32650 type Error = &'static str;
32651
32652 fn try_from(value: &String) -> Result<Self, &'static str> {
32653 value.parse()
32654 }
32655}
32656impl std::convert::TryFrom<String> for SponsorshipPendingTierChangeAction {
32657 type Error = &'static str;
32658
32659 fn try_from(value: String) -> Result<Self, &'static str> {
32660 value.parse()
32661 }
32662}
32663#[derive(Clone, Debug, Deserialize, Serialize)]
32664#[serde(deny_unknown_fields)]
32665pub struct SponsorshipPendingTierChangeChanges {
32666 pub tier: SponsorshipPendingTierChangeChangesTier,
32667}
32668impl From<&SponsorshipPendingTierChangeChanges> for SponsorshipPendingTierChangeChanges {
32669 fn from(value: &SponsorshipPendingTierChangeChanges) -> Self {
32670 value.clone()
32671 }
32672}
32673#[derive(Clone, Debug, Deserialize, Serialize)]
32674#[serde(deny_unknown_fields)]
32675pub struct SponsorshipPendingTierChangeChangesTier {
32676 pub from: SponsorshipTier,
32677}
32678impl From<&SponsorshipPendingTierChangeChangesTier> for SponsorshipPendingTierChangeChangesTier {
32679 fn from(value: &SponsorshipPendingTierChangeChangesTier) -> Self {
32680 value.clone()
32681 }
32682}
32683#[derive(Clone, Debug, Deserialize, Serialize)]
32684#[serde(deny_unknown_fields)]
32685pub struct SponsorshipPendingTierChangeSponsorship {
32686 pub created_at: chrono::DateTime<chrono::offset::Utc>,
32687 pub node_id: String,
32688 pub privacy_level: String,
32689 pub sponsor: User,
32690 pub sponsorable: User,
32691 pub tier: SponsorshipTier,
32692}
32693impl From<&SponsorshipPendingTierChangeSponsorship> for SponsorshipPendingTierChangeSponsorship {
32694 fn from(value: &SponsorshipPendingTierChangeSponsorship) -> Self {
32695 value.clone()
32696 }
32697}
32698#[derive(Clone, Debug, Deserialize, Serialize)]
32702#[serde(deny_unknown_fields)]
32703pub struct SponsorshipTier {
32704 pub created_at: chrono::DateTime<chrono::offset::Utc>,
32705 pub description: String,
32706 pub is_custom_ammount: bool,
32707 pub is_one_time: bool,
32708 pub monthly_price_in_cents: i64,
32709 pub monthly_price_in_dollars: i64,
32710 pub name: String,
32711 pub node_id: String,
32712}
32713impl From<&SponsorshipTier> for SponsorshipTier {
32714 fn from(value: &SponsorshipTier) -> Self {
32715 value.clone()
32716 }
32717}
32718#[derive(Clone, Debug, Deserialize, Serialize)]
32719#[serde(deny_unknown_fields)]
32720pub struct SponsorshipTierChanged {
32721 pub action: SponsorshipTierChangedAction,
32722 pub changes: SponsorshipTierChangedChanges,
32723 pub sender: User,
32724 pub sponsorship: SponsorshipTierChangedSponsorship,
32725}
32726impl From<&SponsorshipTierChanged> for SponsorshipTierChanged {
32727 fn from(value: &SponsorshipTierChanged) -> Self {
32728 value.clone()
32729 }
32730}
32731#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
32732pub enum SponsorshipTierChangedAction {
32733 #[serde(rename = "tier_changed")]
32734 TierChanged,
32735}
32736impl From<&SponsorshipTierChangedAction> for SponsorshipTierChangedAction {
32737 fn from(value: &SponsorshipTierChangedAction) -> Self {
32738 value.clone()
32739 }
32740}
32741impl ToString for SponsorshipTierChangedAction {
32742 fn to_string(&self) -> String {
32743 match *self {
32744 Self::TierChanged => "tier_changed".to_string(),
32745 }
32746 }
32747}
32748impl std::str::FromStr for SponsorshipTierChangedAction {
32749 type Err = &'static str;
32750
32751 fn from_str(value: &str) -> Result<Self, &'static str> {
32752 match value {
32753 "tier_changed" => Ok(Self::TierChanged),
32754 _ => Err("invalid value"),
32755 }
32756 }
32757}
32758impl std::convert::TryFrom<&str> for SponsorshipTierChangedAction {
32759 type Error = &'static str;
32760
32761 fn try_from(value: &str) -> Result<Self, &'static str> {
32762 value.parse()
32763 }
32764}
32765impl std::convert::TryFrom<&String> for SponsorshipTierChangedAction {
32766 type Error = &'static str;
32767
32768 fn try_from(value: &String) -> Result<Self, &'static str> {
32769 value.parse()
32770 }
32771}
32772impl std::convert::TryFrom<String> for SponsorshipTierChangedAction {
32773 type Error = &'static str;
32774
32775 fn try_from(value: String) -> Result<Self, &'static str> {
32776 value.parse()
32777 }
32778}
32779#[derive(Clone, Debug, Deserialize, Serialize)]
32780#[serde(deny_unknown_fields)]
32781pub struct SponsorshipTierChangedChanges {
32782 pub tier: SponsorshipTierChangedChangesTier,
32783}
32784impl From<&SponsorshipTierChangedChanges> for SponsorshipTierChangedChanges {
32785 fn from(value: &SponsorshipTierChangedChanges) -> Self {
32786 value.clone()
32787 }
32788}
32789#[derive(Clone, Debug, Deserialize, Serialize)]
32790#[serde(deny_unknown_fields)]
32791pub struct SponsorshipTierChangedChangesTier {
32792 pub from: SponsorshipTier,
32793}
32794impl From<&SponsorshipTierChangedChangesTier> for SponsorshipTierChangedChangesTier {
32795 fn from(value: &SponsorshipTierChangedChangesTier) -> Self {
32796 value.clone()
32797 }
32798}
32799#[derive(Clone, Debug, Deserialize, Serialize)]
32800#[serde(deny_unknown_fields)]
32801pub struct SponsorshipTierChangedSponsorship {
32802 pub created_at: chrono::DateTime<chrono::offset::Utc>,
32803 pub node_id: String,
32804 pub privacy_level: String,
32805 pub sponsor: User,
32806 pub sponsorable: User,
32807 pub tier: SponsorshipTier,
32808}
32809impl From<&SponsorshipTierChangedSponsorship> for SponsorshipTierChangedSponsorship {
32810 fn from(value: &SponsorshipTierChangedSponsorship) -> Self {
32811 value.clone()
32812 }
32813}
32814#[derive(Clone, Debug, Deserialize, Serialize)]
32815#[serde(deny_unknown_fields)]
32816pub struct StarCreated {
32817 pub action: StarCreatedAction,
32818 #[serde(default, skip_serializing_if = "Option::is_none")]
32819 pub installation: Option<InstallationLite>,
32820 #[serde(default, skip_serializing_if = "Option::is_none")]
32821 pub organization: Option<Organization>,
32822 pub repository: Repository,
32823 pub sender: User,
32824 pub starred_at: chrono::DateTime<chrono::offset::Utc>,
32827}
32828impl From<&StarCreated> for StarCreated {
32829 fn from(value: &StarCreated) -> Self {
32830 value.clone()
32831 }
32832}
32833#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
32834pub enum StarCreatedAction {
32835 #[serde(rename = "created")]
32836 Created,
32837}
32838impl From<&StarCreatedAction> for StarCreatedAction {
32839 fn from(value: &StarCreatedAction) -> Self {
32840 value.clone()
32841 }
32842}
32843impl ToString for StarCreatedAction {
32844 fn to_string(&self) -> String {
32845 match *self {
32846 Self::Created => "created".to_string(),
32847 }
32848 }
32849}
32850impl std::str::FromStr for StarCreatedAction {
32851 type Err = &'static str;
32852
32853 fn from_str(value: &str) -> Result<Self, &'static str> {
32854 match value {
32855 "created" => Ok(Self::Created),
32856 _ => Err("invalid value"),
32857 }
32858 }
32859}
32860impl std::convert::TryFrom<&str> for StarCreatedAction {
32861 type Error = &'static str;
32862
32863 fn try_from(value: &str) -> Result<Self, &'static str> {
32864 value.parse()
32865 }
32866}
32867impl std::convert::TryFrom<&String> for StarCreatedAction {
32868 type Error = &'static str;
32869
32870 fn try_from(value: &String) -> Result<Self, &'static str> {
32871 value.parse()
32872 }
32873}
32874impl std::convert::TryFrom<String> for StarCreatedAction {
32875 type Error = &'static str;
32876
32877 fn try_from(value: String) -> Result<Self, &'static str> {
32878 value.parse()
32879 }
32880}
32881#[derive(Clone, Debug, Deserialize, Serialize)]
32882#[serde(deny_unknown_fields)]
32883pub struct StarDeleted {
32884 pub action: StarDeletedAction,
32885 #[serde(default, skip_serializing_if = "Option::is_none")]
32886 pub installation: Option<InstallationLite>,
32887 #[serde(default, skip_serializing_if = "Option::is_none")]
32888 pub organization: Option<Organization>,
32889 pub repository: Repository,
32890 pub sender: User,
32891 pub starred_at: (),
32894}
32895impl From<&StarDeleted> for StarDeleted {
32896 fn from(value: &StarDeleted) -> Self {
32897 value.clone()
32898 }
32899}
32900#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
32901pub enum StarDeletedAction {
32902 #[serde(rename = "deleted")]
32903 Deleted,
32904}
32905impl From<&StarDeletedAction> for StarDeletedAction {
32906 fn from(value: &StarDeletedAction) -> Self {
32907 value.clone()
32908 }
32909}
32910impl ToString for StarDeletedAction {
32911 fn to_string(&self) -> String {
32912 match *self {
32913 Self::Deleted => "deleted".to_string(),
32914 }
32915 }
32916}
32917impl std::str::FromStr for StarDeletedAction {
32918 type Err = &'static str;
32919
32920 fn from_str(value: &str) -> Result<Self, &'static str> {
32921 match value {
32922 "deleted" => Ok(Self::Deleted),
32923 _ => Err("invalid value"),
32924 }
32925 }
32926}
32927impl std::convert::TryFrom<&str> for StarDeletedAction {
32928 type Error = &'static str;
32929
32930 fn try_from(value: &str) -> Result<Self, &'static str> {
32931 value.parse()
32932 }
32933}
32934impl std::convert::TryFrom<&String> for StarDeletedAction {
32935 type Error = &'static str;
32936
32937 fn try_from(value: &String) -> Result<Self, &'static str> {
32938 value.parse()
32939 }
32940}
32941impl std::convert::TryFrom<String> for StarDeletedAction {
32942 type Error = &'static str;
32943
32944 fn try_from(value: String) -> Result<Self, &'static str> {
32945 value.parse()
32946 }
32947}
32948#[derive(Clone, Debug, Deserialize, Serialize)]
32949#[serde(untagged)]
32950pub enum StarEvent {
32951 Created(StarCreated),
32952 Deleted(StarDeleted),
32953}
32954impl From<&StarEvent> for StarEvent {
32955 fn from(value: &StarEvent) -> Self {
32956 value.clone()
32957 }
32958}
32959impl From<StarCreated> for StarEvent {
32960 fn from(value: StarCreated) -> Self {
32961 Self::Created(value)
32962 }
32963}
32964impl From<StarDeleted> for StarEvent {
32965 fn from(value: StarDeleted) -> Self {
32966 Self::Deleted(value)
32967 }
32968}
32969#[derive(Clone, Debug, Deserialize, Serialize)]
32970#[serde(deny_unknown_fields)]
32971pub struct StatusEvent {
32972 #[serde(default, skip_serializing_if = "Option::is_none")]
32973 pub avatar_url: Option<String>,
32974 pub branches: Vec<StatusEventBranchesItem>,
32978 pub commit: StatusEventCommit,
32979 pub context: String,
32980 pub created_at: chrono::DateTime<chrono::offset::Utc>,
32981 pub description: Option<String>,
32983 pub id: i64,
32985 #[serde(default, skip_serializing_if = "Option::is_none")]
32986 pub installation: Option<InstallationLite>,
32987 pub name: String,
32988 #[serde(default, skip_serializing_if = "Option::is_none")]
32989 pub organization: Option<Organization>,
32990 pub repository: Repository,
32991 pub sender: User,
32992 pub sha: String,
32994 pub state: StatusEventState,
32996 pub target_url: Option<String>,
32998 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
32999}
33000impl From<&StatusEvent> for StatusEvent {
33001 fn from(value: &StatusEvent) -> Self {
33002 value.clone()
33003 }
33004}
33005#[derive(Clone, Debug, Deserialize, Serialize)]
33006#[serde(deny_unknown_fields)]
33007pub struct StatusEventBranchesItem {
33008 pub commit: StatusEventBranchesItemCommit,
33009 pub name: String,
33010 pub protected: bool,
33011}
33012impl From<&StatusEventBranchesItem> for StatusEventBranchesItem {
33013 fn from(value: &StatusEventBranchesItem) -> Self {
33014 value.clone()
33015 }
33016}
33017#[derive(Clone, Debug, Deserialize, Serialize)]
33018#[serde(deny_unknown_fields)]
33019pub struct StatusEventBranchesItemCommit {
33020 pub sha: String,
33021 pub url: String,
33022}
33023impl From<&StatusEventBranchesItemCommit> for StatusEventBranchesItemCommit {
33024 fn from(value: &StatusEventBranchesItemCommit) -> Self {
33025 value.clone()
33026 }
33027}
33028#[derive(Clone, Debug, Deserialize, Serialize)]
33029#[serde(deny_unknown_fields)]
33030pub struct StatusEventCommit {
33031 pub author: Option<User>,
33032 pub comments_url: String,
33033 pub commit: StatusEventCommitCommit,
33034 pub committer: Option<User>,
33035 pub html_url: String,
33036 pub node_id: String,
33037 pub parents: Vec<StatusEventCommitParentsItem>,
33038 pub sha: String,
33039 pub url: String,
33040}
33041impl From<&StatusEventCommit> for StatusEventCommit {
33042 fn from(value: &StatusEventCommit) -> Self {
33043 value.clone()
33044 }
33045}
33046#[derive(Clone, Debug, Deserialize, Serialize)]
33047#[serde(deny_unknown_fields)]
33048pub struct StatusEventCommitCommit {
33049 pub author: Committer,
33050 pub comment_count: i64,
33051 pub committer: Committer,
33052 pub message: String,
33053 pub tree: StatusEventCommitCommitTree,
33054 pub url: String,
33055 pub verification: StatusEventCommitCommitVerification,
33056}
33057impl From<&StatusEventCommitCommit> for StatusEventCommitCommit {
33058 fn from(value: &StatusEventCommitCommit) -> Self {
33059 value.clone()
33060 }
33061}
33062#[derive(Clone, Debug, Deserialize, Serialize)]
33063#[serde(deny_unknown_fields)]
33064pub struct StatusEventCommitCommitTree {
33065 pub sha: String,
33066 pub url: String,
33067}
33068impl From<&StatusEventCommitCommitTree> for StatusEventCommitCommitTree {
33069 fn from(value: &StatusEventCommitCommitTree) -> Self {
33070 value.clone()
33071 }
33072}
33073#[derive(Clone, Debug, Deserialize, Serialize)]
33074#[serde(deny_unknown_fields)]
33075pub struct StatusEventCommitCommitVerification {
33076 pub payload: Option<String>,
33077 pub reason: StatusEventCommitCommitVerificationReason,
33078 pub signature: Option<String>,
33079 pub verified: bool,
33080}
33081impl From<&StatusEventCommitCommitVerification> for StatusEventCommitCommitVerification {
33082 fn from(value: &StatusEventCommitCommitVerification) -> Self {
33083 value.clone()
33084 }
33085}
33086#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
33087pub enum StatusEventCommitCommitVerificationReason {
33088 #[serde(rename = "expired_key")]
33089 ExpiredKey,
33090 #[serde(rename = "not_signing_key")]
33091 NotSigningKey,
33092 #[serde(rename = "gpgverify_error")]
33093 GpgverifyError,
33094 #[serde(rename = "gpgverify_unavailable")]
33095 GpgverifyUnavailable,
33096 #[serde(rename = "unsigned")]
33097 Unsigned,
33098 #[serde(rename = "unknown_signature_type")]
33099 UnknownSignatureType,
33100 #[serde(rename = "no_user")]
33101 NoUser,
33102 #[serde(rename = "unverified_email")]
33103 UnverifiedEmail,
33104 #[serde(rename = "bad_email")]
33105 BadEmail,
33106 #[serde(rename = "unknown_key")]
33107 UnknownKey,
33108 #[serde(rename = "malformed_signature")]
33109 MalformedSignature,
33110 #[serde(rename = "invalid")]
33111 Invalid,
33112 #[serde(rename = "valid")]
33113 Valid,
33114}
33115impl From<&StatusEventCommitCommitVerificationReason>
33116 for StatusEventCommitCommitVerificationReason
33117{
33118 fn from(value: &StatusEventCommitCommitVerificationReason) -> Self {
33119 value.clone()
33120 }
33121}
33122impl ToString for StatusEventCommitCommitVerificationReason {
33123 fn to_string(&self) -> String {
33124 match *self {
33125 Self::ExpiredKey => "expired_key".to_string(),
33126 Self::NotSigningKey => "not_signing_key".to_string(),
33127 Self::GpgverifyError => "gpgverify_error".to_string(),
33128 Self::GpgverifyUnavailable => "gpgverify_unavailable".to_string(),
33129 Self::Unsigned => "unsigned".to_string(),
33130 Self::UnknownSignatureType => "unknown_signature_type".to_string(),
33131 Self::NoUser => "no_user".to_string(),
33132 Self::UnverifiedEmail => "unverified_email".to_string(),
33133 Self::BadEmail => "bad_email".to_string(),
33134 Self::UnknownKey => "unknown_key".to_string(),
33135 Self::MalformedSignature => "malformed_signature".to_string(),
33136 Self::Invalid => "invalid".to_string(),
33137 Self::Valid => "valid".to_string(),
33138 }
33139 }
33140}
33141impl std::str::FromStr for StatusEventCommitCommitVerificationReason {
33142 type Err = &'static str;
33143
33144 fn from_str(value: &str) -> Result<Self, &'static str> {
33145 match value {
33146 "expired_key" => Ok(Self::ExpiredKey),
33147 "not_signing_key" => Ok(Self::NotSigningKey),
33148 "gpgverify_error" => Ok(Self::GpgverifyError),
33149 "gpgverify_unavailable" => Ok(Self::GpgverifyUnavailable),
33150 "unsigned" => Ok(Self::Unsigned),
33151 "unknown_signature_type" => Ok(Self::UnknownSignatureType),
33152 "no_user" => Ok(Self::NoUser),
33153 "unverified_email" => Ok(Self::UnverifiedEmail),
33154 "bad_email" => Ok(Self::BadEmail),
33155 "unknown_key" => Ok(Self::UnknownKey),
33156 "malformed_signature" => Ok(Self::MalformedSignature),
33157 "invalid" => Ok(Self::Invalid),
33158 "valid" => Ok(Self::Valid),
33159 _ => Err("invalid value"),
33160 }
33161 }
33162}
33163impl std::convert::TryFrom<&str> for StatusEventCommitCommitVerificationReason {
33164 type Error = &'static str;
33165
33166 fn try_from(value: &str) -> Result<Self, &'static str> {
33167 value.parse()
33168 }
33169}
33170impl std::convert::TryFrom<&String> for StatusEventCommitCommitVerificationReason {
33171 type Error = &'static str;
33172
33173 fn try_from(value: &String) -> Result<Self, &'static str> {
33174 value.parse()
33175 }
33176}
33177impl std::convert::TryFrom<String> for StatusEventCommitCommitVerificationReason {
33178 type Error = &'static str;
33179
33180 fn try_from(value: String) -> Result<Self, &'static str> {
33181 value.parse()
33182 }
33183}
33184#[derive(Clone, Debug, Deserialize, Serialize)]
33185#[serde(deny_unknown_fields)]
33186pub struct StatusEventCommitParentsItem {
33187 pub html_url: String,
33188 pub sha: String,
33189 pub url: String,
33190}
33191impl From<&StatusEventCommitParentsItem> for StatusEventCommitParentsItem {
33192 fn from(value: &StatusEventCommitParentsItem) -> Self {
33193 value.clone()
33194 }
33195}
33196#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
33198pub enum StatusEventState {
33199 #[serde(rename = "pending")]
33200 Pending,
33201 #[serde(rename = "success")]
33202 Success,
33203 #[serde(rename = "failure")]
33204 Failure,
33205 #[serde(rename = "error")]
33206 Error,
33207}
33208impl From<&StatusEventState> for StatusEventState {
33209 fn from(value: &StatusEventState) -> Self {
33210 value.clone()
33211 }
33212}
33213impl ToString for StatusEventState {
33214 fn to_string(&self) -> String {
33215 match *self {
33216 Self::Pending => "pending".to_string(),
33217 Self::Success => "success".to_string(),
33218 Self::Failure => "failure".to_string(),
33219 Self::Error => "error".to_string(),
33220 }
33221 }
33222}
33223impl std::str::FromStr for StatusEventState {
33224 type Err = &'static str;
33225
33226 fn from_str(value: &str) -> Result<Self, &'static str> {
33227 match value {
33228 "pending" => Ok(Self::Pending),
33229 "success" => Ok(Self::Success),
33230 "failure" => Ok(Self::Failure),
33231 "error" => Ok(Self::Error),
33232 _ => Err("invalid value"),
33233 }
33234 }
33235}
33236impl std::convert::TryFrom<&str> for StatusEventState {
33237 type Error = &'static str;
33238
33239 fn try_from(value: &str) -> Result<Self, &'static str> {
33240 value.parse()
33241 }
33242}
33243impl std::convert::TryFrom<&String> for StatusEventState {
33244 type Error = &'static str;
33245
33246 fn try_from(value: &String) -> Result<Self, &'static str> {
33247 value.parse()
33248 }
33249}
33250impl std::convert::TryFrom<String> for StatusEventState {
33251 type Error = &'static str;
33252
33253 fn try_from(value: String) -> Result<Self, &'static str> {
33254 value.parse()
33255 }
33256}
33257#[derive(Clone, Debug, Deserialize, Serialize)]
33260#[serde(deny_unknown_fields)]
33261pub struct Team {
33262 pub description: Option<String>,
33264 pub html_url: String,
33265 pub id: i64,
33267 pub members_url: String,
33268 pub name: String,
33270 pub node_id: String,
33271 #[serde(default, skip_serializing_if = "Option::is_none")]
33272 pub parent: Option<TeamParent>,
33273 pub permission: String,
33275 pub privacy: TeamPrivacy,
33276 pub repositories_url: String,
33277 pub slug: String,
33278 pub url: String,
33280}
33281impl From<&Team> for Team {
33282 fn from(value: &Team) -> Self {
33283 value.clone()
33284 }
33285}
33286#[derive(Clone, Debug, Deserialize, Serialize)]
33287#[serde(deny_unknown_fields)]
33288pub struct TeamAddEvent {
33289 #[serde(default, skip_serializing_if = "Option::is_none")]
33290 pub installation: Option<InstallationLite>,
33291 pub organization: Organization,
33292 pub repository: Repository,
33293 pub sender: User,
33294 pub team: Team,
33295}
33296impl From<&TeamAddEvent> for TeamAddEvent {
33297 fn from(value: &TeamAddEvent) -> Self {
33298 value.clone()
33299 }
33300}
33301#[derive(Clone, Debug, Deserialize, Serialize)]
33302#[serde(deny_unknown_fields)]
33303pub struct TeamAddedToRepository {
33304 pub action: TeamAddedToRepositoryAction,
33305 #[serde(default, skip_serializing_if = "Option::is_none")]
33306 pub installation: Option<InstallationLite>,
33307 pub organization: Organization,
33308 #[serde(default, skip_serializing_if = "Option::is_none")]
33309 pub repository: Option<Repository>,
33310 pub sender: User,
33311 pub team: Team,
33312}
33313impl From<&TeamAddedToRepository> for TeamAddedToRepository {
33314 fn from(value: &TeamAddedToRepository) -> Self {
33315 value.clone()
33316 }
33317}
33318#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
33319pub enum TeamAddedToRepositoryAction {
33320 #[serde(rename = "added_to_repository")]
33321 AddedToRepository,
33322}
33323impl From<&TeamAddedToRepositoryAction> for TeamAddedToRepositoryAction {
33324 fn from(value: &TeamAddedToRepositoryAction) -> Self {
33325 value.clone()
33326 }
33327}
33328impl ToString for TeamAddedToRepositoryAction {
33329 fn to_string(&self) -> String {
33330 match *self {
33331 Self::AddedToRepository => "added_to_repository".to_string(),
33332 }
33333 }
33334}
33335impl std::str::FromStr for TeamAddedToRepositoryAction {
33336 type Err = &'static str;
33337
33338 fn from_str(value: &str) -> Result<Self, &'static str> {
33339 match value {
33340 "added_to_repository" => Ok(Self::AddedToRepository),
33341 _ => Err("invalid value"),
33342 }
33343 }
33344}
33345impl std::convert::TryFrom<&str> for TeamAddedToRepositoryAction {
33346 type Error = &'static str;
33347
33348 fn try_from(value: &str) -> Result<Self, &'static str> {
33349 value.parse()
33350 }
33351}
33352impl std::convert::TryFrom<&String> for TeamAddedToRepositoryAction {
33353 type Error = &'static str;
33354
33355 fn try_from(value: &String) -> Result<Self, &'static str> {
33356 value.parse()
33357 }
33358}
33359impl std::convert::TryFrom<String> for TeamAddedToRepositoryAction {
33360 type Error = &'static str;
33361
33362 fn try_from(value: String) -> Result<Self, &'static str> {
33363 value.parse()
33364 }
33365}
33366#[derive(Clone, Debug, Deserialize, Serialize)]
33367#[serde(deny_unknown_fields)]
33368pub struct TeamCreated {
33369 pub action: TeamCreatedAction,
33370 #[serde(default, skip_serializing_if = "Option::is_none")]
33371 pub installation: Option<InstallationLite>,
33372 pub organization: Organization,
33373 #[serde(default, skip_serializing_if = "Option::is_none")]
33374 pub repository: Option<Repository>,
33375 pub sender: User,
33376 pub team: Team,
33377}
33378impl From<&TeamCreated> for TeamCreated {
33379 fn from(value: &TeamCreated) -> Self {
33380 value.clone()
33381 }
33382}
33383#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
33384pub enum TeamCreatedAction {
33385 #[serde(rename = "created")]
33386 Created,
33387}
33388impl From<&TeamCreatedAction> for TeamCreatedAction {
33389 fn from(value: &TeamCreatedAction) -> Self {
33390 value.clone()
33391 }
33392}
33393impl ToString for TeamCreatedAction {
33394 fn to_string(&self) -> String {
33395 match *self {
33396 Self::Created => "created".to_string(),
33397 }
33398 }
33399}
33400impl std::str::FromStr for TeamCreatedAction {
33401 type Err = &'static str;
33402
33403 fn from_str(value: &str) -> Result<Self, &'static str> {
33404 match value {
33405 "created" => Ok(Self::Created),
33406 _ => Err("invalid value"),
33407 }
33408 }
33409}
33410impl std::convert::TryFrom<&str> for TeamCreatedAction {
33411 type Error = &'static str;
33412
33413 fn try_from(value: &str) -> Result<Self, &'static str> {
33414 value.parse()
33415 }
33416}
33417impl std::convert::TryFrom<&String> for TeamCreatedAction {
33418 type Error = &'static str;
33419
33420 fn try_from(value: &String) -> Result<Self, &'static str> {
33421 value.parse()
33422 }
33423}
33424impl std::convert::TryFrom<String> for TeamCreatedAction {
33425 type Error = &'static str;
33426
33427 fn try_from(value: String) -> Result<Self, &'static str> {
33428 value.parse()
33429 }
33430}
33431#[derive(Clone, Debug, Deserialize, Serialize)]
33432#[serde(deny_unknown_fields)]
33433pub struct TeamDeleted {
33434 pub action: TeamDeletedAction,
33435 #[serde(default, skip_serializing_if = "Option::is_none")]
33436 pub installation: Option<InstallationLite>,
33437 pub organization: Organization,
33438 #[serde(default, skip_serializing_if = "Option::is_none")]
33439 pub repository: Option<Repository>,
33440 pub sender: User,
33441 pub team: Team,
33442}
33443impl From<&TeamDeleted> for TeamDeleted {
33444 fn from(value: &TeamDeleted) -> Self {
33445 value.clone()
33446 }
33447}
33448#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
33449pub enum TeamDeletedAction {
33450 #[serde(rename = "deleted")]
33451 Deleted,
33452}
33453impl From<&TeamDeletedAction> for TeamDeletedAction {
33454 fn from(value: &TeamDeletedAction) -> Self {
33455 value.clone()
33456 }
33457}
33458impl ToString for TeamDeletedAction {
33459 fn to_string(&self) -> String {
33460 match *self {
33461 Self::Deleted => "deleted".to_string(),
33462 }
33463 }
33464}
33465impl std::str::FromStr for TeamDeletedAction {
33466 type Err = &'static str;
33467
33468 fn from_str(value: &str) -> Result<Self, &'static str> {
33469 match value {
33470 "deleted" => Ok(Self::Deleted),
33471 _ => Err("invalid value"),
33472 }
33473 }
33474}
33475impl std::convert::TryFrom<&str> for TeamDeletedAction {
33476 type Error = &'static str;
33477
33478 fn try_from(value: &str) -> Result<Self, &'static str> {
33479 value.parse()
33480 }
33481}
33482impl std::convert::TryFrom<&String> for TeamDeletedAction {
33483 type Error = &'static str;
33484
33485 fn try_from(value: &String) -> Result<Self, &'static str> {
33486 value.parse()
33487 }
33488}
33489impl std::convert::TryFrom<String> for TeamDeletedAction {
33490 type Error = &'static str;
33491
33492 fn try_from(value: String) -> Result<Self, &'static str> {
33493 value.parse()
33494 }
33495}
33496#[derive(Clone, Debug, Deserialize, Serialize)]
33497#[serde(deny_unknown_fields)]
33498pub struct TeamEdited {
33499 pub action: TeamEditedAction,
33500 pub changes: TeamEditedChanges,
33501 #[serde(default, skip_serializing_if = "Option::is_none")]
33502 pub installation: Option<InstallationLite>,
33503 pub organization: Organization,
33504 #[serde(default, skip_serializing_if = "Option::is_none")]
33505 pub repository: Option<Repository>,
33506 pub sender: User,
33507 pub team: Team,
33508}
33509impl From<&TeamEdited> for TeamEdited {
33510 fn from(value: &TeamEdited) -> Self {
33511 value.clone()
33512 }
33513}
33514#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
33515pub enum TeamEditedAction {
33516 #[serde(rename = "edited")]
33517 Edited,
33518}
33519impl From<&TeamEditedAction> for TeamEditedAction {
33520 fn from(value: &TeamEditedAction) -> Self {
33521 value.clone()
33522 }
33523}
33524impl ToString for TeamEditedAction {
33525 fn to_string(&self) -> String {
33526 match *self {
33527 Self::Edited => "edited".to_string(),
33528 }
33529 }
33530}
33531impl std::str::FromStr for TeamEditedAction {
33532 type Err = &'static str;
33533
33534 fn from_str(value: &str) -> Result<Self, &'static str> {
33535 match value {
33536 "edited" => Ok(Self::Edited),
33537 _ => Err("invalid value"),
33538 }
33539 }
33540}
33541impl std::convert::TryFrom<&str> for TeamEditedAction {
33542 type Error = &'static str;
33543
33544 fn try_from(value: &str) -> Result<Self, &'static str> {
33545 value.parse()
33546 }
33547}
33548impl std::convert::TryFrom<&String> for TeamEditedAction {
33549 type Error = &'static str;
33550
33551 fn try_from(value: &String) -> Result<Self, &'static str> {
33552 value.parse()
33553 }
33554}
33555impl std::convert::TryFrom<String> for TeamEditedAction {
33556 type Error = &'static str;
33557
33558 fn try_from(value: String) -> Result<Self, &'static str> {
33559 value.parse()
33560 }
33561}
33562#[derive(Clone, Debug, Deserialize, Serialize)]
33564#[serde(deny_unknown_fields)]
33565pub struct TeamEditedChanges {
33566 #[serde(default, skip_serializing_if = "Option::is_none")]
33567 pub description: Option<TeamEditedChangesDescription>,
33568 #[serde(default, skip_serializing_if = "Option::is_none")]
33569 pub name: Option<TeamEditedChangesName>,
33570 #[serde(default, skip_serializing_if = "Option::is_none")]
33571 pub privacy: Option<TeamEditedChangesPrivacy>,
33572 #[serde(default, skip_serializing_if = "Option::is_none")]
33573 pub repository: Option<TeamEditedChangesRepository>,
33574}
33575impl From<&TeamEditedChanges> for TeamEditedChanges {
33576 fn from(value: &TeamEditedChanges) -> Self {
33577 value.clone()
33578 }
33579}
33580#[derive(Clone, Debug, Deserialize, Serialize)]
33581#[serde(deny_unknown_fields)]
33582pub struct TeamEditedChangesDescription {
33583 pub from: String,
33585}
33586impl From<&TeamEditedChangesDescription> for TeamEditedChangesDescription {
33587 fn from(value: &TeamEditedChangesDescription) -> Self {
33588 value.clone()
33589 }
33590}
33591#[derive(Clone, Debug, Deserialize, Serialize)]
33592#[serde(deny_unknown_fields)]
33593pub struct TeamEditedChangesName {
33594 pub from: String,
33596}
33597impl From<&TeamEditedChangesName> for TeamEditedChangesName {
33598 fn from(value: &TeamEditedChangesName) -> Self {
33599 value.clone()
33600 }
33601}
33602#[derive(Clone, Debug, Deserialize, Serialize)]
33603#[serde(deny_unknown_fields)]
33604pub struct TeamEditedChangesPrivacy {
33605 pub from: String,
33607}
33608impl From<&TeamEditedChangesPrivacy> for TeamEditedChangesPrivacy {
33609 fn from(value: &TeamEditedChangesPrivacy) -> Self {
33610 value.clone()
33611 }
33612}
33613#[derive(Clone, Debug, Deserialize, Serialize)]
33614#[serde(deny_unknown_fields)]
33615pub struct TeamEditedChangesRepository {
33616 pub permissions: TeamEditedChangesRepositoryPermissions,
33617}
33618impl From<&TeamEditedChangesRepository> for TeamEditedChangesRepository {
33619 fn from(value: &TeamEditedChangesRepository) -> Self {
33620 value.clone()
33621 }
33622}
33623#[derive(Clone, Debug, Deserialize, Serialize)]
33624#[serde(deny_unknown_fields)]
33625pub struct TeamEditedChangesRepositoryPermissions {
33626 pub from: TeamEditedChangesRepositoryPermissionsFrom,
33627}
33628impl From<&TeamEditedChangesRepositoryPermissions> for TeamEditedChangesRepositoryPermissions {
33629 fn from(value: &TeamEditedChangesRepositoryPermissions) -> Self {
33630 value.clone()
33631 }
33632}
33633#[derive(Clone, Debug, Deserialize, Serialize)]
33634#[serde(deny_unknown_fields)]
33635pub struct TeamEditedChangesRepositoryPermissionsFrom {
33636 #[serde(default, skip_serializing_if = "Option::is_none")]
33639 pub admin: Option<bool>,
33640 #[serde(default, skip_serializing_if = "Option::is_none")]
33643 pub pull: Option<bool>,
33644 #[serde(default, skip_serializing_if = "Option::is_none")]
33647 pub push: Option<bool>,
33648}
33649impl From<&TeamEditedChangesRepositoryPermissionsFrom>
33650 for TeamEditedChangesRepositoryPermissionsFrom
33651{
33652 fn from(value: &TeamEditedChangesRepositoryPermissionsFrom) -> Self {
33653 value.clone()
33654 }
33655}
33656#[derive(Clone, Debug, Deserialize, Serialize)]
33657#[serde(untagged)]
33658pub enum TeamEvent {
33659 AddedToRepository(TeamAddedToRepository),
33660 Created(TeamCreated),
33661 Deleted(TeamDeleted),
33662 Edited(TeamEdited),
33663 RemovedFromRepository(TeamRemovedFromRepository),
33664}
33665impl From<&TeamEvent> for TeamEvent {
33666 fn from(value: &TeamEvent) -> Self {
33667 value.clone()
33668 }
33669}
33670impl From<TeamAddedToRepository> for TeamEvent {
33671 fn from(value: TeamAddedToRepository) -> Self {
33672 Self::AddedToRepository(value)
33673 }
33674}
33675impl From<TeamCreated> for TeamEvent {
33676 fn from(value: TeamCreated) -> Self {
33677 Self::Created(value)
33678 }
33679}
33680impl From<TeamDeleted> for TeamEvent {
33681 fn from(value: TeamDeleted) -> Self {
33682 Self::Deleted(value)
33683 }
33684}
33685impl From<TeamEdited> for TeamEvent {
33686 fn from(value: TeamEdited) -> Self {
33687 Self::Edited(value)
33688 }
33689}
33690impl From<TeamRemovedFromRepository> for TeamEvent {
33691 fn from(value: TeamRemovedFromRepository) -> Self {
33692 Self::RemovedFromRepository(value)
33693 }
33694}
33695#[derive(Clone, Debug, Deserialize, Serialize)]
33696#[serde(deny_unknown_fields)]
33697pub struct TeamParent {
33698 pub description: Option<String>,
33700 pub html_url: String,
33701 pub id: i64,
33703 pub members_url: String,
33704 pub name: String,
33706 pub node_id: String,
33707 pub permission: String,
33709 pub privacy: TeamParentPrivacy,
33710 pub repositories_url: String,
33711 pub slug: String,
33712 pub url: String,
33714}
33715impl From<&TeamParent> for TeamParent {
33716 fn from(value: &TeamParent) -> Self {
33717 value.clone()
33718 }
33719}
33720#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
33721pub enum TeamParentPrivacy {
33722 #[serde(rename = "open")]
33723 Open,
33724 #[serde(rename = "closed")]
33725 Closed,
33726 #[serde(rename = "secret")]
33727 Secret,
33728}
33729impl From<&TeamParentPrivacy> for TeamParentPrivacy {
33730 fn from(value: &TeamParentPrivacy) -> Self {
33731 value.clone()
33732 }
33733}
33734impl ToString for TeamParentPrivacy {
33735 fn to_string(&self) -> String {
33736 match *self {
33737 Self::Open => "open".to_string(),
33738 Self::Closed => "closed".to_string(),
33739 Self::Secret => "secret".to_string(),
33740 }
33741 }
33742}
33743impl std::str::FromStr for TeamParentPrivacy {
33744 type Err = &'static str;
33745
33746 fn from_str(value: &str) -> Result<Self, &'static str> {
33747 match value {
33748 "open" => Ok(Self::Open),
33749 "closed" => Ok(Self::Closed),
33750 "secret" => Ok(Self::Secret),
33751 _ => Err("invalid value"),
33752 }
33753 }
33754}
33755impl std::convert::TryFrom<&str> for TeamParentPrivacy {
33756 type Error = &'static str;
33757
33758 fn try_from(value: &str) -> Result<Self, &'static str> {
33759 value.parse()
33760 }
33761}
33762impl std::convert::TryFrom<&String> for TeamParentPrivacy {
33763 type Error = &'static str;
33764
33765 fn try_from(value: &String) -> Result<Self, &'static str> {
33766 value.parse()
33767 }
33768}
33769impl std::convert::TryFrom<String> for TeamParentPrivacy {
33770 type Error = &'static str;
33771
33772 fn try_from(value: String) -> Result<Self, &'static str> {
33773 value.parse()
33774 }
33775}
33776#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
33777pub enum TeamPrivacy {
33778 #[serde(rename = "open")]
33779 Open,
33780 #[serde(rename = "closed")]
33781 Closed,
33782 #[serde(rename = "secret")]
33783 Secret,
33784}
33785impl From<&TeamPrivacy> for TeamPrivacy {
33786 fn from(value: &TeamPrivacy) -> Self {
33787 value.clone()
33788 }
33789}
33790impl ToString for TeamPrivacy {
33791 fn to_string(&self) -> String {
33792 match *self {
33793 Self::Open => "open".to_string(),
33794 Self::Closed => "closed".to_string(),
33795 Self::Secret => "secret".to_string(),
33796 }
33797 }
33798}
33799impl std::str::FromStr for TeamPrivacy {
33800 type Err = &'static str;
33801
33802 fn from_str(value: &str) -> Result<Self, &'static str> {
33803 match value {
33804 "open" => Ok(Self::Open),
33805 "closed" => Ok(Self::Closed),
33806 "secret" => Ok(Self::Secret),
33807 _ => Err("invalid value"),
33808 }
33809 }
33810}
33811impl std::convert::TryFrom<&str> for TeamPrivacy {
33812 type Error = &'static str;
33813
33814 fn try_from(value: &str) -> Result<Self, &'static str> {
33815 value.parse()
33816 }
33817}
33818impl std::convert::TryFrom<&String> for TeamPrivacy {
33819 type Error = &'static str;
33820
33821 fn try_from(value: &String) -> Result<Self, &'static str> {
33822 value.parse()
33823 }
33824}
33825impl std::convert::TryFrom<String> for TeamPrivacy {
33826 type Error = &'static str;
33827
33828 fn try_from(value: String) -> Result<Self, &'static str> {
33829 value.parse()
33830 }
33831}
33832#[derive(Clone, Debug, Deserialize, Serialize)]
33833#[serde(deny_unknown_fields)]
33834pub struct TeamRemovedFromRepository {
33835 pub action: TeamRemovedFromRepositoryAction,
33836 #[serde(default, skip_serializing_if = "Option::is_none")]
33837 pub installation: Option<InstallationLite>,
33838 pub organization: Organization,
33839 #[serde(default, skip_serializing_if = "Option::is_none")]
33840 pub repository: Option<Repository>,
33841 pub sender: User,
33842 pub team: Team,
33843}
33844impl From<&TeamRemovedFromRepository> for TeamRemovedFromRepository {
33845 fn from(value: &TeamRemovedFromRepository) -> Self {
33846 value.clone()
33847 }
33848}
33849#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
33850pub enum TeamRemovedFromRepositoryAction {
33851 #[serde(rename = "removed_from_repository")]
33852 RemovedFromRepository,
33853}
33854impl From<&TeamRemovedFromRepositoryAction> for TeamRemovedFromRepositoryAction {
33855 fn from(value: &TeamRemovedFromRepositoryAction) -> Self {
33856 value.clone()
33857 }
33858}
33859impl ToString for TeamRemovedFromRepositoryAction {
33860 fn to_string(&self) -> String {
33861 match *self {
33862 Self::RemovedFromRepository => "removed_from_repository".to_string(),
33863 }
33864 }
33865}
33866impl std::str::FromStr for TeamRemovedFromRepositoryAction {
33867 type Err = &'static str;
33868
33869 fn from_str(value: &str) -> Result<Self, &'static str> {
33870 match value {
33871 "removed_from_repository" => Ok(Self::RemovedFromRepository),
33872 _ => Err("invalid value"),
33873 }
33874 }
33875}
33876impl std::convert::TryFrom<&str> for TeamRemovedFromRepositoryAction {
33877 type Error = &'static str;
33878
33879 fn try_from(value: &str) -> Result<Self, &'static str> {
33880 value.parse()
33881 }
33882}
33883impl std::convert::TryFrom<&String> for TeamRemovedFromRepositoryAction {
33884 type Error = &'static str;
33885
33886 fn try_from(value: &String) -> Result<Self, &'static str> {
33887 value.parse()
33888 }
33889}
33890impl std::convert::TryFrom<String> for TeamRemovedFromRepositoryAction {
33891 type Error = &'static str;
33892
33893 fn try_from(value: String) -> Result<Self, &'static str> {
33894 value.parse()
33895 }
33896}
33897#[derive(Clone, Debug, Deserialize, Serialize)]
33898#[serde(deny_unknown_fields)]
33899pub struct User {
33900 pub avatar_url: String,
33901 #[serde(default, skip_serializing_if = "Option::is_none")]
33902 pub email: Option<String>,
33903 pub events_url: String,
33904 pub followers_url: String,
33905 pub following_url: String,
33906 pub gists_url: String,
33907 pub gravatar_id: String,
33908 pub html_url: String,
33909 pub id: i64,
33910 pub login: String,
33911 #[serde(default, skip_serializing_if = "Option::is_none")]
33912 pub name: Option<String>,
33913 pub node_id: String,
33914 pub organizations_url: String,
33915 pub received_events_url: String,
33916 pub repos_url: String,
33917 pub site_admin: bool,
33918 pub starred_url: String,
33919 pub subscriptions_url: String,
33920 #[serde(rename = "type")]
33921 pub type_: UserType,
33922 pub url: String,
33923}
33924impl From<&User> for User {
33925 fn from(value: &User) -> Self {
33926 value.clone()
33927 }
33928}
33929#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
33930pub enum UserType {
33931 Bot,
33932 User,
33933 Organization,
33934}
33935impl From<&UserType> for UserType {
33936 fn from(value: &UserType) -> Self {
33937 value.clone()
33938 }
33939}
33940impl ToString for UserType {
33941 fn to_string(&self) -> String {
33942 match *self {
33943 Self::Bot => "Bot".to_string(),
33944 Self::User => "User".to_string(),
33945 Self::Organization => "Organization".to_string(),
33946 }
33947 }
33948}
33949impl std::str::FromStr for UserType {
33950 type Err = &'static str;
33951
33952 fn from_str(value: &str) -> Result<Self, &'static str> {
33953 match value {
33954 "Bot" => Ok(Self::Bot),
33955 "User" => Ok(Self::User),
33956 "Organization" => Ok(Self::Organization),
33957 _ => Err("invalid value"),
33958 }
33959 }
33960}
33961impl std::convert::TryFrom<&str> for UserType {
33962 type Error = &'static str;
33963
33964 fn try_from(value: &str) -> Result<Self, &'static str> {
33965 value.parse()
33966 }
33967}
33968impl std::convert::TryFrom<&String> for UserType {
33969 type Error = &'static str;
33970
33971 fn try_from(value: &String) -> Result<Self, &'static str> {
33972 value.parse()
33973 }
33974}
33975impl std::convert::TryFrom<String> for UserType {
33976 type Error = &'static str;
33977
33978 fn try_from(value: String) -> Result<Self, &'static str> {
33979 value.parse()
33980 }
33981}
33982#[derive(Clone, Debug, Deserialize, Serialize)]
33983pub struct WatchEvent(pub WatchStarted);
33984impl std::ops::Deref for WatchEvent {
33985 type Target = WatchStarted;
33986
33987 fn deref(&self) -> &WatchStarted {
33988 &self.0
33989 }
33990}
33991impl From<WatchEvent> for WatchStarted {
33992 fn from(value: WatchEvent) -> Self {
33993 value.0
33994 }
33995}
33996impl From<&WatchEvent> for WatchEvent {
33997 fn from(value: &WatchEvent) -> Self {
33998 value.clone()
33999 }
34000}
34001impl From<WatchStarted> for WatchEvent {
34002 fn from(value: WatchStarted) -> Self {
34003 Self(value)
34004 }
34005}
34006#[derive(Clone, Debug, Deserialize, Serialize)]
34007#[serde(deny_unknown_fields)]
34008pub struct WatchStarted {
34009 pub action: WatchStartedAction,
34010 #[serde(default, skip_serializing_if = "Option::is_none")]
34011 pub installation: Option<InstallationLite>,
34012 #[serde(default, skip_serializing_if = "Option::is_none")]
34013 pub organization: Option<Organization>,
34014 pub repository: Repository,
34015 pub sender: User,
34016}
34017impl From<&WatchStarted> for WatchStarted {
34018 fn from(value: &WatchStarted) -> Self {
34019 value.clone()
34020 }
34021}
34022#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
34023pub enum WatchStartedAction {
34024 #[serde(rename = "started")]
34025 Started,
34026}
34027impl From<&WatchStartedAction> for WatchStartedAction {
34028 fn from(value: &WatchStartedAction) -> Self {
34029 value.clone()
34030 }
34031}
34032impl ToString for WatchStartedAction {
34033 fn to_string(&self) -> String {
34034 match *self {
34035 Self::Started => "started".to_string(),
34036 }
34037 }
34038}
34039impl std::str::FromStr for WatchStartedAction {
34040 type Err = &'static str;
34041
34042 fn from_str(value: &str) -> Result<Self, &'static str> {
34043 match value {
34044 "started" => Ok(Self::Started),
34045 _ => Err("invalid value"),
34046 }
34047 }
34048}
34049impl std::convert::TryFrom<&str> for WatchStartedAction {
34050 type Error = &'static str;
34051
34052 fn try_from(value: &str) -> Result<Self, &'static str> {
34053 value.parse()
34054 }
34055}
34056impl std::convert::TryFrom<&String> for WatchStartedAction {
34057 type Error = &'static str;
34058
34059 fn try_from(value: &String) -> Result<Self, &'static str> {
34060 value.parse()
34061 }
34062}
34063impl std::convert::TryFrom<String> for WatchStartedAction {
34064 type Error = &'static str;
34065
34066 fn try_from(value: String) -> Result<Self, &'static str> {
34067 value.parse()
34068 }
34069}
34070#[derive(Clone, Debug, Deserialize, Serialize)]
34071#[serde(untagged)]
34072pub enum WebhookEvents {
34073 Variant0(Vec<WebhookEventsVariant0Item>),
34074 Variant1(Vec<String>),
34075}
34076impl From<&WebhookEvents> for WebhookEvents {
34077 fn from(value: &WebhookEvents) -> Self {
34078 value.clone()
34079 }
34080}
34081impl From<Vec<WebhookEventsVariant0Item>> for WebhookEvents {
34082 fn from(value: Vec<WebhookEventsVariant0Item>) -> Self {
34083 Self::Variant0(value)
34084 }
34085}
34086impl From<Vec<String>> for WebhookEvents {
34087 fn from(value: Vec<String>) -> Self {
34088 Self::Variant1(value)
34089 }
34090}
34091#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
34092pub enum WebhookEventsVariant0Item {
34093 #[serde(rename = "branch_protection_rule")]
34094 BranchProtectionRule,
34095 #[serde(rename = "check_run")]
34096 CheckRun,
34097 #[serde(rename = "check_suite")]
34098 CheckSuite,
34099 #[serde(rename = "code_scanning_alert")]
34100 CodeScanningAlert,
34101 #[serde(rename = "commit_comment")]
34102 CommitComment,
34103 #[serde(rename = "create")]
34104 Create,
34105 #[serde(rename = "delete")]
34106 Delete,
34107 #[serde(rename = "deployment")]
34108 Deployment,
34109 #[serde(rename = "deployment_status")]
34110 DeploymentStatus,
34111 #[serde(rename = "deploy_key")]
34112 DeployKey,
34113 #[serde(rename = "discussion")]
34114 Discussion,
34115 #[serde(rename = "discussion_comment")]
34116 DiscussionComment,
34117 #[serde(rename = "fork")]
34118 Fork,
34119 #[serde(rename = "gollum")]
34120 Gollum,
34121 #[serde(rename = "issues")]
34122 Issues,
34123 #[serde(rename = "issue_comment")]
34124 IssueComment,
34125 #[serde(rename = "label")]
34126 Label,
34127 #[serde(rename = "member")]
34128 Member,
34129 #[serde(rename = "membership")]
34130 Membership,
34131 #[serde(rename = "meta")]
34132 Meta,
34133 #[serde(rename = "milestone")]
34134 Milestone,
34135 #[serde(rename = "organization")]
34136 Organization,
34137 #[serde(rename = "org_block")]
34138 OrgBlock,
34139 #[serde(rename = "package")]
34140 Package,
34141 #[serde(rename = "page_build")]
34142 PageBuild,
34143 #[serde(rename = "project")]
34144 Project,
34145 #[serde(rename = "projects_v2_item")]
34146 ProjectsV2Item,
34147 #[serde(rename = "project_card")]
34148 ProjectCard,
34149 #[serde(rename = "project_column")]
34150 ProjectColumn,
34151 #[serde(rename = "public")]
34152 Public,
34153 #[serde(rename = "pull_request")]
34154 PullRequest,
34155 #[serde(rename = "pull_request_review")]
34156 PullRequestReview,
34157 #[serde(rename = "pull_request_review_comment")]
34158 PullRequestReviewComment,
34159 #[serde(rename = "pull_request_review_thread")]
34160 PullRequestReviewThread,
34161 #[serde(rename = "push")]
34162 Push,
34163 #[serde(rename = "registry_package")]
34164 RegistryPackage,
34165 #[serde(rename = "release")]
34166 Release,
34167 #[serde(rename = "repository")]
34168 Repository,
34169 #[serde(rename = "repository_import")]
34170 RepositoryImport,
34171 #[serde(rename = "repository_vulnerability_alert")]
34172 RepositoryVulnerabilityAlert,
34173 #[serde(rename = "secret_scanning_alert")]
34174 SecretScanningAlert,
34175 #[serde(rename = "secret_scanning_alert_location")]
34176 SecretScanningAlertLocation,
34177 #[serde(rename = "security_and_analysis")]
34178 SecurityAndAnalysis,
34179 #[serde(rename = "star")]
34180 Star,
34181 #[serde(rename = "status")]
34182 Status,
34183 #[serde(rename = "team")]
34184 Team,
34185 #[serde(rename = "team_add")]
34186 TeamAdd,
34187 #[serde(rename = "watch")]
34188 Watch,
34189 #[serde(rename = "workflow_job")]
34190 WorkflowJob,
34191 #[serde(rename = "workflow_run")]
34192 WorkflowRun,
34193}
34194impl From<&WebhookEventsVariant0Item> for WebhookEventsVariant0Item {
34195 fn from(value: &WebhookEventsVariant0Item) -> Self {
34196 value.clone()
34197 }
34198}
34199impl ToString for WebhookEventsVariant0Item {
34200 fn to_string(&self) -> String {
34201 match *self {
34202 Self::BranchProtectionRule => "branch_protection_rule".to_string(),
34203 Self::CheckRun => "check_run".to_string(),
34204 Self::CheckSuite => "check_suite".to_string(),
34205 Self::CodeScanningAlert => "code_scanning_alert".to_string(),
34206 Self::CommitComment => "commit_comment".to_string(),
34207 Self::Create => "create".to_string(),
34208 Self::Delete => "delete".to_string(),
34209 Self::Deployment => "deployment".to_string(),
34210 Self::DeploymentStatus => "deployment_status".to_string(),
34211 Self::DeployKey => "deploy_key".to_string(),
34212 Self::Discussion => "discussion".to_string(),
34213 Self::DiscussionComment => "discussion_comment".to_string(),
34214 Self::Fork => "fork".to_string(),
34215 Self::Gollum => "gollum".to_string(),
34216 Self::Issues => "issues".to_string(),
34217 Self::IssueComment => "issue_comment".to_string(),
34218 Self::Label => "label".to_string(),
34219 Self::Member => "member".to_string(),
34220 Self::Membership => "membership".to_string(),
34221 Self::Meta => "meta".to_string(),
34222 Self::Milestone => "milestone".to_string(),
34223 Self::Organization => "organization".to_string(),
34224 Self::OrgBlock => "org_block".to_string(),
34225 Self::Package => "package".to_string(),
34226 Self::PageBuild => "page_build".to_string(),
34227 Self::Project => "project".to_string(),
34228 Self::ProjectsV2Item => "projects_v2_item".to_string(),
34229 Self::ProjectCard => "project_card".to_string(),
34230 Self::ProjectColumn => "project_column".to_string(),
34231 Self::Public => "public".to_string(),
34232 Self::PullRequest => "pull_request".to_string(),
34233 Self::PullRequestReview => "pull_request_review".to_string(),
34234 Self::PullRequestReviewComment => "pull_request_review_comment".to_string(),
34235 Self::PullRequestReviewThread => "pull_request_review_thread".to_string(),
34236 Self::Push => "push".to_string(),
34237 Self::RegistryPackage => "registry_package".to_string(),
34238 Self::Release => "release".to_string(),
34239 Self::Repository => "repository".to_string(),
34240 Self::RepositoryImport => "repository_import".to_string(),
34241 Self::RepositoryVulnerabilityAlert => "repository_vulnerability_alert".to_string(),
34242 Self::SecretScanningAlert => "secret_scanning_alert".to_string(),
34243 Self::SecretScanningAlertLocation => "secret_scanning_alert_location".to_string(),
34244 Self::SecurityAndAnalysis => "security_and_analysis".to_string(),
34245 Self::Star => "star".to_string(),
34246 Self::Status => "status".to_string(),
34247 Self::Team => "team".to_string(),
34248 Self::TeamAdd => "team_add".to_string(),
34249 Self::Watch => "watch".to_string(),
34250 Self::WorkflowJob => "workflow_job".to_string(),
34251 Self::WorkflowRun => "workflow_run".to_string(),
34252 }
34253 }
34254}
34255impl std::str::FromStr for WebhookEventsVariant0Item {
34256 type Err = &'static str;
34257
34258 fn from_str(value: &str) -> Result<Self, &'static str> {
34259 match value {
34260 "branch_protection_rule" => Ok(Self::BranchProtectionRule),
34261 "check_run" => Ok(Self::CheckRun),
34262 "check_suite" => Ok(Self::CheckSuite),
34263 "code_scanning_alert" => Ok(Self::CodeScanningAlert),
34264 "commit_comment" => Ok(Self::CommitComment),
34265 "create" => Ok(Self::Create),
34266 "delete" => Ok(Self::Delete),
34267 "deployment" => Ok(Self::Deployment),
34268 "deployment_status" => Ok(Self::DeploymentStatus),
34269 "deploy_key" => Ok(Self::DeployKey),
34270 "discussion" => Ok(Self::Discussion),
34271 "discussion_comment" => Ok(Self::DiscussionComment),
34272 "fork" => Ok(Self::Fork),
34273 "gollum" => Ok(Self::Gollum),
34274 "issues" => Ok(Self::Issues),
34275 "issue_comment" => Ok(Self::IssueComment),
34276 "label" => Ok(Self::Label),
34277 "member" => Ok(Self::Member),
34278 "membership" => Ok(Self::Membership),
34279 "meta" => Ok(Self::Meta),
34280 "milestone" => Ok(Self::Milestone),
34281 "organization" => Ok(Self::Organization),
34282 "org_block" => Ok(Self::OrgBlock),
34283 "package" => Ok(Self::Package),
34284 "page_build" => Ok(Self::PageBuild),
34285 "project" => Ok(Self::Project),
34286 "projects_v2_item" => Ok(Self::ProjectsV2Item),
34287 "project_card" => Ok(Self::ProjectCard),
34288 "project_column" => Ok(Self::ProjectColumn),
34289 "public" => Ok(Self::Public),
34290 "pull_request" => Ok(Self::PullRequest),
34291 "pull_request_review" => Ok(Self::PullRequestReview),
34292 "pull_request_review_comment" => Ok(Self::PullRequestReviewComment),
34293 "pull_request_review_thread" => Ok(Self::PullRequestReviewThread),
34294 "push" => Ok(Self::Push),
34295 "registry_package" => Ok(Self::RegistryPackage),
34296 "release" => Ok(Self::Release),
34297 "repository" => Ok(Self::Repository),
34298 "repository_import" => Ok(Self::RepositoryImport),
34299 "repository_vulnerability_alert" => Ok(Self::RepositoryVulnerabilityAlert),
34300 "secret_scanning_alert" => Ok(Self::SecretScanningAlert),
34301 "secret_scanning_alert_location" => Ok(Self::SecretScanningAlertLocation),
34302 "security_and_analysis" => Ok(Self::SecurityAndAnalysis),
34303 "star" => Ok(Self::Star),
34304 "status" => Ok(Self::Status),
34305 "team" => Ok(Self::Team),
34306 "team_add" => Ok(Self::TeamAdd),
34307 "watch" => Ok(Self::Watch),
34308 "workflow_job" => Ok(Self::WorkflowJob),
34309 "workflow_run" => Ok(Self::WorkflowRun),
34310 _ => Err("invalid value"),
34311 }
34312 }
34313}
34314impl std::convert::TryFrom<&str> for WebhookEventsVariant0Item {
34315 type Error = &'static str;
34316
34317 fn try_from(value: &str) -> Result<Self, &'static str> {
34318 value.parse()
34319 }
34320}
34321impl std::convert::TryFrom<&String> for WebhookEventsVariant0Item {
34322 type Error = &'static str;
34323
34324 fn try_from(value: &String) -> Result<Self, &'static str> {
34325 value.parse()
34326 }
34327}
34328impl std::convert::TryFrom<String> for WebhookEventsVariant0Item {
34329 type Error = &'static str;
34330
34331 fn try_from(value: String) -> Result<Self, &'static str> {
34332 value.parse()
34333 }
34334}
34335#[derive(Clone, Debug, Deserialize, Serialize)]
34336#[serde(untagged)]
34337pub enum WebhookPayload {
34338 BranchProtectionRuleEvent(BranchProtectionRuleEvent),
34339 CheckRunEvent(CheckRunEvent),
34340 CheckSuiteEvent(CheckSuiteEvent),
34341 CodeScanningAlertEvent(CodeScanningAlertEvent),
34342 CommitCommentEvent(CommitCommentEvent),
34343 CreateEvent(CreateEvent),
34344 DeleteEvent(DeleteEvent),
34345 DependabotAlertEvent(DependabotAlertEvent),
34346 DeployKeyEvent(DeployKeyEvent),
34347 DeploymentEvent(DeploymentEvent),
34348 DeploymentStatusEvent(DeploymentStatusEvent),
34349 DiscussionEvent(DiscussionEvent),
34350 DiscussionCommentEvent(DiscussionCommentEvent),
34351 ForkEvent(ForkEvent),
34352 GithubAppAuthorizationEvent(GithubAppAuthorizationEvent),
34353 GollumEvent(GollumEvent),
34354 InstallationEvent(InstallationEvent),
34355 InstallationRepositoriesEvent(InstallationRepositoriesEvent),
34356 InstallationTargetEvent(InstallationTargetEvent),
34357 IssueCommentEvent(IssueCommentEvent),
34358 IssuesEvent(IssuesEvent),
34359 LabelEvent(LabelEvent),
34360 MarketplacePurchaseEvent(MarketplacePurchaseEvent),
34361 MemberEvent(MemberEvent),
34362 MembershipEvent(MembershipEvent),
34363 MergeGroupEvent(MergeGroupEvent),
34364 MetaEvent(MetaEvent),
34365 MilestoneEvent(MilestoneEvent),
34366 OrgBlockEvent(OrgBlockEvent),
34367 OrganizationEvent(OrganizationEvent),
34368 PackageEvent(PackageEvent),
34369 PageBuildEvent(PageBuildEvent),
34370 PingEvent(PingEvent),
34371 ProjectEvent(ProjectEvent),
34372 ProjectCardEvent(ProjectCardEvent),
34373 ProjectColumnEvent(ProjectColumnEvent),
34374 ProjectsV2ItemEvent(ProjectsV2ItemEvent),
34375 PublicEvent(PublicEvent),
34376 PullRequestEvent(PullRequestEvent),
34377 PullRequestReviewEvent(PullRequestReviewEvent),
34378 PullRequestReviewCommentEvent(PullRequestReviewCommentEvent),
34379 PullRequestReviewThreadEvent(PullRequestReviewThreadEvent),
34380 PushEvent(PushEvent),
34381 RegistryPackageEvent(RegistryPackageEvent),
34382 ReleaseEvent(ReleaseEvent),
34383 RepositoryEvent(RepositoryEvent),
34384 RepositoryDispatchEvent(RepositoryDispatchEvent),
34385 RepositoryImportEvent(RepositoryImportEvent),
34386 RepositoryVulnerabilityAlertEvent(RepositoryVulnerabilityAlertEvent),
34387 SecretScanningAlertEvent(SecretScanningAlertEvent),
34388 SecurityAdvisoryEvent(SecurityAdvisoryEvent),
34389 SponsorshipEvent(SponsorshipEvent),
34390 StarEvent(StarEvent),
34391 StatusEvent(StatusEvent),
34392 TeamEvent(TeamEvent),
34393 TeamAddEvent(TeamAddEvent),
34394 WatchEvent(WatchEvent),
34395 WorkflowDispatchEvent(WorkflowDispatchEvent),
34396 WorkflowJobEvent(WorkflowJobEvent),
34397 WorkflowRunEvent(WorkflowRunEvent),
34398}
34399impl From<&WebhookPayload> for WebhookPayload {
34400 fn from(value: &WebhookPayload) -> Self {
34401 value.clone()
34402 }
34403}
34404impl From<BranchProtectionRuleEvent> for WebhookPayload {
34405 fn from(value: BranchProtectionRuleEvent) -> Self {
34406 Self::BranchProtectionRuleEvent(value)
34407 }
34408}
34409impl From<CheckRunEvent> for WebhookPayload {
34410 fn from(value: CheckRunEvent) -> Self {
34411 Self::CheckRunEvent(value)
34412 }
34413}
34414impl From<CheckSuiteEvent> for WebhookPayload {
34415 fn from(value: CheckSuiteEvent) -> Self {
34416 Self::CheckSuiteEvent(value)
34417 }
34418}
34419impl From<CodeScanningAlertEvent> for WebhookPayload {
34420 fn from(value: CodeScanningAlertEvent) -> Self {
34421 Self::CodeScanningAlertEvent(value)
34422 }
34423}
34424impl From<CommitCommentEvent> for WebhookPayload {
34425 fn from(value: CommitCommentEvent) -> Self {
34426 Self::CommitCommentEvent(value)
34427 }
34428}
34429impl From<CreateEvent> for WebhookPayload {
34430 fn from(value: CreateEvent) -> Self {
34431 Self::CreateEvent(value)
34432 }
34433}
34434impl From<DeleteEvent> for WebhookPayload {
34435 fn from(value: DeleteEvent) -> Self {
34436 Self::DeleteEvent(value)
34437 }
34438}
34439impl From<DependabotAlertEvent> for WebhookPayload {
34440 fn from(value: DependabotAlertEvent) -> Self {
34441 Self::DependabotAlertEvent(value)
34442 }
34443}
34444impl From<DeployKeyEvent> for WebhookPayload {
34445 fn from(value: DeployKeyEvent) -> Self {
34446 Self::DeployKeyEvent(value)
34447 }
34448}
34449impl From<DeploymentEvent> for WebhookPayload {
34450 fn from(value: DeploymentEvent) -> Self {
34451 Self::DeploymentEvent(value)
34452 }
34453}
34454impl From<DeploymentStatusEvent> for WebhookPayload {
34455 fn from(value: DeploymentStatusEvent) -> Self {
34456 Self::DeploymentStatusEvent(value)
34457 }
34458}
34459impl From<DiscussionEvent> for WebhookPayload {
34460 fn from(value: DiscussionEvent) -> Self {
34461 Self::DiscussionEvent(value)
34462 }
34463}
34464impl From<DiscussionCommentEvent> for WebhookPayload {
34465 fn from(value: DiscussionCommentEvent) -> Self {
34466 Self::DiscussionCommentEvent(value)
34467 }
34468}
34469impl From<ForkEvent> for WebhookPayload {
34470 fn from(value: ForkEvent) -> Self {
34471 Self::ForkEvent(value)
34472 }
34473}
34474impl From<GithubAppAuthorizationEvent> for WebhookPayload {
34475 fn from(value: GithubAppAuthorizationEvent) -> Self {
34476 Self::GithubAppAuthorizationEvent(value)
34477 }
34478}
34479impl From<GollumEvent> for WebhookPayload {
34480 fn from(value: GollumEvent) -> Self {
34481 Self::GollumEvent(value)
34482 }
34483}
34484impl From<InstallationEvent> for WebhookPayload {
34485 fn from(value: InstallationEvent) -> Self {
34486 Self::InstallationEvent(value)
34487 }
34488}
34489impl From<InstallationRepositoriesEvent> for WebhookPayload {
34490 fn from(value: InstallationRepositoriesEvent) -> Self {
34491 Self::InstallationRepositoriesEvent(value)
34492 }
34493}
34494impl From<InstallationTargetEvent> for WebhookPayload {
34495 fn from(value: InstallationTargetEvent) -> Self {
34496 Self::InstallationTargetEvent(value)
34497 }
34498}
34499impl From<IssueCommentEvent> for WebhookPayload {
34500 fn from(value: IssueCommentEvent) -> Self {
34501 Self::IssueCommentEvent(value)
34502 }
34503}
34504impl From<IssuesEvent> for WebhookPayload {
34505 fn from(value: IssuesEvent) -> Self {
34506 Self::IssuesEvent(value)
34507 }
34508}
34509impl From<LabelEvent> for WebhookPayload {
34510 fn from(value: LabelEvent) -> Self {
34511 Self::LabelEvent(value)
34512 }
34513}
34514impl From<MarketplacePurchaseEvent> for WebhookPayload {
34515 fn from(value: MarketplacePurchaseEvent) -> Self {
34516 Self::MarketplacePurchaseEvent(value)
34517 }
34518}
34519impl From<MemberEvent> for WebhookPayload {
34520 fn from(value: MemberEvent) -> Self {
34521 Self::MemberEvent(value)
34522 }
34523}
34524impl From<MembershipEvent> for WebhookPayload {
34525 fn from(value: MembershipEvent) -> Self {
34526 Self::MembershipEvent(value)
34527 }
34528}
34529impl From<MergeGroupEvent> for WebhookPayload {
34530 fn from(value: MergeGroupEvent) -> Self {
34531 Self::MergeGroupEvent(value)
34532 }
34533}
34534impl From<MetaEvent> for WebhookPayload {
34535 fn from(value: MetaEvent) -> Self {
34536 Self::MetaEvent(value)
34537 }
34538}
34539impl From<MilestoneEvent> for WebhookPayload {
34540 fn from(value: MilestoneEvent) -> Self {
34541 Self::MilestoneEvent(value)
34542 }
34543}
34544impl From<OrgBlockEvent> for WebhookPayload {
34545 fn from(value: OrgBlockEvent) -> Self {
34546 Self::OrgBlockEvent(value)
34547 }
34548}
34549impl From<OrganizationEvent> for WebhookPayload {
34550 fn from(value: OrganizationEvent) -> Self {
34551 Self::OrganizationEvent(value)
34552 }
34553}
34554impl From<PackageEvent> for WebhookPayload {
34555 fn from(value: PackageEvent) -> Self {
34556 Self::PackageEvent(value)
34557 }
34558}
34559impl From<PageBuildEvent> for WebhookPayload {
34560 fn from(value: PageBuildEvent) -> Self {
34561 Self::PageBuildEvent(value)
34562 }
34563}
34564impl From<PingEvent> for WebhookPayload {
34565 fn from(value: PingEvent) -> Self {
34566 Self::PingEvent(value)
34567 }
34568}
34569impl From<ProjectEvent> for WebhookPayload {
34570 fn from(value: ProjectEvent) -> Self {
34571 Self::ProjectEvent(value)
34572 }
34573}
34574impl From<ProjectCardEvent> for WebhookPayload {
34575 fn from(value: ProjectCardEvent) -> Self {
34576 Self::ProjectCardEvent(value)
34577 }
34578}
34579impl From<ProjectColumnEvent> for WebhookPayload {
34580 fn from(value: ProjectColumnEvent) -> Self {
34581 Self::ProjectColumnEvent(value)
34582 }
34583}
34584impl From<ProjectsV2ItemEvent> for WebhookPayload {
34585 fn from(value: ProjectsV2ItemEvent) -> Self {
34586 Self::ProjectsV2ItemEvent(value)
34587 }
34588}
34589impl From<PublicEvent> for WebhookPayload {
34590 fn from(value: PublicEvent) -> Self {
34591 Self::PublicEvent(value)
34592 }
34593}
34594impl From<PullRequestEvent> for WebhookPayload {
34595 fn from(value: PullRequestEvent) -> Self {
34596 Self::PullRequestEvent(value)
34597 }
34598}
34599impl From<PullRequestReviewEvent> for WebhookPayload {
34600 fn from(value: PullRequestReviewEvent) -> Self {
34601 Self::PullRequestReviewEvent(value)
34602 }
34603}
34604impl From<PullRequestReviewCommentEvent> for WebhookPayload {
34605 fn from(value: PullRequestReviewCommentEvent) -> Self {
34606 Self::PullRequestReviewCommentEvent(value)
34607 }
34608}
34609impl From<PullRequestReviewThreadEvent> for WebhookPayload {
34610 fn from(value: PullRequestReviewThreadEvent) -> Self {
34611 Self::PullRequestReviewThreadEvent(value)
34612 }
34613}
34614impl From<PushEvent> for WebhookPayload {
34615 fn from(value: PushEvent) -> Self {
34616 Self::PushEvent(value)
34617 }
34618}
34619impl From<RegistryPackageEvent> for WebhookPayload {
34620 fn from(value: RegistryPackageEvent) -> Self {
34621 Self::RegistryPackageEvent(value)
34622 }
34623}
34624impl From<ReleaseEvent> for WebhookPayload {
34625 fn from(value: ReleaseEvent) -> Self {
34626 Self::ReleaseEvent(value)
34627 }
34628}
34629impl From<RepositoryEvent> for WebhookPayload {
34630 fn from(value: RepositoryEvent) -> Self {
34631 Self::RepositoryEvent(value)
34632 }
34633}
34634impl From<RepositoryDispatchEvent> for WebhookPayload {
34635 fn from(value: RepositoryDispatchEvent) -> Self {
34636 Self::RepositoryDispatchEvent(value)
34637 }
34638}
34639impl From<RepositoryImportEvent> for WebhookPayload {
34640 fn from(value: RepositoryImportEvent) -> Self {
34641 Self::RepositoryImportEvent(value)
34642 }
34643}
34644impl From<RepositoryVulnerabilityAlertEvent> for WebhookPayload {
34645 fn from(value: RepositoryVulnerabilityAlertEvent) -> Self {
34646 Self::RepositoryVulnerabilityAlertEvent(value)
34647 }
34648}
34649impl From<SecretScanningAlertEvent> for WebhookPayload {
34650 fn from(value: SecretScanningAlertEvent) -> Self {
34651 Self::SecretScanningAlertEvent(value)
34652 }
34653}
34654impl From<SecurityAdvisoryEvent> for WebhookPayload {
34655 fn from(value: SecurityAdvisoryEvent) -> Self {
34656 Self::SecurityAdvisoryEvent(value)
34657 }
34658}
34659impl From<SponsorshipEvent> for WebhookPayload {
34660 fn from(value: SponsorshipEvent) -> Self {
34661 Self::SponsorshipEvent(value)
34662 }
34663}
34664impl From<StarEvent> for WebhookPayload {
34665 fn from(value: StarEvent) -> Self {
34666 Self::StarEvent(value)
34667 }
34668}
34669impl From<StatusEvent> for WebhookPayload {
34670 fn from(value: StatusEvent) -> Self {
34671 Self::StatusEvent(value)
34672 }
34673}
34674impl From<TeamEvent> for WebhookPayload {
34675 fn from(value: TeamEvent) -> Self {
34676 Self::TeamEvent(value)
34677 }
34678}
34679impl From<TeamAddEvent> for WebhookPayload {
34680 fn from(value: TeamAddEvent) -> Self {
34681 Self::TeamAddEvent(value)
34682 }
34683}
34684impl From<WatchEvent> for WebhookPayload {
34685 fn from(value: WatchEvent) -> Self {
34686 Self::WatchEvent(value)
34687 }
34688}
34689impl From<WorkflowDispatchEvent> for WebhookPayload {
34690 fn from(value: WorkflowDispatchEvent) -> Self {
34691 Self::WorkflowDispatchEvent(value)
34692 }
34693}
34694impl From<WorkflowJobEvent> for WebhookPayload {
34695 fn from(value: WorkflowJobEvent) -> Self {
34696 Self::WorkflowJobEvent(value)
34697 }
34698}
34699impl From<WorkflowRunEvent> for WebhookPayload {
34700 fn from(value: WorkflowRunEvent) -> Self {
34701 Self::WorkflowRunEvent(value)
34702 }
34703}
34704#[derive(Clone, Debug, Deserialize, Serialize)]
34705#[serde(deny_unknown_fields)]
34706pub struct Workflow {
34707 pub badge_url: String,
34708 pub created_at: chrono::DateTime<chrono::offset::Utc>,
34709 pub html_url: String,
34710 pub id: i64,
34711 pub name: String,
34712 pub node_id: String,
34713 pub path: String,
34714 pub state: String,
34715 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
34716 pub url: String,
34717}
34718impl From<&Workflow> for Workflow {
34719 fn from(value: &Workflow) -> Self {
34720 value.clone()
34721 }
34722}
34723#[derive(Clone, Debug, Deserialize, Serialize)]
34724#[serde(deny_unknown_fields)]
34725pub struct WorkflowDispatchEvent {
34726 pub inputs: Option<std::collections::HashMap<String, serde_json::Value>>,
34729 #[serde(default, skip_serializing_if = "Option::is_none")]
34730 pub installation: Option<InstallationLite>,
34731 #[serde(default, skip_serializing_if = "Option::is_none")]
34732 pub organization: Option<Organization>,
34733 #[serde(rename = "ref")]
34735 pub ref_: String,
34736 pub repository: Repository,
34737 pub sender: User,
34738 pub workflow: String,
34740}
34741impl From<&WorkflowDispatchEvent> for WorkflowDispatchEvent {
34742 fn from(value: &WorkflowDispatchEvent) -> Self {
34743 value.clone()
34744 }
34745}
34746#[derive(Clone, Debug, Deserialize, Serialize)]
34750#[serde(deny_unknown_fields)]
34751pub struct WorkflowJob {
34752 pub check_run_url: String,
34753 pub completed_at: Option<chrono::DateTime<chrono::offset::Utc>>,
34754 pub conclusion: Option<WorkflowJobConclusion>,
34755 pub created_at: chrono::DateTime<chrono::offset::Utc>,
34756 pub head_branch: Option<String>,
34758 pub head_sha: String,
34759 pub html_url: String,
34760 pub id: i64,
34761 pub labels: Vec<String>,
34763 pub name: String,
34764 pub node_id: String,
34765 pub run_attempt: i64,
34766 pub run_id: f64,
34767 pub run_url: String,
34768 pub runner_group_id: Option<i64>,
34771 pub runner_group_name: Option<String>,
34774 pub runner_id: Option<i64>,
34777 pub runner_name: Option<String>,
34780 pub started_at: chrono::DateTime<chrono::offset::Utc>,
34781 pub status: WorkflowJobStatus,
34784 pub steps: Vec<WorkflowStep>,
34785 pub url: String,
34786 pub workflow_name: Option<String>,
34788}
34789impl From<&WorkflowJob> for WorkflowJob {
34790 fn from(value: &WorkflowJob) -> Self {
34791 value.clone()
34792 }
34793}
34794#[derive(Clone, Debug, Deserialize, Serialize)]
34795#[serde(deny_unknown_fields)]
34796pub struct WorkflowJobCompleted {
34797 pub action: WorkflowJobCompletedAction,
34798 #[serde(default, skip_serializing_if = "Option::is_none")]
34799 pub installation: Option<InstallationLite>,
34800 #[serde(default, skip_serializing_if = "Option::is_none")]
34801 pub organization: Option<Organization>,
34802 pub repository: Repository,
34803 pub sender: User,
34804 pub workflow_job: WorkflowJob,
34805}
34806impl From<&WorkflowJobCompleted> for WorkflowJobCompleted {
34807 fn from(value: &WorkflowJobCompleted) -> Self {
34808 value.clone()
34809 }
34810}
34811#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
34812pub enum WorkflowJobCompletedAction {
34813 #[serde(rename = "completed")]
34814 Completed,
34815}
34816impl From<&WorkflowJobCompletedAction> for WorkflowJobCompletedAction {
34817 fn from(value: &WorkflowJobCompletedAction) -> Self {
34818 value.clone()
34819 }
34820}
34821impl ToString for WorkflowJobCompletedAction {
34822 fn to_string(&self) -> String {
34823 match *self {
34824 Self::Completed => "completed".to_string(),
34825 }
34826 }
34827}
34828impl std::str::FromStr for WorkflowJobCompletedAction {
34829 type Err = &'static str;
34830
34831 fn from_str(value: &str) -> Result<Self, &'static str> {
34832 match value {
34833 "completed" => Ok(Self::Completed),
34834 _ => Err("invalid value"),
34835 }
34836 }
34837}
34838impl std::convert::TryFrom<&str> for WorkflowJobCompletedAction {
34839 type Error = &'static str;
34840
34841 fn try_from(value: &str) -> Result<Self, &'static str> {
34842 value.parse()
34843 }
34844}
34845impl std::convert::TryFrom<&String> for WorkflowJobCompletedAction {
34846 type Error = &'static str;
34847
34848 fn try_from(value: &String) -> Result<Self, &'static str> {
34849 value.parse()
34850 }
34851}
34852impl std::convert::TryFrom<String> for WorkflowJobCompletedAction {
34853 type Error = &'static str;
34854
34855 fn try_from(value: String) -> Result<Self, &'static str> {
34856 value.parse()
34857 }
34858}
34859#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
34860pub enum WorkflowJobConclusion {
34861 #[serde(rename = "success")]
34862 Success,
34863 #[serde(rename = "failure")]
34864 Failure,
34865 #[serde(rename = "cancelled")]
34866 Cancelled,
34867 #[serde(rename = "skipped")]
34868 Skipped,
34869}
34870impl From<&WorkflowJobConclusion> for WorkflowJobConclusion {
34871 fn from(value: &WorkflowJobConclusion) -> Self {
34872 value.clone()
34873 }
34874}
34875impl ToString for WorkflowJobConclusion {
34876 fn to_string(&self) -> String {
34877 match *self {
34878 Self::Success => "success".to_string(),
34879 Self::Failure => "failure".to_string(),
34880 Self::Cancelled => "cancelled".to_string(),
34881 Self::Skipped => "skipped".to_string(),
34882 }
34883 }
34884}
34885impl std::str::FromStr for WorkflowJobConclusion {
34886 type Err = &'static str;
34887
34888 fn from_str(value: &str) -> Result<Self, &'static str> {
34889 match value {
34890 "success" => Ok(Self::Success),
34891 "failure" => Ok(Self::Failure),
34892 "cancelled" => Ok(Self::Cancelled),
34893 "skipped" => Ok(Self::Skipped),
34894 _ => Err("invalid value"),
34895 }
34896 }
34897}
34898impl std::convert::TryFrom<&str> for WorkflowJobConclusion {
34899 type Error = &'static str;
34900
34901 fn try_from(value: &str) -> Result<Self, &'static str> {
34902 value.parse()
34903 }
34904}
34905impl std::convert::TryFrom<&String> for WorkflowJobConclusion {
34906 type Error = &'static str;
34907
34908 fn try_from(value: &String) -> Result<Self, &'static str> {
34909 value.parse()
34910 }
34911}
34912impl std::convert::TryFrom<String> for WorkflowJobConclusion {
34913 type Error = &'static str;
34914
34915 fn try_from(value: String) -> Result<Self, &'static str> {
34916 value.parse()
34917 }
34918}
34919#[derive(Clone, Debug, Deserialize, Serialize)]
34920#[serde(untagged)]
34921pub enum WorkflowJobEvent {
34922 Completed(WorkflowJobCompleted),
34923 InProgress(WorkflowJobInProgress),
34924 Queued(WorkflowJobQueued),
34925}
34926impl From<&WorkflowJobEvent> for WorkflowJobEvent {
34927 fn from(value: &WorkflowJobEvent) -> Self {
34928 value.clone()
34929 }
34930}
34931impl From<WorkflowJobCompleted> for WorkflowJobEvent {
34932 fn from(value: WorkflowJobCompleted) -> Self {
34933 Self::Completed(value)
34934 }
34935}
34936impl From<WorkflowJobInProgress> for WorkflowJobEvent {
34937 fn from(value: WorkflowJobInProgress) -> Self {
34938 Self::InProgress(value)
34939 }
34940}
34941impl From<WorkflowJobQueued> for WorkflowJobEvent {
34942 fn from(value: WorkflowJobQueued) -> Self {
34943 Self::Queued(value)
34944 }
34945}
34946#[derive(Clone, Debug, Deserialize, Serialize)]
34947#[serde(deny_unknown_fields)]
34948pub struct WorkflowJobInProgress {
34949 pub action: WorkflowJobInProgressAction,
34950 #[serde(default, skip_serializing_if = "Option::is_none")]
34951 pub installation: Option<InstallationLite>,
34952 #[serde(default, skip_serializing_if = "Option::is_none")]
34953 pub organization: Option<Organization>,
34954 pub repository: Repository,
34955 pub sender: User,
34956 pub workflow_job: WorkflowJob,
34957}
34958impl From<&WorkflowJobInProgress> for WorkflowJobInProgress {
34959 fn from(value: &WorkflowJobInProgress) -> Self {
34960 value.clone()
34961 }
34962}
34963#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
34964pub enum WorkflowJobInProgressAction {
34965 #[serde(rename = "in_progress")]
34966 InProgress,
34967}
34968impl From<&WorkflowJobInProgressAction> for WorkflowJobInProgressAction {
34969 fn from(value: &WorkflowJobInProgressAction) -> Self {
34970 value.clone()
34971 }
34972}
34973impl ToString for WorkflowJobInProgressAction {
34974 fn to_string(&self) -> String {
34975 match *self {
34976 Self::InProgress => "in_progress".to_string(),
34977 }
34978 }
34979}
34980impl std::str::FromStr for WorkflowJobInProgressAction {
34981 type Err = &'static str;
34982
34983 fn from_str(value: &str) -> Result<Self, &'static str> {
34984 match value {
34985 "in_progress" => Ok(Self::InProgress),
34986 _ => Err("invalid value"),
34987 }
34988 }
34989}
34990impl std::convert::TryFrom<&str> for WorkflowJobInProgressAction {
34991 type Error = &'static str;
34992
34993 fn try_from(value: &str) -> Result<Self, &'static str> {
34994 value.parse()
34995 }
34996}
34997impl std::convert::TryFrom<&String> for WorkflowJobInProgressAction {
34998 type Error = &'static str;
34999
35000 fn try_from(value: &String) -> Result<Self, &'static str> {
35001 value.parse()
35002 }
35003}
35004impl std::convert::TryFrom<String> for WorkflowJobInProgressAction {
35005 type Error = &'static str;
35006
35007 fn try_from(value: String) -> Result<Self, &'static str> {
35008 value.parse()
35009 }
35010}
35011#[derive(Clone, Debug, Deserialize, Serialize)]
35012#[serde(deny_unknown_fields)]
35013pub struct WorkflowJobQueued {
35014 pub action: WorkflowJobQueuedAction,
35015 #[serde(default, skip_serializing_if = "Option::is_none")]
35016 pub installation: Option<InstallationLite>,
35017 #[serde(default, skip_serializing_if = "Option::is_none")]
35018 pub organization: Option<Organization>,
35019 pub repository: Repository,
35020 pub sender: User,
35021 pub workflow_job: WorkflowJob,
35022}
35023impl From<&WorkflowJobQueued> for WorkflowJobQueued {
35024 fn from(value: &WorkflowJobQueued) -> Self {
35025 value.clone()
35026 }
35027}
35028#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
35029pub enum WorkflowJobQueuedAction {
35030 #[serde(rename = "queued")]
35031 Queued,
35032}
35033impl From<&WorkflowJobQueuedAction> for WorkflowJobQueuedAction {
35034 fn from(value: &WorkflowJobQueuedAction) -> Self {
35035 value.clone()
35036 }
35037}
35038impl ToString for WorkflowJobQueuedAction {
35039 fn to_string(&self) -> String {
35040 match *self {
35041 Self::Queued => "queued".to_string(),
35042 }
35043 }
35044}
35045impl std::str::FromStr for WorkflowJobQueuedAction {
35046 type Err = &'static str;
35047
35048 fn from_str(value: &str) -> Result<Self, &'static str> {
35049 match value {
35050 "queued" => Ok(Self::Queued),
35051 _ => Err("invalid value"),
35052 }
35053 }
35054}
35055impl std::convert::TryFrom<&str> for WorkflowJobQueuedAction {
35056 type Error = &'static str;
35057
35058 fn try_from(value: &str) -> Result<Self, &'static str> {
35059 value.parse()
35060 }
35061}
35062impl std::convert::TryFrom<&String> for WorkflowJobQueuedAction {
35063 type Error = &'static str;
35064
35065 fn try_from(value: &String) -> Result<Self, &'static str> {
35066 value.parse()
35067 }
35068}
35069impl std::convert::TryFrom<String> for WorkflowJobQueuedAction {
35070 type Error = &'static str;
35071
35072 fn try_from(value: String) -> Result<Self, &'static str> {
35073 value.parse()
35074 }
35075}
35076#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
35079pub enum WorkflowJobStatus {
35080 #[serde(rename = "queued")]
35081 Queued,
35082 #[serde(rename = "in_progress")]
35083 InProgress,
35084 #[serde(rename = "completed")]
35085 Completed,
35086}
35087impl From<&WorkflowJobStatus> for WorkflowJobStatus {
35088 fn from(value: &WorkflowJobStatus) -> Self {
35089 value.clone()
35090 }
35091}
35092impl ToString for WorkflowJobStatus {
35093 fn to_string(&self) -> String {
35094 match *self {
35095 Self::Queued => "queued".to_string(),
35096 Self::InProgress => "in_progress".to_string(),
35097 Self::Completed => "completed".to_string(),
35098 }
35099 }
35100}
35101impl std::str::FromStr for WorkflowJobStatus {
35102 type Err = &'static str;
35103
35104 fn from_str(value: &str) -> Result<Self, &'static str> {
35105 match value {
35106 "queued" => Ok(Self::Queued),
35107 "in_progress" => Ok(Self::InProgress),
35108 "completed" => Ok(Self::Completed),
35109 _ => Err("invalid value"),
35110 }
35111 }
35112}
35113impl std::convert::TryFrom<&str> for WorkflowJobStatus {
35114 type Error = &'static str;
35115
35116 fn try_from(value: &str) -> Result<Self, &'static str> {
35117 value.parse()
35118 }
35119}
35120impl std::convert::TryFrom<&String> for WorkflowJobStatus {
35121 type Error = &'static str;
35122
35123 fn try_from(value: &String) -> Result<Self, &'static str> {
35124 value.parse()
35125 }
35126}
35127impl std::convert::TryFrom<String> for WorkflowJobStatus {
35128 type Error = &'static str;
35129
35130 fn try_from(value: String) -> Result<Self, &'static str> {
35131 value.parse()
35132 }
35133}
35134#[derive(Clone, Debug, Deserialize, Serialize)]
35135#[serde(deny_unknown_fields)]
35136pub struct WorkflowRun {
35137 pub actor: User,
35138 pub artifacts_url: String,
35140 pub cancel_url: String,
35142 pub check_suite_id: i64,
35144 pub check_suite_node_id: String,
35146 pub check_suite_url: String,
35148 pub conclusion: Option<WorkflowRunConclusion>,
35149 pub created_at: chrono::DateTime<chrono::offset::Utc>,
35150 pub display_title: String,
35151 pub event: String,
35152 pub head_branch: String,
35153 pub head_commit: CommitSimple,
35154 pub head_repository: RepositoryLite,
35155 pub head_sha: String,
35158 pub html_url: String,
35159 pub id: i64,
35161 pub jobs_url: String,
35163 pub logs_url: String,
35165 pub name: String,
35167 pub node_id: String,
35168 pub path: String,
35170 pub previous_attempt_url: Option<String>,
35172 pub pull_requests: Vec<WorkflowRunPullRequestsItem>,
35173 #[serde(default, skip_serializing_if = "Vec::is_empty")]
35174 pub referenced_workflows: Vec<ReferencedWorkflow>,
35175 pub repository: RepositoryLite,
35176 pub rerun_url: String,
35178 pub run_attempt: i64,
35181 pub run_number: i64,
35183 pub run_started_at: chrono::DateTime<chrono::offset::Utc>,
35185 pub status: WorkflowRunStatus,
35186 pub triggering_actor: User,
35187 pub updated_at: chrono::DateTime<chrono::offset::Utc>,
35188 pub url: String,
35190 pub workflow_id: i64,
35192 pub workflow_url: String,
35194}
35195impl From<&WorkflowRun> for WorkflowRun {
35196 fn from(value: &WorkflowRun) -> Self {
35197 value.clone()
35198 }
35199}
35200#[derive(Clone, Debug, Deserialize, Serialize)]
35201#[serde(deny_unknown_fields)]
35202pub struct WorkflowRunCompleted {
35203 pub action: WorkflowRunCompletedAction,
35204 #[serde(default, skip_serializing_if = "Option::is_none")]
35205 pub installation: Option<InstallationLite>,
35206 #[serde(default, skip_serializing_if = "Option::is_none")]
35207 pub organization: Option<Organization>,
35208 pub repository: Repository,
35209 pub sender: User,
35210 pub workflow: Workflow,
35211 pub workflow_run: WorkflowRun,
35212}
35213impl From<&WorkflowRunCompleted> for WorkflowRunCompleted {
35214 fn from(value: &WorkflowRunCompleted) -> Self {
35215 value.clone()
35216 }
35217}
35218#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
35219pub enum WorkflowRunCompletedAction {
35220 #[serde(rename = "completed")]
35221 Completed,
35222}
35223impl From<&WorkflowRunCompletedAction> for WorkflowRunCompletedAction {
35224 fn from(value: &WorkflowRunCompletedAction) -> Self {
35225 value.clone()
35226 }
35227}
35228impl ToString for WorkflowRunCompletedAction {
35229 fn to_string(&self) -> String {
35230 match *self {
35231 Self::Completed => "completed".to_string(),
35232 }
35233 }
35234}
35235impl std::str::FromStr for WorkflowRunCompletedAction {
35236 type Err = &'static str;
35237
35238 fn from_str(value: &str) -> Result<Self, &'static str> {
35239 match value {
35240 "completed" => Ok(Self::Completed),
35241 _ => Err("invalid value"),
35242 }
35243 }
35244}
35245impl std::convert::TryFrom<&str> for WorkflowRunCompletedAction {
35246 type Error = &'static str;
35247
35248 fn try_from(value: &str) -> Result<Self, &'static str> {
35249 value.parse()
35250 }
35251}
35252impl std::convert::TryFrom<&String> for WorkflowRunCompletedAction {
35253 type Error = &'static str;
35254
35255 fn try_from(value: &String) -> Result<Self, &'static str> {
35256 value.parse()
35257 }
35258}
35259impl std::convert::TryFrom<String> for WorkflowRunCompletedAction {
35260 type Error = &'static str;
35261
35262 fn try_from(value: String) -> Result<Self, &'static str> {
35263 value.parse()
35264 }
35265}
35266#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
35267pub enum WorkflowRunConclusion {
35268 #[serde(rename = "success")]
35269 Success,
35270 #[serde(rename = "failure")]
35271 Failure,
35272 #[serde(rename = "neutral")]
35273 Neutral,
35274 #[serde(rename = "cancelled")]
35275 Cancelled,
35276 #[serde(rename = "timed_out")]
35277 TimedOut,
35278 #[serde(rename = "action_required")]
35279 ActionRequired,
35280 #[serde(rename = "stale")]
35281 Stale,
35282 #[serde(rename = "skipped")]
35283 Skipped,
35284}
35285impl From<&WorkflowRunConclusion> for WorkflowRunConclusion {
35286 fn from(value: &WorkflowRunConclusion) -> Self {
35287 value.clone()
35288 }
35289}
35290impl ToString for WorkflowRunConclusion {
35291 fn to_string(&self) -> String {
35292 match *self {
35293 Self::Success => "success".to_string(),
35294 Self::Failure => "failure".to_string(),
35295 Self::Neutral => "neutral".to_string(),
35296 Self::Cancelled => "cancelled".to_string(),
35297 Self::TimedOut => "timed_out".to_string(),
35298 Self::ActionRequired => "action_required".to_string(),
35299 Self::Stale => "stale".to_string(),
35300 Self::Skipped => "skipped".to_string(),
35301 }
35302 }
35303}
35304impl std::str::FromStr for WorkflowRunConclusion {
35305 type Err = &'static str;
35306
35307 fn from_str(value: &str) -> Result<Self, &'static str> {
35308 match value {
35309 "success" => Ok(Self::Success),
35310 "failure" => Ok(Self::Failure),
35311 "neutral" => Ok(Self::Neutral),
35312 "cancelled" => Ok(Self::Cancelled),
35313 "timed_out" => Ok(Self::TimedOut),
35314 "action_required" => Ok(Self::ActionRequired),
35315 "stale" => Ok(Self::Stale),
35316 "skipped" => Ok(Self::Skipped),
35317 _ => Err("invalid value"),
35318 }
35319 }
35320}
35321impl std::convert::TryFrom<&str> for WorkflowRunConclusion {
35322 type Error = &'static str;
35323
35324 fn try_from(value: &str) -> Result<Self, &'static str> {
35325 value.parse()
35326 }
35327}
35328impl std::convert::TryFrom<&String> for WorkflowRunConclusion {
35329 type Error = &'static str;
35330
35331 fn try_from(value: &String) -> Result<Self, &'static str> {
35332 value.parse()
35333 }
35334}
35335impl std::convert::TryFrom<String> for WorkflowRunConclusion {
35336 type Error = &'static str;
35337
35338 fn try_from(value: String) -> Result<Self, &'static str> {
35339 value.parse()
35340 }
35341}
35342#[derive(Clone, Debug, Deserialize, Serialize)]
35343#[serde(untagged)]
35344pub enum WorkflowRunEvent {
35345 Completed(WorkflowRunCompleted),
35346 InProgress(WorkflowRunInProgress),
35347 Requested(WorkflowRunRequested),
35348}
35349impl From<&WorkflowRunEvent> for WorkflowRunEvent {
35350 fn from(value: &WorkflowRunEvent) -> Self {
35351 value.clone()
35352 }
35353}
35354impl From<WorkflowRunCompleted> for WorkflowRunEvent {
35355 fn from(value: WorkflowRunCompleted) -> Self {
35356 Self::Completed(value)
35357 }
35358}
35359impl From<WorkflowRunInProgress> for WorkflowRunEvent {
35360 fn from(value: WorkflowRunInProgress) -> Self {
35361 Self::InProgress(value)
35362 }
35363}
35364impl From<WorkflowRunRequested> for WorkflowRunEvent {
35365 fn from(value: WorkflowRunRequested) -> Self {
35366 Self::Requested(value)
35367 }
35368}
35369#[derive(Clone, Debug, Deserialize, Serialize)]
35370#[serde(deny_unknown_fields)]
35371pub struct WorkflowRunInProgress {
35372 pub action: WorkflowRunInProgressAction,
35373 #[serde(default, skip_serializing_if = "Option::is_none")]
35374 pub installation: Option<InstallationLite>,
35375 #[serde(default, skip_serializing_if = "Option::is_none")]
35376 pub organization: Option<Organization>,
35377 pub repository: Repository,
35378 pub sender: User,
35379 pub workflow: Workflow,
35380 pub workflow_run: WorkflowRun,
35381}
35382impl From<&WorkflowRunInProgress> for WorkflowRunInProgress {
35383 fn from(value: &WorkflowRunInProgress) -> Self {
35384 value.clone()
35385 }
35386}
35387#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
35388pub enum WorkflowRunInProgressAction {
35389 #[serde(rename = "in_progress")]
35390 InProgress,
35391}
35392impl From<&WorkflowRunInProgressAction> for WorkflowRunInProgressAction {
35393 fn from(value: &WorkflowRunInProgressAction) -> Self {
35394 value.clone()
35395 }
35396}
35397impl ToString for WorkflowRunInProgressAction {
35398 fn to_string(&self) -> String {
35399 match *self {
35400 Self::InProgress => "in_progress".to_string(),
35401 }
35402 }
35403}
35404impl std::str::FromStr for WorkflowRunInProgressAction {
35405 type Err = &'static str;
35406
35407 fn from_str(value: &str) -> Result<Self, &'static str> {
35408 match value {
35409 "in_progress" => Ok(Self::InProgress),
35410 _ => Err("invalid value"),
35411 }
35412 }
35413}
35414impl std::convert::TryFrom<&str> for WorkflowRunInProgressAction {
35415 type Error = &'static str;
35416
35417 fn try_from(value: &str) -> Result<Self, &'static str> {
35418 value.parse()
35419 }
35420}
35421impl std::convert::TryFrom<&String> for WorkflowRunInProgressAction {
35422 type Error = &'static str;
35423
35424 fn try_from(value: &String) -> Result<Self, &'static str> {
35425 value.parse()
35426 }
35427}
35428impl std::convert::TryFrom<String> for WorkflowRunInProgressAction {
35429 type Error = &'static str;
35430
35431 fn try_from(value: String) -> Result<Self, &'static str> {
35432 value.parse()
35433 }
35434}
35435#[derive(Clone, Debug, Deserialize, Serialize)]
35436#[serde(deny_unknown_fields)]
35437pub struct WorkflowRunPullRequestsItem {
35438 pub base: WorkflowRunPullRequestsItemBase,
35439 pub head: WorkflowRunPullRequestsItemHead,
35440 pub id: f64,
35441 pub number: f64,
35442 pub url: String,
35443}
35444impl From<&WorkflowRunPullRequestsItem> for WorkflowRunPullRequestsItem {
35445 fn from(value: &WorkflowRunPullRequestsItem) -> Self {
35446 value.clone()
35447 }
35448}
35449#[derive(Clone, Debug, Deserialize, Serialize)]
35450#[serde(deny_unknown_fields)]
35451pub struct WorkflowRunPullRequestsItemBase {
35452 #[serde(rename = "ref")]
35453 pub ref_: String,
35454 pub repo: RepoRef,
35455 pub sha: String,
35456}
35457impl From<&WorkflowRunPullRequestsItemBase> for WorkflowRunPullRequestsItemBase {
35458 fn from(value: &WorkflowRunPullRequestsItemBase) -> Self {
35459 value.clone()
35460 }
35461}
35462#[derive(Clone, Debug, Deserialize, Serialize)]
35463#[serde(deny_unknown_fields)]
35464pub struct WorkflowRunPullRequestsItemHead {
35465 #[serde(rename = "ref")]
35466 pub ref_: String,
35467 pub repo: RepoRef,
35468 pub sha: String,
35469}
35470impl From<&WorkflowRunPullRequestsItemHead> for WorkflowRunPullRequestsItemHead {
35471 fn from(value: &WorkflowRunPullRequestsItemHead) -> Self {
35472 value.clone()
35473 }
35474}
35475#[derive(Clone, Debug, Deserialize, Serialize)]
35476#[serde(deny_unknown_fields)]
35477pub struct WorkflowRunRequested {
35478 pub action: WorkflowRunRequestedAction,
35479 #[serde(default, skip_serializing_if = "Option::is_none")]
35480 pub installation: Option<InstallationLite>,
35481 #[serde(default, skip_serializing_if = "Option::is_none")]
35482 pub organization: Option<Organization>,
35483 pub repository: Repository,
35484 pub sender: User,
35485 pub workflow: Workflow,
35486 pub workflow_run: WorkflowRun,
35487}
35488impl From<&WorkflowRunRequested> for WorkflowRunRequested {
35489 fn from(value: &WorkflowRunRequested) -> Self {
35490 value.clone()
35491 }
35492}
35493#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
35494pub enum WorkflowRunRequestedAction {
35495 #[serde(rename = "requested")]
35496 Requested,
35497}
35498impl From<&WorkflowRunRequestedAction> for WorkflowRunRequestedAction {
35499 fn from(value: &WorkflowRunRequestedAction) -> Self {
35500 value.clone()
35501 }
35502}
35503impl ToString for WorkflowRunRequestedAction {
35504 fn to_string(&self) -> String {
35505 match *self {
35506 Self::Requested => "requested".to_string(),
35507 }
35508 }
35509}
35510impl std::str::FromStr for WorkflowRunRequestedAction {
35511 type Err = &'static str;
35512
35513 fn from_str(value: &str) -> Result<Self, &'static str> {
35514 match value {
35515 "requested" => Ok(Self::Requested),
35516 _ => Err("invalid value"),
35517 }
35518 }
35519}
35520impl std::convert::TryFrom<&str> for WorkflowRunRequestedAction {
35521 type Error = &'static str;
35522
35523 fn try_from(value: &str) -> Result<Self, &'static str> {
35524 value.parse()
35525 }
35526}
35527impl std::convert::TryFrom<&String> for WorkflowRunRequestedAction {
35528 type Error = &'static str;
35529
35530 fn try_from(value: &String) -> Result<Self, &'static str> {
35531 value.parse()
35532 }
35533}
35534impl std::convert::TryFrom<String> for WorkflowRunRequestedAction {
35535 type Error = &'static str;
35536
35537 fn try_from(value: String) -> Result<Self, &'static str> {
35538 value.parse()
35539 }
35540}
35541#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
35542pub enum WorkflowRunStatus {
35543 #[serde(rename = "requested")]
35544 Requested,
35545 #[serde(rename = "in_progress")]
35546 InProgress,
35547 #[serde(rename = "completed")]
35548 Completed,
35549 #[serde(rename = "queued")]
35550 Queued,
35551 #[serde(rename = "waiting")]
35552 Waiting,
35553}
35554impl From<&WorkflowRunStatus> for WorkflowRunStatus {
35555 fn from(value: &WorkflowRunStatus) -> Self {
35556 value.clone()
35557 }
35558}
35559impl ToString for WorkflowRunStatus {
35560 fn to_string(&self) -> String {
35561 match *self {
35562 Self::Requested => "requested".to_string(),
35563 Self::InProgress => "in_progress".to_string(),
35564 Self::Completed => "completed".to_string(),
35565 Self::Queued => "queued".to_string(),
35566 Self::Waiting => "waiting".to_string(),
35567 }
35568 }
35569}
35570impl std::str::FromStr for WorkflowRunStatus {
35571 type Err = &'static str;
35572
35573 fn from_str(value: &str) -> Result<Self, &'static str> {
35574 match value {
35575 "requested" => Ok(Self::Requested),
35576 "in_progress" => Ok(Self::InProgress),
35577 "completed" => Ok(Self::Completed),
35578 "queued" => Ok(Self::Queued),
35579 "waiting" => Ok(Self::Waiting),
35580 _ => Err("invalid value"),
35581 }
35582 }
35583}
35584impl std::convert::TryFrom<&str> for WorkflowRunStatus {
35585 type Error = &'static str;
35586
35587 fn try_from(value: &str) -> Result<Self, &'static str> {
35588 value.parse()
35589 }
35590}
35591impl std::convert::TryFrom<&String> for WorkflowRunStatus {
35592 type Error = &'static str;
35593
35594 fn try_from(value: &String) -> Result<Self, &'static str> {
35595 value.parse()
35596 }
35597}
35598impl std::convert::TryFrom<String> for WorkflowRunStatus {
35599 type Error = &'static str;
35600
35601 fn try_from(value: String) -> Result<Self, &'static str> {
35602 value.parse()
35603 }
35604}
35605#[derive(Clone, Debug, Deserialize, Serialize)]
35606#[serde(untagged)]
35607pub enum WorkflowStep {
35608 InProgress(WorkflowStepInProgress),
35609 Completed(WorkflowStepCompleted),
35610}
35611impl From<&WorkflowStep> for WorkflowStep {
35612 fn from(value: &WorkflowStep) -> Self {
35613 value.clone()
35614 }
35615}
35616impl From<WorkflowStepInProgress> for WorkflowStep {
35617 fn from(value: WorkflowStepInProgress) -> Self {
35618 Self::InProgress(value)
35619 }
35620}
35621impl From<WorkflowStepCompleted> for WorkflowStep {
35622 fn from(value: WorkflowStepCompleted) -> Self {
35623 Self::Completed(value)
35624 }
35625}
35626#[derive(Clone, Debug, Deserialize, Serialize)]
35627#[serde(deny_unknown_fields)]
35628pub struct WorkflowStepCompleted {
35629 pub completed_at: chrono::DateTime<chrono::offset::Utc>,
35630 pub conclusion: WorkflowStepCompletedConclusion,
35631 pub name: String,
35632 pub number: i64,
35633 pub started_at: chrono::DateTime<chrono::offset::Utc>,
35634 pub status: WorkflowStepCompletedStatus,
35635}
35636impl From<&WorkflowStepCompleted> for WorkflowStepCompleted {
35637 fn from(value: &WorkflowStepCompleted) -> Self {
35638 value.clone()
35639 }
35640}
35641#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
35642pub enum WorkflowStepCompletedConclusion {
35643 #[serde(rename = "failure")]
35644 Failure,
35645 #[serde(rename = "skipped")]
35646 Skipped,
35647 #[serde(rename = "success")]
35648 Success,
35649}
35650impl From<&WorkflowStepCompletedConclusion> for WorkflowStepCompletedConclusion {
35651 fn from(value: &WorkflowStepCompletedConclusion) -> Self {
35652 value.clone()
35653 }
35654}
35655impl ToString for WorkflowStepCompletedConclusion {
35656 fn to_string(&self) -> String {
35657 match *self {
35658 Self::Failure => "failure".to_string(),
35659 Self::Skipped => "skipped".to_string(),
35660 Self::Success => "success".to_string(),
35661 }
35662 }
35663}
35664impl std::str::FromStr for WorkflowStepCompletedConclusion {
35665 type Err = &'static str;
35666
35667 fn from_str(value: &str) -> Result<Self, &'static str> {
35668 match value {
35669 "failure" => Ok(Self::Failure),
35670 "skipped" => Ok(Self::Skipped),
35671 "success" => Ok(Self::Success),
35672 _ => Err("invalid value"),
35673 }
35674 }
35675}
35676impl std::convert::TryFrom<&str> for WorkflowStepCompletedConclusion {
35677 type Error = &'static str;
35678
35679 fn try_from(value: &str) -> Result<Self, &'static str> {
35680 value.parse()
35681 }
35682}
35683impl std::convert::TryFrom<&String> for WorkflowStepCompletedConclusion {
35684 type Error = &'static str;
35685
35686 fn try_from(value: &String) -> Result<Self, &'static str> {
35687 value.parse()
35688 }
35689}
35690impl std::convert::TryFrom<String> for WorkflowStepCompletedConclusion {
35691 type Error = &'static str;
35692
35693 fn try_from(value: String) -> Result<Self, &'static str> {
35694 value.parse()
35695 }
35696}
35697#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
35698pub enum WorkflowStepCompletedStatus {
35699 #[serde(rename = "completed")]
35700 Completed,
35701}
35702impl From<&WorkflowStepCompletedStatus> for WorkflowStepCompletedStatus {
35703 fn from(value: &WorkflowStepCompletedStatus) -> Self {
35704 value.clone()
35705 }
35706}
35707impl ToString for WorkflowStepCompletedStatus {
35708 fn to_string(&self) -> String {
35709 match *self {
35710 Self::Completed => "completed".to_string(),
35711 }
35712 }
35713}
35714impl std::str::FromStr for WorkflowStepCompletedStatus {
35715 type Err = &'static str;
35716
35717 fn from_str(value: &str) -> Result<Self, &'static str> {
35718 match value {
35719 "completed" => Ok(Self::Completed),
35720 _ => Err("invalid value"),
35721 }
35722 }
35723}
35724impl std::convert::TryFrom<&str> for WorkflowStepCompletedStatus {
35725 type Error = &'static str;
35726
35727 fn try_from(value: &str) -> Result<Self, &'static str> {
35728 value.parse()
35729 }
35730}
35731impl std::convert::TryFrom<&String> for WorkflowStepCompletedStatus {
35732 type Error = &'static str;
35733
35734 fn try_from(value: &String) -> Result<Self, &'static str> {
35735 value.parse()
35736 }
35737}
35738impl std::convert::TryFrom<String> for WorkflowStepCompletedStatus {
35739 type Error = &'static str;
35740
35741 fn try_from(value: String) -> Result<Self, &'static str> {
35742 value.parse()
35743 }
35744}
35745#[derive(Clone, Debug, Deserialize, Serialize)]
35746#[serde(deny_unknown_fields)]
35747pub struct WorkflowStepInProgress {
35748 pub completed_at: (),
35749 pub conclusion: (),
35750 pub name: String,
35751 pub number: i64,
35752 pub started_at: chrono::DateTime<chrono::offset::Utc>,
35753 pub status: WorkflowStepInProgressStatus,
35754}
35755impl From<&WorkflowStepInProgress> for WorkflowStepInProgress {
35756 fn from(value: &WorkflowStepInProgress) -> Self {
35757 value.clone()
35758 }
35759}
35760#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
35761pub enum WorkflowStepInProgressStatus {
35762 #[serde(rename = "in_progress")]
35763 InProgress,
35764}
35765impl From<&WorkflowStepInProgressStatus> for WorkflowStepInProgressStatus {
35766 fn from(value: &WorkflowStepInProgressStatus) -> Self {
35767 value.clone()
35768 }
35769}
35770impl ToString for WorkflowStepInProgressStatus {
35771 fn to_string(&self) -> String {
35772 match *self {
35773 Self::InProgress => "in_progress".to_string(),
35774 }
35775 }
35776}
35777impl std::str::FromStr for WorkflowStepInProgressStatus {
35778 type Err = &'static str;
35779
35780 fn from_str(value: &str) -> Result<Self, &'static str> {
35781 match value {
35782 "in_progress" => Ok(Self::InProgress),
35783 _ => Err("invalid value"),
35784 }
35785 }
35786}
35787impl std::convert::TryFrom<&str> for WorkflowStepInProgressStatus {
35788 type Error = &'static str;
35789
35790 fn try_from(value: &str) -> Result<Self, &'static str> {
35791 value.parse()
35792 }
35793}
35794impl std::convert::TryFrom<&String> for WorkflowStepInProgressStatus {
35795 type Error = &'static str;
35796
35797 fn try_from(value: &String) -> Result<Self, &'static str> {
35798 value.parse()
35799 }
35800}
35801impl std::convert::TryFrom<String> for WorkflowStepInProgressStatus {
35802 type Error = &'static str;
35803
35804 fn try_from(value: String) -> Result<Self, &'static str> {
35805 value.parse()
35806 }
35807}
35808pub mod defaults {
35809 pub(super) fn default_bool<const V: bool>() -> bool {
35810 V
35811 }
35812}