aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrunfink <grunfink@comam.es>2025-11-29 06:08:37 +0100
committergrunfink <grunfink@comam.es>2025-11-29 06:08:37 +0100
commit5c2c7b27aca8bec59f90007481e5e2c6e961827f (patch)
treed07dd72c332c45a8855363a52dd74267e482ef22
parentfcae55fcb1542f6fa0a330c45e3b806f902a84de (diff)
New function is_msg_mine().
-rw-r--r--activitypub.c14
-rw-r--r--snac.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/activitypub.c b/activitypub.c
index 2c0fa2e..65eed05 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -669,6 +669,20 @@ xs_list *recipient_list(snac *snac, const xs_dict *msg, int expand_public)
}
+int is_msg_mine(snac *user, const char *id)
+/* returns true if a post id is by the given user */
+{
+ int ret = 0;
+
+ if (xs_is_string(id)) {
+ xs *s1 = xs_fmt("%s/", user->actor);
+ ret = xs_startswith(id, s1);
+ }
+
+ return ret;
+}
+
+
int is_msg_public(const xs_dict *msg)
/* checks if a message is public */
{
diff --git a/snac.h b/snac.h
index 91dfa27..4d387a6 100644
--- a/snac.h
+++ b/snac.h
@@ -388,6 +388,7 @@ int send_to_inbox(snac *snac, const xs_str *inbox, const xs_dict *msg,
xs_str *get_actor_inbox(const char *actor, int shared);
int send_to_actor(snac *snac, const char *actor, const xs_dict *msg,
xs_val **payload, int *p_size, int timeout);
+int is_msg_mine(snac *user, const char *id);
int is_msg_public(const xs_dict *msg);
int is_msg_from_private_user(const xs_dict *msg);
int is_msg_for_me(snac *snac, const xs_dict *msg);