From e11c5402f6de35cd3a4111c1ef3dcd5ae66b73bd Mon Sep 17 00:00:00 2001 From: Ghostie Date: Thu, 9 Jan 2025 21:26:29 -0500 Subject: [PATCH] I forgot the notification when someone replies to any of your posts --- app/Events/NoteRepliedEvent.php | 34 ++++++++++++++++++++ app/Listeners/NoteLikedListener.php | 3 +- app/Listeners/NoteRepliedListener.php | 45 +++++++++++++++++++++++++++ app/Types/TypeNote.php | 8 +++-- 4 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 app/Events/NoteRepliedEvent.php create mode 100644 app/Listeners/NoteRepliedListener.php diff --git a/app/Events/NoteRepliedEvent.php b/app/Events/NoteRepliedEvent.php new file mode 100644 index 0000000..861e6c8 --- /dev/null +++ b/app/Events/NoteRepliedEvent.php @@ -0,0 +1,34 @@ +activity = $activity; + $this->actor = $actor; + $this->object = $object; + } +} diff --git a/app/Listeners/NoteLikedListener.php b/app/Listeners/NoteLikedListener.php index a6f799f..696ae4e 100644 --- a/app/Listeners/NoteLikedListener.php +++ b/app/Listeners/NoteLikedListener.php @@ -6,8 +6,9 @@ use App\Models\Like; use App\Events\NoteLikedEvent; -use Illuminate\Support\Facades\Log; use App\Notifications\UserNotification; + +use Illuminate\Support\Facades\Log; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; diff --git a/app/Listeners/NoteRepliedListener.php b/app/Listeners/NoteRepliedListener.php new file mode 100644 index 0000000..e86f271 --- /dev/null +++ b/app/Listeners/NoteRepliedListener.php @@ -0,0 +1,45 @@ +object->get_actor ()->first (); + + Log::info ("hi"); + if (!$note_actor || !$note_actor->user) + return; + + Log::info ("bai"); + + $note_actor->user->notify (new UserNotification( + "Reply", + $event->actor->id, + $event->object->id, + $event->activity->id + )); + } +} diff --git a/app/Types/TypeNote.php b/app/Types/TypeNote.php index e36fc31..6dcf742 100644 --- a/app/Types/TypeNote.php +++ b/app/Types/TypeNote.php @@ -8,7 +8,11 @@ use App\Models\Actor; use App\Models\Activity; use App\Models\NoteAttachment; use App\Models\NoteMention; + +use App\Events\NoteRepliedEvent; + use App\Notifications\UserNotification; + use GuzzleHttp\Client; use Illuminate\Support\Facades\Log; @@ -63,8 +67,6 @@ class TypeNote ]; } - Log::info (json_encode ($response)); - return $response; } @@ -157,6 +159,8 @@ class TypeNote $parent_exists = TypeNote::obtain_external ($request ["inReplyTo"]); $note->in_reply_to = $parent_exists ? $parent_exists->note_id : null; + + NoteRepliedEvent::dispatch ($activity, $actor, $parent_exists); } if (isset ($request ["tag"]) && $request ["tag"])