diff options
| author | grunfink <grunfink@comam.es> | 2025-09-03 06:12:50 +0200 |
|---|---|---|
| committer | grunfink <grunfink@comam.es> | 2025-09-03 06:12:50 +0200 |
| commit | d40e47f70964ad7e41fc06a8aa281db30a24050b (patch) | |
| tree | ee44147c2a1077022c624e29b0140a09b463051c | |
| parent | 59f3b5465ecca02cb90310fd1dbc46456d6a4908 (diff) | |
New function enqueue_collect_outbox().
| -rw-r--r-- | activitypub.c | 6 | ||||
| -rw-r--r-- | data.c | 13 | ||||
| -rw-r--r-- | main.c | 2 | ||||
| -rw-r--r-- | snac.h | 1 |
4 files changed, 21 insertions, 1 deletions
diff --git a/activitypub.c b/activitypub.c index b9ef86b..c186095 100644 --- a/activitypub.c +++ b/activitypub.c @@ -3080,6 +3080,12 @@ void process_user_queue_item(snac *user, xs_dict *q_item) collect_replies(user, post); } else + if (strcmp(type, "collect_outbox") == 0) { + const char *actor_id = xs_dict_get(q_item, "message"); + + collect_outbox(user, actor_id); + } + else snac_log(user, xs_fmt("unexpected user q_item type '%s'", type)); } @@ -3589,6 +3589,19 @@ void enqueue_collect_replies(snac *user, const char *post) } +void enqueue_collect_outbox(snac *user, const char *actor_id) +/* enqueues a collect outbox request */ +{ + xs *qmsg = _new_qmsg("collect_outbox", actor_id, 0); + const char *ntid = xs_dict_get(qmsg, "ntid"); + xs *fn = xs_fmt("%s/queue/%s.json", user->basedir, ntid); + + qmsg = _enqueue_put(fn, qmsg); + + snac_debug(user, 1, xs_fmt("enqueue_collect_outbox %s", actor_id)); +} + + int was_question_voted(snac *user, const char *id) /* returns true if the user voted in this poll */ { @@ -739,7 +739,7 @@ int main(int argc, char *argv[]) } if (strcmp(cmd, "collect_outbox") == 0) { /** **/ - collect_outbox(&snac, url); + enqueue_collect_outbox(&snac, url); return 0; } @@ -298,6 +298,7 @@ void enqueue_actor_refresh(snac *user, const char *actor, int forward_secs); void enqueue_webmention(const xs_dict *msg); void enqueue_notify_webhook(snac *user, const xs_dict *noti, int retries); void enqueue_collect_replies(snac *user, const char *post); +void enqueue_collect_outbox(snac *user, const char *actor_id); int was_question_voted(snac *user, const char *id); |