diff options
author | default <nobody@localhost> | 2024-02-15 17:34:46 +0100 |
---|---|---|
committer | default <nobody@localhost> | 2024-02-15 17:34:46 +0100 |
commit | 263e239653b79d230a7546b9db89ff71dc0f2a53 (patch) | |
tree | 7d3718fe8a7927f4ea34028e2280ae384a05142b | |
parent | 2afcb4b6ecafeb852abb2d0bb48d170b469a5a36 (diff) |
Moved verified links to its own json file.
-rw-r--r-- | data.c | 9 | ||||
-rw-r--r-- | html.c | 2 | ||||
-rw-r--r-- | mastoapi.c | 13 | ||||
-rw-r--r-- | snac.h | 1 |
4 files changed, 17 insertions, 8 deletions
@@ -146,6 +146,7 @@ void user_free(snac *snac) xs_free(snac->config); xs_free(snac->config_o); xs_free(snac->key); + xs_free(snac->links); xs_free(snac->actor); xs_free(snac->md5); } @@ -233,6 +234,14 @@ int user_open(snac *user, const char *uid) } else srv_debug(2, xs_fmt("error opening '%s' %d", cfg_file, errno)); + + /* verified links */ + xs *links_file = xs_fmt("%s/links.json", user->basedir); + + if ((f = fopen(links_file, "r")) != NULL) { + user->links = xs_json_load(f); + fclose(f); + } } else srv_debug(1, xs_fmt("invalid user '%s'", uid)); @@ -767,7 +767,7 @@ static xs_html *html_user_body(snac *user, int local) xs_str *k; xs_str *v; - xs_dict *val_links = xs_dict_get(user->config, "validated_links"); + xs_dict *val_links = user->links; if (xs_is_null(val_links)) val_links = xs_stock_dict; @@ -624,15 +624,12 @@ xs_dict *mastoapi_account(const xs_dict *actor) /* dict of validated links */ xs_dict *val_links = NULL; + snac user = {0}; if (xs_startswith(id, srv_baseurl)) { /* if it's a local user, open it and pick its validated links */ - snac user; - - if (user_open(&user, prefu)) { - val_links = xs_dict_get(user.config, "validated_links"); - user_free(&user); - } + if (user_open(&user, prefu)) + val_links = user.links; } if (xs_is_null(val_links)) @@ -662,6 +659,8 @@ xs_dict *mastoapi_account(const xs_dict *actor) } } + user_free(&user); + acct = xs_dict_append(acct, "fields", fields); return acct; @@ -1157,7 +1156,7 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, xs_str *k; xs_str *v; - xs_dict *val_links = xs_dict_get(snac1.config, "validated_links"); + xs_dict *val_links = snac1.links; if (xs_is_null(val_links)) val_links = xs_stock_dict; @@ -41,6 +41,7 @@ typedef struct { xs_dict *config; /* user configuration */ xs_dict *config_o; /* user configuration admin override */ xs_dict *key; /* keypair */ + xs_dict *links; /* validated links */ xs_str *actor; /* actor url */ xs_str *md5; /* actor url md5 */ } snac; |