45 lines
878 B
Go
45 lines
878 B
Go
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")
|
|
}
|