about summary refs log tree commit diff stats
path: root/crates/rocie-cli/src/cli.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/rocie-cli/src/cli.rs')
-rw-r--r--crates/rocie-cli/src/cli.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/crates/rocie-cli/src/cli.rs b/crates/rocie-cli/src/cli.rs
index a683306..626a7b1 100644
--- a/crates/rocie-cli/src/cli.rs
+++ b/crates/rocie-cli/src/cli.rs
@@ -15,6 +15,12 @@ pub(crate) enum Command {
         command: ProductCommand,
     },
 
+    /// Deal with parents
+    Parents {
+        #[command(subcommand)]
+        command: ProductParentCommand,
+    },
+
     /// Deal with units
     Unit {
         #[command(subcommand)]
@@ -35,6 +41,29 @@ pub(crate) enum Command {
 }
 
 #[derive(Subcommand)]
+pub(crate) enum ProductParentCommand {
+    /// Register a new product parent
+    Register {
+        #[arg(short, long)]
+        name: String,
+
+        /// Optional description of the new product parent
+        #[arg(short, long)]
+        description: Option<String>,
+    },
+
+    /// Fetch an product parent based on id
+    GetById {
+        /// The id of the product parent
+        #[arg(short, long)]
+        id: Uuid,
+    },
+
+    /// List all available product parents
+    List {},
+}
+
+#[derive(Subcommand)]
 pub(crate) enum UnitCommand {
     /// Register a new unit
     Register {