summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--activitypub.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/activitypub.c b/activitypub.c
index 32d0697..6770039 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -972,6 +972,26 @@ xs_dict *msg_actor(snac *snac)
msg = xs_dict_set(msg, "image", d);
}
+ /* add the metadata as attachments of PropertyValue */
+ xs_dict *metadata = xs_dict_get(snac->config, "metadata");
+ if (xs_type(metadata) == XSTYPE_DICT) {
+ xs *attach = xs_list_new();
+ xs_str *k;
+ xs_str *v;
+
+ while (xs_dict_iter(&metadata, &k, &v)) {
+ xs *d = xs_dict_new();
+
+ d = xs_dict_append(d, "type", "PropertyValue");
+ d = xs_dict_append(d, "name", k);
+ d = xs_dict_append(d, "value", v);
+
+ attach = xs_list_append(attach, d);
+ }
+
+ msg = xs_dict_set(msg, "attachment", attach);
+ }
+
return msg;
}