Skip to main content

ephemeris_forge_forgejo/api/
operations.rs

1//! The Forgejo API surface used by the reconciliation client.
2
3mod access;
4mod actions_variables;
5mod branch_rules;
6mod deploy_keys;
7mod labels;
8mod repository;
9mod tag_protection;
10mod webhooks;
11
12pub use self::access::AccessApi;
13pub use self::actions_variables::ActionsVariablesApi;
14pub use self::branch_rules::BranchRulesApi;
15pub use self::deploy_keys::DeployKeysApi;
16pub use self::labels::LabelsApi;
17pub use self::repository::RepositoryApi;
18pub use self::tag_protection::TagProtectionApi;
19pub use self::webhooks::WebhooksApi;
20
21/// The API surface needed by [`crate::reconcile::Client`]. Authentication
22/// belongs to its implementation.
23pub trait Api:
24    AccessApi
25    + ActionsVariablesApi
26    + BranchRulesApi
27    + DeployKeysApi
28    + LabelsApi
29    + RepositoryApi
30    + TagProtectionApi
31    + WebhooksApi
32    + Send
33    + Sync
34{
35}
36
37impl<
38    T: AccessApi
39        + ActionsVariablesApi
40        + BranchRulesApi
41        + DeployKeysApi
42        + LabelsApi
43        + RepositoryApi
44        + TagProtectionApi
45        + WebhooksApi
46        + Send
47        + Sync,
48> Api for T
49{
50}