codeberg_cli/actions/repo/
mod.rs1pub mod assignees;
2pub mod branch;
3pub mod clone;
4pub mod create;
5pub mod delete;
6pub mod fork;
7pub mod info;
8pub mod list;
9pub mod migrate;
10pub mod open;
11
12use clap::Subcommand;
13
14use super::GlobalArgs;
15
16#[derive(Subcommand, Debug)]
18pub enum RepoArgs {
19 Create(create::RepoCreateArgs),
20 Clone(clone::RepoCloneArgs),
21 Delete(delete::RepoDeleteArgs),
22 Fork(fork::RepoForkArgs),
23 Info(info::RepoInfoArgs),
24 Assignees(assignees::RepoAssigneesArgs),
25 Migrate(migrate::RepoMigrateArgs),
26 List(list::RepoListArgs),
27 Open(open::RepoOpenArgs),
28 #[command(subcommand)]
29 Branch(branch::BranchArgs),
30}
31
32impl RepoArgs {
33 pub async fn run(self, global_args: GlobalArgs) -> miette::Result<()> {
34 match self {
35 RepoArgs::Create(args) => args.run(global_args).await,
36 RepoArgs::Clone(args) => args.run(global_args).await,
37 RepoArgs::Delete(args) => args.run(global_args).await,
38 RepoArgs::Fork(args) => args.run(global_args).await,
39 RepoArgs::Info(args) => args.run(global_args).await,
40 RepoArgs::Assignees(args) => args.run(global_args).await,
41 RepoArgs::Migrate(args) => args.run(global_args).await,
42 RepoArgs::List(args) => args.run(global_args).await,
43 RepoArgs::Open(args) => args.run(global_args).await,
44 RepoArgs::Branch(args) => args.run(global_args).await,
45 }
46 }
47}