diff options
| author | 2023-04-23 08:51:02 +0200 | |
|---|---|---|
| committer | 2023-04-23 08:51:02 +0200 | |
| commit | 4fca7c8a7ea2ee1373827c1e4d3726c8e763e2cc (patch) | |
| tree | 682a006056d815b4cb3fe427ababfaf96b45150a | |
| parent | Added mastoapi follow. (diff) | |
| download | penes-snac2-4fca7c8a7ea2ee1373827c1e4d3726c8e763e2cc.tar.gz penes-snac2-4fca7c8a7ea2ee1373827c1e4d3726c8e763e2cc.tar.xz penes-snac2-4fca7c8a7ea2ee1373827c1e4d3726c8e763e2cc.zip | |
Added mastoapi unfollow.
| -rw-r--r-- | data.c | 2 | ||||
| -rw-r--r-- | mastoapi.c | 16 | ||||
| -rw-r--r-- | snac.h | 2 |
3 files changed, 18 insertions, 2 deletions
| @@ -1125,7 +1125,7 @@ int following_check(snac *snac, const char *actor) | |||
| 1125 | } | 1125 | } |
| 1126 | 1126 | ||
| 1127 | 1127 | ||
| 1128 | int following_get(snac *snac, char *actor, d_char **data) | 1128 | int following_get(snac *snac, const char *actor, d_char **data) |
| 1129 | /* returns the 'Follow' object */ | 1129 | /* returns the 'Follow' object */ |
| 1130 | { | 1130 | { |
| 1131 | xs *fn = _following_fn(snac, actor); | 1131 | xs *fn = _following_fn(snac, actor); |
| @@ -1644,6 +1644,22 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path, | |||
| 1644 | } | 1644 | } |
| 1645 | else | 1645 | else |
| 1646 | if (strcmp(opt, "unfollow") == 0) { | 1646 | if (strcmp(opt, "unfollow") == 0) { |
| 1647 | if (valid_status(object_get_by_md5(md5, &actor_o))) { | ||
| 1648 | const char *actor = xs_dict_get(actor_o, "id"); | ||
| 1649 | |||
| 1650 | /* get the following object */ | ||
| 1651 | xs *object = NULL; | ||
| 1652 | |||
| 1653 | if (valid_status(following_get(&snac, actor, &object))) { | ||
| 1654 | xs *msg = msg_undo(&snac, xs_dict_get(object, "object")); | ||
| 1655 | |||
| 1656 | following_del(&snac, actor); | ||
| 1657 | |||
| 1658 | enqueue_output_by_actor(&snac, msg, actor, 0); | ||
| 1659 | |||
| 1660 | rsp = mastoapi_relationship(&snac, md5); | ||
| 1661 | } | ||
| 1662 | } | ||
| 1647 | } | 1663 | } |
| 1648 | } | 1664 | } |
| 1649 | 1665 | ||
| @@ -115,7 +115,7 @@ d_char *local_list(snac *snac, int max); | |||
| 115 | int following_add(snac *snac, const char *actor, const xs_dict *msg); | 115 | int following_add(snac *snac, const char *actor, const xs_dict *msg); |
| 116 | int following_del(snac *snac, char *actor); | 116 | int following_del(snac *snac, char *actor); |
| 117 | int following_check(snac *snac, const char *actor); | 117 | int following_check(snac *snac, const char *actor); |
| 118 | int following_get(snac *snac, char *actor, d_char **data); | 118 | int following_get(snac *snac, const char *actor, d_char **data); |
| 119 | d_char *following_list(snac *snac); | 119 | d_char *following_list(snac *snac); |
| 120 | 120 | ||
| 121 | void mute(snac *snac, const char *actor); | 121 | void mute(snac *snac, const char *actor); |