diff options
author | default <nobody@localhost> | 2023-12-03 10:57:54 +0100 |
---|---|---|
committer | default <nobody@localhost> | 2023-12-03 10:57:54 +0100 |
commit | f1afe4416dabfbba1e34b4c82742dbc76cab0194 (patch) | |
tree | 47bdd3500ff041a6e093b80d79abce6780375e80 | |
parent | f5bf8ef7e18ece180a59e0271e86da9f081407a7 (diff) |
Fill the 'fields' list in mastoapi_account().
-rw-r--r-- | mastoapi.c | 23 |
1 files changed, 22 insertions, 1 deletions
@@ -597,7 +597,28 @@ xs_dict *mastoapi_account(const xs_dict *actor) acct = xs_dict_append(acct, "following_count", xs_stock_0); acct = xs_dict_append(acct, "statuses_count", xs_stock_0); - acct = xs_dict_append(acct, "fields", xs_stock_list); + xs *fields = xs_list_new(); + p = xs_dict_get(actor, "attachment"); + xs_dict *v; + + while (xs_list_iter(&p, &v)) { + char *type = xs_dict_get(v, "type"); + char *name = xs_dict_get(v, "name"); + char *value = xs_dict_get(v, "value"); + + if (!xs_is_null(type) && !xs_is_null(name) && + !xs_is_null(value) && strcmp(type, "PropertyValue") == 0) { + xs *d = xs_dict_new(); + + d = xs_dict_append(d, "name", name); + d = xs_dict_append(d, "value", value); + d = xs_dict_append(d, "verified_at", xs_stock_null); + + fields = xs_list_append(fields, d); + } + } + + acct = xs_dict_append(acct, "fields", fields); return acct; } |