summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authorLouis Brauer <louis@openbooking.ch>2024-05-27 12:24:17 +0200
committerLouis Brauer <louis@openbooking.ch>2024-05-27 12:24:17 +0200
commit81cf309e4d0ba6c2debccc21ea4f85e1e6245dc5 (patch)
tree10528a18c859964fa11eabe15955c85dce7ecf25 /data.c
parent0e21d35e802bf859aa14bce688cd9544458e9e9c (diff)
Implement Mastodon PATCH endpoint for account profile updates
Diffstat (limited to 'data.c')
-rw-r--r--data.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/data.c b/data.c
index 8fdd292..e24bf16 100644
--- a/data.c
+++ b/data.c
@@ -303,6 +303,33 @@ int user_open_by_md5(snac *snac, const char *md5)
return 0;
}
+int user_persist(snac *snac)
+/* store user */
+{
+ xs *fn = xs_fmt("%s/user.json", snac->basedir);
+ xs *bfn = xs_fmt("%s.bak", fn);
+ FILE *f;
+
+ rename(fn, bfn);
+
+ if ((f = fopen(fn, "w")) != NULL) {
+ xs_json_dump(snac->config, 4, f);
+ fclose(f);
+ }
+ else
+ rename(bfn, fn);
+
+ history_del(snac, "timeline.html_");
+
+ xs *a_msg = msg_actor(snac);
+ xs *u_msg = msg_update(snac, a_msg);
+
+ enqueue_message(snac, u_msg);
+ enqueue_verify_links(snac);
+
+ return 0;
+}
+
double mtime_nl(const char *fn, int *n_link)
/* returns the mtime and number of links of a file or directory, or 0.0 */