From c4b2d3bc692f39ddca814b104e52939261a0bf6e Mon Sep 17 00:00:00 2001 From: default Date: Mon, 18 Sep 2023 11:24:30 +0200 Subject: [PATCH] If an account has metadata, return them as attachment PropertyValues in msg_actor(). --- activitypub.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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; }