commit 4553528

default  ·  2022-11-24 08:39:16 +0000 UTC
parent ea94a47
New API for hidden threads.
2 files changed,  +34, -0
M data.c
M snac.h
M data.c
+31, -0
 1@@ -1106,6 +1106,37 @@ int is_muted(snac *snac, char *actor)
 2 }
 3 
 4 
 5+d_char *_hidden_fn(snac *snac, const char *id)
 6+{
 7+    xs *md5 = xs_md5_hex(id, strlen(id));
 8+    return xs_fmt("%s/hidden/%s.json", snac->basedir, md5);
 9+}
10+
11+
12+void hide(snac *snac, const char *id)
13+/* hides a message tree */
14+{
15+    xs *fn = _hidden_fn(snac, id);
16+    FILE *f;
17+
18+    if ((f = fopen(fn, "w")) != NULL) {
19+        fprintf(f, "%s\n", id);
20+        fclose(f);
21+
22+        snac_debug(snac, 2, xs_fmt("hidden %s %s", id, fn));
23+    }
24+}
25+
26+
27+int is_hidden(snac *snac, const char *id)
28+/* check is id is hidden */
29+{
30+    xs *fn = _hidden_fn(snac, id);
31+
32+    return !!(mtime(fn) != 0.0);
33+}
34+
35+
36 int actor_add(snac *snac, const char *actor, d_char *msg)
37 /* adds an actor */
38 {
M snac.h
+3, -0
 1@@ -85,6 +85,9 @@ void mute(snac *snac, char *actor);
 2 void unmute(snac *snac, char *actor);
 3 int is_muted(snac *snac, char *actor);
 4 
 5+void hide(snac *snac, const char *id);
 6+int is_hidden(snac *snac, const char *id);
 7+
 8 int actor_add(snac *snac, const char *actor, d_char *msg);
 9 int actor_get(snac *snac, const char *actor, d_char **data);
10