From 4d7f8450d9a842e2f69754ccaa4202710328dcb7 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 14 Jan 2025 20:44:49 +0000 Subject: add (un)follow button to profile also other stuff i forgot what exactly --- Digitigrade/Model/Actor.php | 18 ++++++++++++++++++ Digitigrade/Model/Note.php | 4 ++++ 2 files changed, 22 insertions(+) (limited to 'Digitigrade/Model') diff --git a/Digitigrade/Model/Actor.php b/Digitigrade/Model/Actor.php index 46c6f9a..c8cc25e 100644 --- a/Digitigrade/Model/Actor.php +++ b/Digitigrade/Model/Actor.php @@ -161,6 +161,24 @@ class Actor extends PushableModel implements RpcReceiver { $initiator->rpcCall('rejectedFollow', [$this]); } + /** + * @param Actor $target the other actor + * @return boolean whether this actor is following the target actor + */ + public function follows(Actor $target): bool { + $relation = FollowRelation::findByActors($this, $target); + return $relation != null && $relation->status == FollowRelationStatus::ACTIVE; + } + + /** + * @param Actor $target the other actor + * @return boolean whether this actor has a pending follow request to the target actor + */ + public function followsPending(Actor $target): bool { + $relation = FollowRelation::findByActors($this, $target); + return $relation != null && $relation->status == FollowRelationStatus::PENDING; + } + /** * @return Actor[] a list of actors that follow this actor (does not include pending follows) */ diff --git a/Digitigrade/Model/Note.php b/Digitigrade/Model/Note.php index cf23e80..0aa29bd 100644 --- a/Digitigrade/Model/Note.php +++ b/Digitigrade/Model/Note.php @@ -111,6 +111,10 @@ class Note extends PushableModel implements TimelineIncludeable { return self::findAllWhere($where, [$author->id], $limit, $offset, 'created DESC'); } + public static function countWithAuthor(Actor $author): int { + return self::countWhere('author = ? AND deleted = false', [$author->id]); + } + public static function findAllInThread(Note $threadApex, ?int $limit = null, int $offset = 0): array { if (isset($limit)) $limit--; // to account for adding the note afterwards -- cgit v1.3