1use clap::Subcommand;
2
3use crate::{
4 admin_console::CreateCollectionArgs,
5 render::CommandOutput,
6 vault::{CreateAttachmentArgs, CreateFolderArgs, CreateItemArgs},
7};
8
9#[derive(Subcommand, Clone)]
10#[clap(rename_all = "kebab-case")]
11pub enum CreateCommands {
12 #[command(about = "Create an item in the vault.")]
13 Item(CreateItemArgs),
14
15 #[command(about = "Create an attachment for an item.")]
16 Attachment(CreateAttachmentArgs),
17
18 #[command(about = "Create a folder.")]
19 Folder(CreateFolderArgs),
20
21 #[command(about = "Create an organization collection.")]
22 OrgCollection(CreateCollectionArgs),
23}
24
25impl CreateCommands {
29 pub fn run(&self) -> color_eyre::eyre::Result<CommandOutput> {
30 match self {
31 CreateCommands::Item(_args) => unimplemented!("Create item not implemented yet"),
32 CreateCommands::Attachment(_args) => {
33 unimplemented!("Create attachment not implemented yet")
34 }
35 CreateCommands::Folder(_args) => unimplemented!("Create folder not implemented yet"),
36 CreateCommands::OrgCollection(_args) => {
37 unimplemented!("Create organization collection not implemented yet")
38 }
39 }
40 }
41}