Sfoglia il codice sorgente

New function enqueue_collect_outbox().

grunfink 11 mesi fa
parent
commit
d40e47f709
4 ha cambiato i file con 21 aggiunte e 1 eliminazioni
  1. 6 0
      activitypub.c
  2. 13 0
      data.c
  3. 1 1
      main.c
  4. 1 0
      snac.h

+ 6 - 0
activitypub.c

@@ -3079,6 +3079,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));
 }

+ 13 - 0
data.c

@@ -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 */
 {

+ 1 - 1
main.c

@@ -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;
     }
 

+ 1 - 0
snac.h

@@ -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);