New user variable show_contact_metrics.

This commit is contained in:
default 2024-12-04 07:06:50 +01:00
parent a6e13e40da
commit 93bc87ecb6

View file

@ -2836,6 +2836,8 @@ int activitypub_get_handler(const xs_dict *req, const char *q_path,
*ctype = "application/activity+json"; *ctype = "application/activity+json";
int show_contact_metrics = xs_is_true(xs_dict_get(snac.config, "show_contact_metrics"));
if (p_path == NULL) { if (p_path == NULL) {
/* if there was no component after the user, it's an actor request */ /* if there was no component after the user, it's an actor request */
msg = msg_actor(&snac); msg = msg_actor(&snac);
@ -2875,13 +2877,27 @@ int activitypub_get_handler(const xs_dict *req, const char *q_path,
} }
else else
if (strcmp(p_path, "followers") == 0) { if (strcmp(p_path, "followers") == 0) {
int total = 0;
if (show_contact_metrics) {
xs *l = follower_list(&snac);
total = xs_list_len(l);
}
xs *id = xs_fmt("%s/%s", snac.actor, p_path); xs *id = xs_fmt("%s/%s", snac.actor, p_path);
msg = msg_collection(&snac, id, 0); msg = msg_collection(&snac, id, total);
} }
else else
if (strcmp(p_path, "following") == 0) { if (strcmp(p_path, "following") == 0) {
int total = 0;
if (show_contact_metrics) {
xs *l = following_list(&snac);
total = xs_list_len(l);
}
xs *id = xs_fmt("%s/%s", snac.actor, p_path); xs *id = xs_fmt("%s/%s", snac.actor, p_path);
msg = msg_collection(&snac, id, 0); msg = msg_collection(&snac, id, total);
} }
else else
if (xs_startswith(p_path, "p/")) { if (xs_startswith(p_path, "p/")) {