diff options
| -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) | |||
| 597 | acct = xs_dict_append(acct, "following_count", xs_stock_0); | 597 | acct = xs_dict_append(acct, "following_count", xs_stock_0); |
| 598 | acct = xs_dict_append(acct, "statuses_count", xs_stock_0); | 598 | acct = xs_dict_append(acct, "statuses_count", xs_stock_0); |
| 599 | 599 | ||
| 600 | acct = xs_dict_append(acct, "fields", xs_stock_list); | 600 | xs *fields = xs_list_new(); |
| 601 | p = xs_dict_get(actor, "attachment"); | ||
| 602 | xs_dict *v; | ||
| 603 | |||
| 604 | while (xs_list_iter(&p, &v)) { | ||
| 605 | char *type = xs_dict_get(v, "type"); | ||
| 606 | char *name = xs_dict_get(v, "name"); | ||
| 607 | char *value = xs_dict_get(v, "value"); | ||
| 608 | |||
| 609 | if (!xs_is_null(type) && !xs_is_null(name) && | ||
| 610 | !xs_is_null(value) && strcmp(type, "PropertyValue") == 0) { | ||
| 611 | xs *d = xs_dict_new(); | ||
| 612 | |||
| 613 | d = xs_dict_append(d, "name", name); | ||
| 614 | d = xs_dict_append(d, "value", value); | ||
| 615 | d = xs_dict_append(d, "verified_at", xs_stock_null); | ||
| 616 | |||
| 617 | fields = xs_list_append(fields, d); | ||
| 618 | } | ||
| 619 | } | ||
| 620 | |||
| 621 | acct = xs_dict_append(acct, "fields", fields); | ||
| 601 | 622 | ||
| 602 | return acct; | 623 | return acct; |
| 603 | } | 624 | } |