diff options
| author | 2022-11-24 09:39:16 +0100 | |
|---|---|---|
| committer | 2022-11-24 09:39:16 +0100 | |
| commit | 455352850748dc0b1bba7884c3a164dfe3e59614 (patch) | |
| tree | e73c1a40c734e8808543aa01511a2ec5c224dce1 | |
| parent | Stop dropping messages with hidden parents. (diff) | |
| download | snac2-455352850748dc0b1bba7884c3a164dfe3e59614.tar.gz snac2-455352850748dc0b1bba7884c3a164dfe3e59614.tar.xz snac2-455352850748dc0b1bba7884c3a164dfe3e59614.zip | |
New API for hidden threads.
| -rw-r--r-- | data.c | 31 | ||||
| -rw-r--r-- | snac.h | 3 |
2 files changed, 34 insertions, 0 deletions
| @@ -1106,6 +1106,37 @@ int is_muted(snac *snac, char *actor) | |||
| 1106 | } | 1106 | } |
| 1107 | 1107 | ||
| 1108 | 1108 | ||
| 1109 | d_char *_hidden_fn(snac *snac, const char *id) | ||
| 1110 | { | ||
| 1111 | xs *md5 = xs_md5_hex(id, strlen(id)); | ||
| 1112 | return xs_fmt("%s/hidden/%s.json", snac->basedir, md5); | ||
| 1113 | } | ||
| 1114 | |||
| 1115 | |||
| 1116 | void hide(snac *snac, const char *id) | ||
| 1117 | /* hides a message tree */ | ||
| 1118 | { | ||
| 1119 | xs *fn = _hidden_fn(snac, id); | ||
| 1120 | FILE *f; | ||
| 1121 | |||
| 1122 | if ((f = fopen(fn, "w")) != NULL) { | ||
| 1123 | fprintf(f, "%s\n", id); | ||
| 1124 | fclose(f); | ||
| 1125 | |||
| 1126 | snac_debug(snac, 2, xs_fmt("hidden %s %s", id, fn)); | ||
| 1127 | } | ||
| 1128 | } | ||
| 1129 | |||
| 1130 | |||
| 1131 | int is_hidden(snac *snac, const char *id) | ||
| 1132 | /* check is id is hidden */ | ||
| 1133 | { | ||
| 1134 | xs *fn = _hidden_fn(snac, id); | ||
| 1135 | |||
| 1136 | return !!(mtime(fn) != 0.0); | ||
| 1137 | } | ||
| 1138 | |||
| 1139 | |||
| 1109 | int actor_add(snac *snac, const char *actor, d_char *msg) | 1140 | int actor_add(snac *snac, const char *actor, d_char *msg) |
| 1110 | /* adds an actor */ | 1141 | /* adds an actor */ |
| 1111 | { | 1142 | { |
| @@ -85,6 +85,9 @@ void mute(snac *snac, char *actor); | |||
| 85 | void unmute(snac *snac, char *actor); | 85 | void unmute(snac *snac, char *actor); |
| 86 | int is_muted(snac *snac, char *actor); | 86 | int is_muted(snac *snac, char *actor); |
| 87 | 87 | ||
| 88 | void hide(snac *snac, const char *id); | ||
| 89 | int is_hidden(snac *snac, const char *id); | ||
| 90 | |||
| 88 | int actor_add(snac *snac, const char *actor, d_char *msg); | 91 | int actor_add(snac *snac, const char *actor, d_char *msg); |
| 89 | int actor_get(snac *snac, const char *actor, d_char **data); | 92 | int actor_get(snac *snac, const char *actor, d_char **data); |
| 90 | 93 | ||