1pub use serde::{Deserialize, Serialize};
25
26mod client;
27mod error;
28mod internal;
29mod pagination;
30mod response;
31mod version;
32
33pub mod auth;
34
35pub mod api;
36pub mod options;
37pub mod types;
38
39pub use client::{Client, ClientBuilder};
41pub use error::{Error, Result};
42pub use pagination::{ListOptions, QueryEncode};
43pub use response::{PageLinks, Response};
44
45pub use types::{
47 AccessToken, ActionTask, ActionTaskResponse, ActionWorkflowJob, ActionWorkflowJobsResponse,
48 ActionWorkflowRun, ActionWorkflowRunsResponse, ActionWorkflowStep, Activity, AnnotatedTag,
49 AnnotatedTagObject, Attachment, Badge, Branch, BranchProtection, ChangedFile,
50 CollaboratorPermissionResult, CombinedStatus, Comment, Commit, CommitAffectedFiles,
51 CommitDateOptions, CommitMeta, CommitStats, CommitUser, Compare, ContentsExtResponse,
52 ContentsResponse, CronTask, DeployKey, Email, ExternalTracker, ExternalWiki,
53 FileCommitResponse, FileLinksResponse, FileResponse, GPGKey, GPGKeyEmail, GitBlobResponse,
54 GitEntry, GitHook, GitObject, GitTreeResponse, GitignoreTemplateInfo, GlobalAPISettings,
55 GlobalAttachmentSettings, GlobalRepoSettings, GlobalUISettings, Hook, Identity,
56 InternalTracker, Issue, IssueBlockedBy, IssueFormElement, IssueFormElementAttributes,
57 IssueFormElementValidations, IssueMeta, IssueTemplate, Label, LabelTemplate,
58 LicenseTemplateInfo, LicensesTemplateListEntry, Milestone, NodeInfo, NodeInfoServices,
59 NodeInfoSoftware, NodeInfoUsage, NodeInfoUsageUsers, Note, NotificationThread, NotifySubject,
60 Oauth2, OrgPermissions, Organization, PRBranchInfo, PRBranchInfoRepo, Package, PackageFile,
61 PayloadCommit, PayloadCommitVerification, PayloadUser, Permission, PublicKey, PullRequest,
62 PullRequestMeta, PullReview, PullReviewComment, PushMirrorResponse, Reaction, Reference,
63 Release, RepoActionVariable, RepoTransfer, Repository, RepositoryMeta, Secret, Status,
64 StopWatch, Tag, TagProtection, Team, TimelineComment, TrackedTime, User, UserHeatmapData,
65 UserSettings, WatchInfo, WikiCommit, WikiCommitList, WikiPage, WikiPageMetaData,
66};
67
68pub use types::enums::*;
70
71pub use api::{
73 ActionsApi, ActivityPubApi, AdminApi, HooksApi, IssuesApi, MiscApi, NotificationsApi,
74 Oauth2Api, OrgsApi, PackagesApi, PullsApi, ReleasesApi, ReposApi, SettingsApi, StatusApi,
75 UsersApi,
76};
77
78#[cfg(test)]
79mod tests {
80 #[test]
81 fn test_public_api_accessible() {
82 let _: fn() -> crate::Client = || unimplemented!();
83 let _: fn() -> crate::ClientBuilder<'static> = || unimplemented!();
84 let _: fn() -> crate::Error = || unimplemented!();
85 let _: fn() -> crate::Result<String> = || unimplemented!();
86 let _: fn() -> crate::Response = || unimplemented!();
87 let _: fn() -> crate::PageLinks = || unimplemented!();
88 let _: fn() -> crate::ListOptions = || unimplemented!();
89 }
90
91 #[test]
92 fn test_public_types_accessible() {
93 let _: fn() -> crate::User = || unimplemented!();
94 let _: fn() -> crate::Label = || unimplemented!();
95 let _: fn() -> crate::Milestone = || unimplemented!();
96 let _: fn() -> crate::Organization = || unimplemented!();
97 let _: fn() -> crate::Team = || unimplemented!();
98 let _: fn() -> crate::Release = || unimplemented!();
99 let _: fn() -> crate::Comment = || unimplemented!();
100 let _: fn() -> crate::Status = || unimplemented!();
101 let _: fn() -> crate::StateType = || unimplemented!();
102 let _: fn() -> crate::ReposApi<'static> = || unimplemented!();
103 let _: fn() -> crate::IssuesApi<'static> = || unimplemented!();
104 }
105}