Skip to main content

ephemeris_forge_forgejo/
operation.rs

1/// The actions variables operations.
2pub mod actions_variables;
3/// The branch rules operations.
4pub mod branch_rules;
5/// The deploy keys operations.
6pub mod deploy_keys;
7/// The labels operations.
8pub mod labels;
9/// The repository operations.
10pub mod repository;
11/// The tag protection operations.
12pub mod tag_protection;
13/// The webhooks operations.
14pub mod webhooks;
15
16use ephemeris_forge::AccessOperation;
17
18use crate::Permission;
19
20ephemeris_forge::operation_enum! {
21    /// One write against Forgejo.
22    pub enum Operation {
23        /// A write to the repository's own settings or topics.
24        Repository(repository::Operation),
25        /// A write to a branch rule.
26        BranchRules(branch_rules::Operation),
27        /// A write to the repository's team or collaborator grants.
28        Access(AccessOperation<Permission>),
29        /// A write to the repository's labels.
30        Labels(labels::Operation),
31        /// A write to a tag protection.
32        TagProtection(tag_protection::Operation),
33        /// A write to the repository's webhooks.
34        Webhooks(webhooks::Operation),
35        /// A write to the repository's deploy keys.
36        DeployKeys(deploy_keys::Operation),
37        /// A write to the repository's Actions variables.
38        ActionsVariables(actions_variables::Operation),
39    }
40}