Skip to main content

ephemeris_forge_github/api/
operations.rs

1//! The GitHub API surface used by the reconciliation client.
2
3mod access;
4mod actions;
5mod autolinks;
6mod custom_properties;
7mod environments;
8mod labels;
9mod pages;
10mod repository;
11mod rulesets;
12mod security;
13mod variables;
14mod webhooks;
15
16pub use self::access::AccessApi;
17pub use self::actions::ActionsApi;
18pub use self::autolinks::AutolinksApi;
19pub use self::custom_properties::CustomPropertiesApi;
20pub use self::environments::EnvironmentsApi;
21pub use self::labels::LabelsApi;
22pub use self::pages::PagesApi;
23pub use self::repository::RepositoryApi;
24pub use self::rulesets::RulesetsApi;
25pub use self::security::SecurityApi;
26pub use self::variables::VariablesApi;
27pub use self::webhooks::WebhooksApi;
28
29/// The API surface needed by [`crate::Client`]. Authentication belongs to its
30/// implementation.
31pub trait Api:
32    AccessApi
33    + ActionsApi
34    + AutolinksApi
35    + CustomPropertiesApi
36    + EnvironmentsApi
37    + LabelsApi
38    + PagesApi
39    + RepositoryApi
40    + RulesetsApi
41    + SecurityApi
42    + VariablesApi
43    + WebhooksApi
44    + Send
45    + Sync
46{
47}
48
49impl<
50    T: AccessApi
51        + ActionsApi
52        + AutolinksApi
53        + CustomPropertiesApi
54        + EnvironmentsApi
55        + LabelsApi
56        + PagesApi
57        + RepositoryApi
58        + RulesetsApi
59        + SecurityApi
60        + VariablesApi
61        + WebhooksApi
62        + Send
63        + Sync,
64> Api for T
65{
66}