snac2

Fork of https://codeberg.org/grunfink/snac2
git clone https://git.inz.fi/snac2
Log | Files | Refs | README | LICENSE

commit 129049edf4752495f768b247253cb7ffc848b0cc
parent b91177cb464ffdb118d50569592be3f9789dbef6
Author: default <nobody@localhost>
Date:   Sun, 24 Nov 2024 08:37:19 +0100

New function pending_check() and pending_del().

Diffstat:
Mdata.c | 20++++++++++++++++++++
Msnac.h | 2++
2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/data.c b/data.c @@ -1224,6 +1224,16 @@ int pending_add(snac *user, const char *actor, const xs_dict *msg) } +int pending_check(snac *user, const char *actor) +/* checks if there is a pending follow confirmation for the actor */ +{ + xs *md5 = xs_md5_hex(actor, strlen(actor)); + xs *fn = xs_fmt("%s/pending/%s.json", user->basedir, md5); + + return mtime(fn) != 0; +} + + xs_dict *pending_get(snac *user, const char *actor) /* returns the pending follow confirmation for the actor */ { @@ -1241,6 +1251,16 @@ xs_dict *pending_get(snac *user, const char *actor) } +void pending_del(snac *user, const char *actor) +/* deletes a pending follow confirmation for the actor */ +{ + xs *md5 = xs_md5_hex(actor, strlen(actor)); + xs *fn = xs_fmt("%s/pending/%s.json", user->basedir, md5); + + unlink(fn); +} + + xs_list *pending_list(snac *user) /* returns a list of pending follow confirmations */ { diff --git a/snac.h b/snac.h @@ -142,7 +142,9 @@ int follower_check(snac *snac, const char *actor); xs_list *follower_list(snac *snac); int pending_add(snac *user, const char *actor, const xs_dict *msg); +int pending_check(snac *user, const char *actor); xs_dict *pending_get(snac *user, const char *actor); +void pending_del(snac *user, const char *actor); xs_list *pending_list(snac *user); double timeline_mtime(snac *snac);