summaryrefslogtreecommitdiff
path: root/lib/Travelynx/Model
diff options
context:
space:
mode:
authorDerf Null <derf@finalrewind.org>2023-06-01 22:07:01 +0200
committerDerf Null <derf@finalrewind.org>2023-06-01 22:07:01 +0200
commitb2feb1b664c575ce04a4a00c1a860ef07dae732d (patch)
treee2162c562b20bc65d4dbbdf90bb5013f2724dc9c /lib/Travelynx/Model
parent9332f60a4370cc5ec9a000ef505e613f84b17d2f (diff)
Users: Add unfollow action
Diffstat (limited to 'lib/Travelynx/Model')
-rw-r--r--lib/Travelynx/Model/Users.pm22
1 files changed, 16 insertions, 6 deletions
diff --git a/lib/Travelynx/Model/Users.pm b/lib/Travelynx/Model/Users.pm
index 9b0a115..4444dc9 100644
--- a/lib/Travelynx/Model/Users.pm
+++ b/lib/Travelynx/Model/Users.pm
@@ -803,23 +803,33 @@ sub reject_follow_request {
);
}
-sub remove_follower {
+sub unfollow {
my ( $self, %opt ) = @_;
- my $db = $opt{db} // $self->{pg}->db;
- my $uid = $opt{uid};
- my $follower = $opt{follower};
+ my $db = $opt{db} // $self->{pg}->db;
+ my $uid = $opt{uid};
+ my $target = $opt{target};
$db->delete(
'relations',
{
- subject_id => $follower,
+ subject_id => $uid,
predicate => $predicate_atoi{follows},
- object_id => $uid
+ object_id => $target
}
);
}
+sub remove_follower {
+ my ( $self, %opt ) = @_;
+
+ $self->unfollow(
+ db => $opt{db},
+ uid => $opt{follower},
+ target => $opt{uid},
+ );
+}
+
sub block {
my ( $self, %opt ) = @_;