From da22d19fb45b5504f4191ad06d4e7637bfbc3916 Mon Sep 17 00:00:00 2001 From: r Date: Sun, 27 Sep 2020 09:29:17 +0000 Subject: Add bookmarks - Add bookmark/unbookmark link on mouse hover - Add bookmarks section on user profile page --- mastodon/status.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'mastodon/status.go') diff --git a/mastodon/status.go b/mastodon/status.go index 7a29b99..c8555d6 100644 --- a/mastodon/status.go +++ b/mastodon/status.go @@ -47,6 +47,7 @@ type Status struct { Application Application `json:"application"` Language string `json:"language"` Pinned interface{} `json:"pinned"` + Bookmarked bool `json:"bookmarked"` Poll *Poll `json:"poll"` // Custom fields @@ -366,3 +367,25 @@ func (c *Client) UnmuteConversation(ctx context.Context, id string) (*Status, er } return &status, nil } + +// Bookmark bookmarks status specified by id. +func (c *Client) Bookmark(ctx context.Context, id string) (*Status, error) { + var status Status + + err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/bookmark", id), nil, &status, nil) + if err != nil { + return nil, err + } + return &status, nil +} + +// Unbookmark bookmarks status specified by id. +func (c *Client) Unbookmark(ctx context.Context, id string) (*Status, error) { + var status Status + + err := c.doAPI(ctx, http.MethodPost, fmt.Sprintf("/api/v1/statuses/%s/unbookmark", id), nil, &status, nil) + if err != nil { + return nil, err + } + return &status, nil +} -- cgit v1.2.3