diff options
Diffstat (limited to 'mastoapi.c')
-rw-r--r-- | mastoapi.c | 21 |
1 files changed, 14 insertions, 7 deletions
@@ -2314,11 +2314,13 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path, } else if (strcmp(op, "unfavourite") == 0) { /** **/ - /* partial support: as the original Like message - is not stored anywhere here, it's not possible - to send an Undo + Like; the only thing done here - is to delete the actor from the list of likes */ - object_unadmire(id, snac.actor, 1); + xs *n_msg = msg_repulsion(&snac, id, "Like"); + + if (n_msg != NULL) { + enqueue_message(&snac, n_msg); + + out = mastoapi_status(&snac, msg); + } } else if (strcmp(op, "reblog") == 0) { /** **/ @@ -2333,8 +2335,13 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path, } else if (strcmp(op, "unreblog") == 0) { /** **/ - /* partial support: see comment in 'unfavourite' */ - object_unadmire(id, snac.actor, 0); + xs *n_msg = msg_repulsion(&snac, id, "Announce"); + + if (n_msg != NULL) { + enqueue_message(&snac, n_msg); + + out = mastoapi_status(&snac, msg); + } } else if (strcmp(op, "bookmark") == 0) { /** **/ |