From adee122170959fb4759547c6f52af1e10be47501 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sat, 20 Aug 2022 21:50:18 +0200 Subject: [PATCH] check nofollow in the backend --- files/routes/users.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/files/routes/users.py b/files/routes/users.py index dea2693d99..13249dbe17 100644 --- a/files/routes/users.py +++ b/files/routes/users.py @@ -1128,9 +1128,14 @@ def follow_user(username, v): target = get_user(username) - if target.id==v.id: return {"error": "You can't follow yourself!"}, 400 + if target.id==v.id: + return {"error": "You can't follow yourself!"}, 400 - if g.db.query(Follow).filter_by(user_id=v.id, target_id=target.id).one_or_none(): return {"message": "User followed!"} + if target.is_nofollow: + return {"error": "This user has disallowed other users from following them!"}, 403 + + if g.db.query(Follow).filter_by(user_id=v.id, target_id=target.id).one_or_none(): + return {"message": "User followed!"} new_follow = Follow(user_id=v.id, target_id=target.id) g.db.add(new_follow)