diff options
Diffstat (limited to 'tool/src/cli.rs')
-rw-r--r-- | tool/src/cli.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tool/src/cli.rs b/tool/src/cli.rs new file mode 100644 index 0000000..d13d575 --- /dev/null +++ b/tool/src/cli.rs @@ -0,0 +1,39 @@ +use clap::{arg, Parser, Subcommand, ValueEnum}; +use std::path::PathBuf; + +#[derive(Parser)] +pub struct Args { + #[clap(subcommand)] + pub action: Action, +} + +#[derive(Subcommand)] +pub enum Action { + Add { + #[arg(short, long)] + id: Option<String>, + #[arg(short, long)] + media: Option<PathBuf>, + #[arg(short, long)] + library_path: Option<PathBuf>, + }, + Migrate { + database: PathBuf, + mode: MigrateMode, + save_location: PathBuf, + }, + Reimport { + /// Custom hostname, the config's is used by default + #[arg(long)] + hostname: Option<String>, + /// Disable TLS. Dont use this. + #[arg(long)] + no_tls: bool, + }, +} + +#[derive(Debug, Clone, Copy, PartialEq, ValueEnum)] +pub enum MigrateMode { + Import, + Export, +} |