commit 129049e

default  ·  2024-11-24 07:37:19 +0000 UTC
parent b91177c
New function pending_check() and pending_del().
2 files changed,  +22, -0
M data.c
M snac.h
M data.c
+20, -0
 1@@ -1224,6 +1224,16 @@ int pending_add(snac *user, const char *actor, const xs_dict *msg)
 2 }
 3 
 4 
 5+int pending_check(snac *user, const char *actor)
 6+/* checks if there is a pending follow confirmation for the actor */
 7+{
 8+    xs *md5 = xs_md5_hex(actor, strlen(actor));
 9+    xs *fn = xs_fmt("%s/pending/%s.json", user->basedir, md5);
10+
11+    return mtime(fn) != 0;
12+}
13+
14+
15 xs_dict *pending_get(snac *user, const char *actor)
16 /* returns the pending follow confirmation for the actor */
17 {
18@@ -1241,6 +1251,16 @@ xs_dict *pending_get(snac *user, const char *actor)
19 }
20 
21 
22+void pending_del(snac *user, const char *actor)
23+/* deletes a pending follow confirmation for the actor */
24+{
25+    xs *md5 = xs_md5_hex(actor, strlen(actor));
26+    xs *fn = xs_fmt("%s/pending/%s.json", user->basedir, md5);
27+
28+    unlink(fn);
29+}
30+
31+
32 xs_list *pending_list(snac *user)
33 /* returns a list of pending follow confirmations */
34 {
M snac.h
+2, -0
 1@@ -142,7 +142,9 @@ int follower_check(snac *snac, const char *actor);
 2 xs_list *follower_list(snac *snac);
 3 
 4 int pending_add(snac *user, const char *actor, const xs_dict *msg);
 5+int pending_check(snac *user, const char *actor);
 6 xs_dict *pending_get(snac *user, const char *actor);
 7+void pending_del(snac *user, const char *actor);
 8 xs_list *pending_list(snac *user);
 9 
10 double timeline_mtime(snac *snac);