1use clap::Subcommand;
2use std::path::PathBuf;
3
4#[derive(Subcommand, Debug, Clone)]
5pub enum SolidAction {
6 Serve {
7 #[arg(long, default_value = "127.0.0.1")]
8 host: String,
9 #[arg(long, default_value = "4243")]
10 port: u16,
11 #[arg(long)]
12 data_root: Option<PathBuf>,
13 #[arg(long)]
14 public_base: Option<String>,
15 #[arg(long, default_value_t = true)]
16 demo_oidc: bool,
17 #[arg(long, default_value_t = false)]
18 no_demo_oidc: bool,
19 },
20 Fetch {
21 url: String,
22 #[arg(long)]
23 token: Option<String>,
24 #[arg(long)]
25 out: Option<PathBuf>,
26 },
27 Put {
28 url: String,
29 file: PathBuf,
30 #[arg(long, default_value = "text/turtle")]
31 content_type: String,
32 #[arg(long)]
33 token: Option<String>,
34 },
35 Post {
36 container: String,
37 file: PathBuf,
38 #[arg(long, default_value = "text/turtle")]
39 content_type: String,
40 #[arg(long)]
41 slug: Option<String>,
42 #[arg(long)]
43 token: Option<String>,
44 },
45}