commit c6c91ca286587fcf7c1ff9997dbaf970a3920ced
parent 978ea0724b5ef2afbb9748f79a187c03c6d0e1a5
Author: Paco Esteban <paco@e1e0.net>
Date: Fri, 31 Jul 2020 17:48:38 +0200
implement unsubscribe from feed
Diffstat:
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/cmd/ttrss-cli/main.go b/cmd/ttrss-cli/main.go
@@ -104,8 +104,20 @@ func main() {
Name: "unsubscribe",
Aliases: []string{"rm", "unsub"},
Usage: "unsubscribe from feed",
+ Flags: []cli.Flag{
+ &cli.IntFlag{
+ Name: "id",
+ Aliases: []string{"i"},
+ Usage: "Feed id",
+ Required: true,
+ },
+ },
Action: func(c *cli.Context) error {
- ttrssCli.Unsubscribe()
+ err = ttrssCli.Unsubscribe(c.Int("id"))
+ if err != nil {
+ log.Fatal(err)
+ }
+ fmt.Printf("Unsubscribed from feed %d\n", c.Int("id"))
return nil
},
},
diff --git a/pkg/ttrss/ttrss.go b/pkg/ttrss/ttrss.go
@@ -258,9 +258,19 @@ func (c *Client) Subscribe(category int, url string) (int, error) {
}
// Unsubscribe from feed
-func (c *Client) Unsubscribe() error {
+func (c *Client) Unsubscribe(id int) error {
if err := c.login(); err != nil {
return err
}
+
+ feedMap := map[string]interface{}{
+ "op": "unsubscribeFeed",
+ "feed_id": id,
+ }
+ _, err := c.apiCall(feedMap)
+ if err != nil {
+ return err
+ }
+
return nil
}