package main import ( "log" "code.laidback.moe/go-writefreely" "github.com/spf13/cobra" ) var deleteCmd = &cobra.Command{ Use: "delete", Aliases: []string{"del", "rm"}, Short: "Permanently delete a published post", Run: func(cmd *cobra.Command, args []string) { id, err := cmd.Flags().GetString("id") if err != nil { log.Fatal("Unable to get id flag") } Delete(id, args) }, } func init() { ConfInit() rootCmd.AddCommand(deleteCmd) deleteCmd.Flags().StringP("id", "i", "", "Post ID") if err := deleteCmd.MarkFlagRequired("id"); err != nil { panic(err) } } // Delete permanently a post from WriteFreely. func Delete(id string, args []string) { c := writefreely.NewClient(Config.Host) c.SetToken(Config.Token) err := c.DeletePost(&writefreely.PostParams{ ID: id, }) if err != nil { log.Fatal(err) } log.Println("Post has been deleted") }