Skip to main content

entrenar/config/cli/research/
deposit.rs

1//! Deposit command arguments
2
3use clap::Parser;
4use std::path::PathBuf;
5
6use super::super::types::ArchiveProviderArg;
7
8/// Arguments for deposit command
9#[derive(Parser, Debug, Clone, PartialEq)]
10pub struct DepositArgs {
11    /// Path to artifact YAML
12    #[arg(value_name = "ARTIFACT")]
13    pub artifact: PathBuf,
14
15    /// Archive provider
16    #[arg(short, long)]
17    pub provider: ArchiveProviderArg,
18
19    /// API token (or use env var ZENODO_TOKEN, etc.)
20    #[arg(long)]
21    pub token: Option<String>,
22
23    /// Use sandbox/test environment
24    #[arg(long)]
25    pub sandbox: bool,
26
27    /// Community to submit to
28    #[arg(long)]
29    pub community: Option<String>,
30
31    /// Files to include (can be repeated)
32    #[arg(short, long)]
33    pub file: Vec<PathBuf>,
34
35    /// Dry run (validate without uploading)
36    #[arg(long)]
37    pub dry_run: bool,
38}