package cmd import ( "fmt" "strings" "github.com/spf13/cobra" ) var getCmd = &cobra.Command{ Use: "get ", Short: "Get a part by ID", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { part, err := GetClient().GetPart(args[0]) if err != nil { return fmt.Errorf("failed to get part: %w", err) } fmt.Printf("ID: %s\n", part.ID) fmt.Printf("Title: %s\n", part.Title) fmt.Printf("Type: %s\n", part.Type) fmt.Printf("Category: %s\n", part.Category) fmt.Printf("Manufacturer: %s\n", part.Manufacturer) fmt.Printf("Quantity: %d\n", part.Quantity) fmt.Printf("Location: %s\n", part.Location) fmt.Printf("Notes: %s\n", part.Notes) fmt.Printf("Tags: %s\n", strings.Join(part.Tags, ", ")) if part.Dimensions != nil { d := part.Dimensions fmt.Println("Dimensions:") if d.Width != nil { fmt.Printf(" Width: %.2f\n", *d.Width) } if d.Length != nil { fmt.Printf(" Length: %.2f\n", *d.Length) } if d.Height != nil { fmt.Printf(" Height: %.2f\n", *d.Height) } if d.Unit != "" { fmt.Printf(" Unit: %s\n", d.Unit) } } if len(part.Properties) > 0 { fmt.Println("Properties:") for k, v := range part.Properties { fmt.Printf(" %s: %v\n", k, v) } } fmt.Printf("Created: %s\n", part.CreatedAt.Format("2006-01-02 15:04:05")) fmt.Printf("Updated: %s\n", part.UpdatedAt.Format("2006-01-02 15:04:05")) return nil }, } func init() { rootCmd.AddCommand(getCmd) }