diff options
author | default <nobody@localhost> | 2024-08-29 08:11:30 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2024-08-29 08:11:30 +0200 |
commit | 54520f0411658ae37d6115d69c056dd1af3b7fb9 (patch) | |
tree | 56f390cda81c3cf22b4b09a00ac168f5cb603990 /mastoapi.c | |
parent | 67f0efa689b47870554cb5aeb401fa406b958114 (diff) |
mastoapi: added support for [un]bookmarking.
Diffstat (limited to 'mastoapi.c')
-rw-r--r-- | mastoapi.c | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -1061,7 +1061,8 @@ xs_dict *mastoapi_status(snac *snac, const xs_dict *msg) else st = xs_dict_append(st, "poll", xs_stock(XSTYPE_NULL)); - st = xs_dict_append(st, "bookmarked", xs_stock(XSTYPE_FALSE)); + st = xs_dict_append(st, "bookmarked", + (snac && is_bookmarked(snac, id)) ? xs_stock(XSTYPE_TRUE) : xs_stock(XSTYPE_FALSE)); st = xs_dict_append(st, "pinned", (snac && is_pinned(snac, id)) ? xs_stock(XSTYPE_TRUE) : xs_stock(XSTYPE_FALSE)); @@ -2570,16 +2571,22 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path, } else if (strcmp(op, "bookmark") == 0) { /** **/ - /* snac does not support bookmarks */ + /* bookmark this message */ + if (bookmark(&snac, id) == 0) + out = mastoapi_status(&snac, msg); + else + status = HTTP_STATUS_UNPROCESSABLE_CONTENT; } else if (strcmp(op, "unbookmark") == 0) { /** **/ - /* snac does not support bookmarks */ + /* unbookmark this message */ + unbookmark(&snac, id); + out = mastoapi_status(&snac, msg); } else if (strcmp(op, "pin") == 0) { /** **/ /* pin this message */ - if (pin(&snac, id)) + if (pin(&snac, id) == 0) out = mastoapi_status(&snac, msg); else status = HTTP_STATUS_UNPROCESSABLE_CONTENT; |