diff options
| author | 2025-09-03 06:12:50 +0200 | |
|---|---|---|
| committer | 2025-09-03 06:12:50 +0200 | |
| commit | d40e47f70964ad7e41fc06a8aa281db30a24050b (patch) | |
| tree | ee44147c2a1077022c624e29b0140a09b463051c | |
| parent | New function collect_outbox(). (diff) | |
| download | penes-snac2-d40e47f70964ad7e41fc06a8aa281db30a24050b.tar.gz penes-snac2-d40e47f70964ad7e41fc06a8aa281db30a24050b.tar.xz penes-snac2-d40e47f70964ad7e41fc06a8aa281db30a24050b.zip | |
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) | |||
| 3080 | collect_replies(user, post); | 3080 | collect_replies(user, post); |
| 3081 | } | 3081 | } |
| 3082 | else | 3082 | else |
| 3083 | if (strcmp(type, "collect_outbox") == 0) { | ||
| 3084 | const char *actor_id = xs_dict_get(q_item, "message"); | ||
| 3085 | |||
| 3086 | collect_outbox(user, actor_id); | ||
| 3087 | } | ||
| 3088 | else | ||
| 3083 | snac_log(user, xs_fmt("unexpected user q_item type '%s'", type)); | 3089 | snac_log(user, xs_fmt("unexpected user q_item type '%s'", type)); |
| 3084 | } | 3090 | } |
| 3085 | 3091 | ||
| @@ -3589,6 +3589,19 @@ void enqueue_collect_replies(snac *user, const char *post) | |||
| 3589 | } | 3589 | } |
| 3590 | 3590 | ||
| 3591 | 3591 | ||
| 3592 | void enqueue_collect_outbox(snac *user, const char *actor_id) | ||
| 3593 | /* enqueues a collect outbox request */ | ||
| 3594 | { | ||
| 3595 | xs *qmsg = _new_qmsg("collect_outbox", actor_id, 0); | ||
| 3596 | const char *ntid = xs_dict_get(qmsg, "ntid"); | ||
| 3597 | xs *fn = xs_fmt("%s/queue/%s.json", user->basedir, ntid); | ||
| 3598 | |||
| 3599 | qmsg = _enqueue_put(fn, qmsg); | ||
| 3600 | |||
| 3601 | snac_debug(user, 1, xs_fmt("enqueue_collect_outbox %s", actor_id)); | ||
| 3602 | } | ||
| 3603 | |||
| 3604 | |||
| 3592 | int was_question_voted(snac *user, const char *id) | 3605 | int was_question_voted(snac *user, const char *id) |
| 3593 | /* returns true if the user voted in this poll */ | 3606 | /* returns true if the user voted in this poll */ |
| 3594 | { | 3607 | { |
| @@ -739,7 +739,7 @@ int main(int argc, char *argv[]) | |||
| 739 | } | 739 | } |
| 740 | 740 | ||
| 741 | if (strcmp(cmd, "collect_outbox") == 0) { /** **/ | 741 | if (strcmp(cmd, "collect_outbox") == 0) { /** **/ |
| 742 | collect_outbox(&snac, url); | 742 | enqueue_collect_outbox(&snac, url); |
| 743 | return 0; | 743 | return 0; |
| 744 | } | 744 | } |
| 745 | 745 | ||
| @@ -298,6 +298,7 @@ void enqueue_actor_refresh(snac *user, const char *actor, int forward_secs); | |||
| 298 | void enqueue_webmention(const xs_dict *msg); | 298 | void enqueue_webmention(const xs_dict *msg); |
| 299 | void enqueue_notify_webhook(snac *user, const xs_dict *noti, int retries); | 299 | void enqueue_notify_webhook(snac *user, const xs_dict *noti, int retries); |
| 300 | void enqueue_collect_replies(snac *user, const char *post); | 300 | void enqueue_collect_replies(snac *user, const char *post); |
| 301 | void enqueue_collect_outbox(snac *user, const char *actor_id); | ||
| 301 | 302 | ||
| 302 | int was_question_voted(snac *user, const char *id); | 303 | int was_question_voted(snac *user, const char *id); |
| 303 | 304 | ||