commit 129049e
default
·
2024-11-24 07:37:19 +0000 UTC
parent b91177c
New function pending_check() and pending_del().
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);