package main import ( "log" "code.laidback.moe/go-writefreely" "github.com/spf13/cobra" ) var ( id string ) var deleteCmd = &cobra.Command{ Use: "delete", Aliases: []string{"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") } DoDelete(id, args) }, } func init() { ConfInit() rootCmd.AddCommand(deleteCmd) deleteCmd.Flags().StringVar(&id, "id", "", "Post ID") } func DoDelete(id string, args []string) { writefreely.InstanceURL = Config.Host if len(id) == 0 { log.Fatal("No ID has been provided!") } c := writefreely.NewClient() c.SetToken(Config.Token) err := c.DeletePost(&writefreely.PostParams{ ID: id, }) if err != nil { log.Fatal(err) } log.Println("Post has been deleted") }