summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-11-24 09:39:16 +0100
committerdefault <nobody@localhost>2022-11-24 09:39:16 +0100
commit455352850748dc0b1bba7884c3a164dfe3e59614 (patch)
treee73c1a40c734e8808543aa01511a2ec5c224dce1 /data.c
parentea94a479f115b4c8f2bde96ea18448d61149a207 (diff)
New API for hidden threads.
Diffstat (limited to 'data.c')
-rw-r--r--data.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/data.c b/data.c
index e147912..c1c616d 100644
--- a/data.c
+++ b/data.c
@@ -1106,6 +1106,37 @@ int is_muted(snac *snac, char *actor)
}
+d_char *_hidden_fn(snac *snac, const char *id)
+{
+ xs *md5 = xs_md5_hex(id, strlen(id));
+ return xs_fmt("%s/hidden/%s.json", snac->basedir, md5);
+}
+
+
+void hide(snac *snac, const char *id)
+/* hides a message tree */
+{
+ xs *fn = _hidden_fn(snac, id);
+ FILE *f;
+
+ if ((f = fopen(fn, "w")) != NULL) {
+ fprintf(f, "%s\n", id);
+ fclose(f);
+
+ snac_debug(snac, 2, xs_fmt("hidden %s %s", id, fn));
+ }
+}
+
+
+int is_hidden(snac *snac, const char *id)
+/* check is id is hidden */
+{
+ xs *fn = _hidden_fn(snac, id);
+
+ return !!(mtime(fn) != 0.0);
+}
+
+
int actor_add(snac *snac, const char *actor, d_char *msg)
/* adds an actor */
{