automatons_github/resource/
mod.rs1use serde::{Deserialize, Serialize};
10
11use crate::name;
12
13pub use self::account::{Account, AccountId, AccountType, Login};
14pub use self::app::{App, AppId, AppName, AppSlug};
15pub use self::check_run::{
16 CheckRun, CheckRunConclusion, CheckRunId, CheckRunName, CheckRunOutput, CheckRunOutputSummary,
17 CheckRunOutputTitle, CheckRunStatus,
18};
19pub use self::check_suite::{CheckSuite, CheckSuiteId, MinimalCheckSuite};
20pub use self::file::File;
21pub use self::git::{GitRef, GitSha};
22pub use self::installation::{Installation, InstallationId};
23pub use self::license::{License, LicenseKey, LicenseName, SpdxId};
24pub use self::organization::{Organization, OrganizationId};
25pub use self::pull_request::{PullRequest, PullRequestBranch, PullRequestId, PullRequestNumber};
26pub use self::repository::{
27 MinimalRepository, Repository, RepositoryFullName, RepositoryId, RepositoryName,
28};
29pub use self::visibility::Visibility;
30
31mod account;
32mod app;
33mod check_run;
34mod check_suite;
35mod file;
36mod git;
37mod installation;
38mod license;
39mod organization;
40mod pull_request;
41mod repository;
42mod visibility;
43
44name!(
45 NodeId
50);
51
52#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Deserialize, Serialize)]
58#[serde(untagged)]
59pub enum Field<Minimal, Full> {
60 Minimal(Minimal),
62
63 Full(Full),
65}
66
67#[cfg(test)]
68mod tests {
69 use super::NodeId;
70
71 #[test]
72 fn trait_send() {
73 fn assert_send<T: Send>() {}
74 assert_send::<NodeId>();
75 }
76
77 #[test]
78 fn trait_sync() {
79 fn assert_sync<T: Sync>() {}
80 assert_sync::<NodeId>();
81 }
82}