summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2024-08-29 08:11:30 +0200
committerGravatar default2024-08-29 08:11:30 +0200
commit54520f0411658ae37d6115d69c056dd1af3b7fb9 (patch)
tree56f390cda81c3cf22b4b09a00ac168f5cb603990
parentAdded web UI for [un]bookmarking. (diff)
downloadsnac2-54520f0411658ae37d6115d69c056dd1af3b7fb9.tar.gz
snac2-54520f0411658ae37d6115d69c056dd1af3b7fb9.tar.xz
snac2-54520f0411658ae37d6115d69c056dd1af3b7fb9.zip
mastoapi: added support for [un]bookmarking.
-rw-r--r--mastoapi.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/mastoapi.c b/mastoapi.c
index f004587..069d823 100644
--- a/mastoapi.c
+++ b/mastoapi.c
@@ -1061,7 +1061,8 @@ xs_dict *mastoapi_status(snac *snac, const xs_dict *msg)
1061 else 1061 else
1062 st = xs_dict_append(st, "poll", xs_stock(XSTYPE_NULL)); 1062 st = xs_dict_append(st, "poll", xs_stock(XSTYPE_NULL));
1063 1063
1064 st = xs_dict_append(st, "bookmarked", xs_stock(XSTYPE_FALSE)); 1064 st = xs_dict_append(st, "bookmarked",
1065 (snac && is_bookmarked(snac, id)) ? xs_stock(XSTYPE_TRUE) : xs_stock(XSTYPE_FALSE));
1065 1066
1066 st = xs_dict_append(st, "pinned", 1067 st = xs_dict_append(st, "pinned",
1067 (snac && is_pinned(snac, id)) ? xs_stock(XSTYPE_TRUE) : xs_stock(XSTYPE_FALSE)); 1068 (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,
2570 } 2571 }
2571 else 2572 else
2572 if (strcmp(op, "bookmark") == 0) { /** **/ 2573 if (strcmp(op, "bookmark") == 0) { /** **/
2573 /* snac does not support bookmarks */ 2574 /* bookmark this message */
2575 if (bookmark(&snac, id) == 0)
2576 out = mastoapi_status(&snac, msg);
2577 else
2578 status = HTTP_STATUS_UNPROCESSABLE_CONTENT;
2574 } 2579 }
2575 else 2580 else
2576 if (strcmp(op, "unbookmark") == 0) { /** **/ 2581 if (strcmp(op, "unbookmark") == 0) { /** **/
2577 /* snac does not support bookmarks */ 2582 /* unbookmark this message */
2583 unbookmark(&snac, id);
2584 out = mastoapi_status(&snac, msg);
2578 } 2585 }
2579 else 2586 else
2580 if (strcmp(op, "pin") == 0) { /** **/ 2587 if (strcmp(op, "pin") == 0) { /** **/
2581 /* pin this message */ 2588 /* pin this message */
2582 if (pin(&snac, id)) 2589 if (pin(&snac, id) == 0)
2583 out = mastoapi_status(&snac, msg); 2590 out = mastoapi_status(&snac, msg);
2584 else 2591 else
2585 status = HTTP_STATUS_UNPROCESSABLE_CONTENT; 2592 status = HTTP_STATUS_UNPROCESSABLE_CONTENT;