diff options
Diffstat (limited to 'tool/src/cli.rs')
-rw-r--r-- | tool/src/cli.rs | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/tool/src/cli.rs b/tool/src/cli.rs index d13d575..2e12c81 100644 --- a/tool/src/cli.rs +++ b/tool/src/cli.rs @@ -1,27 +1,34 @@ -use clap::{arg, Parser, Subcommand, ValueEnum}; +use clap::{arg, Parser, ValueEnum}; use std::path::PathBuf; -#[derive(Parser)] -pub struct Args { - #[clap(subcommand)] - pub action: Action, -} +pub type Args = Action; -#[derive(Subcommand)] +#[derive(Parser)] +#[clap(version, about)] +/// Tool for administering a Jellything instance pub enum Action { + /// Interactive wizard for adding new nodes Add { + /// ID of the new node; inferred if not specified #[arg(short, long)] id: Option<String>, + /// Path to the media of this node. #[arg(short, long)] media: Option<PathBuf>, + /// Path of the new node within the library #[arg(short, long)] library_path: Option<PathBuf>, }, + /// Migrate the database by export or import to JSON Migrate { + /// Database path as specified in the configuration database: PathBuf, + /// Whether to import or export mode: MigrateMode, + /// Location of the database in its exported form save_location: PathBuf, }, + /// Issue a reimport via the API Reimport { /// Custom hostname, the config's is used by default #[arg(long)] @@ -34,6 +41,8 @@ pub enum Action { #[derive(Debug, Clone, Copy, PartialEq, ValueEnum)] pub enum MigrateMode { + /// Import from JSON Import, + /// Export to JSON Export, } |