package cmd import ( "fmt" "github.com/lerko/nib/internal/db" "github.com/lerko/nib/internal/display" "github.com/spf13/cobra" ) var deleteCmd = &cobra.Command{ Use: "delete ", Short: "delete an entity (soft, then hard)", Args: cobra.ExactArgs(1), RunE: runDelete, } func init() { rootCmd.AddCommand(deleteCmd) } func runDelete(_ *cobra.Command, args []string) error { store, err := openStore() if err != nil { return err } defer store.Close() id, err := store.Resolve(args[0]) if err != nil { return fmt.Errorf("not_found — no entity with id %s", args[0]) } result, err := store.SoftDelete(id) if err != nil { return err } shortID := display.FormatID(id) switch result { case db.DeletedSoft: fmt.Printf("deleted %s\n", shortID) case db.DeletedHard: fmt.Printf("permanently deleted %s\n", shortID) } return nil }