From d122c2d0424f202f335d9b4623ba27b71c7ad130 Mon Sep 17 00:00:00 2001 From: Daniel Supernault <877217+dansup@users.noreply.github.com> Date: Mon, 12 Sep 2022 21:26:54 -0600 Subject: [PATCH] Add StatusObserver --- app/Observers/StatusObserver.php | 66 ++++++++++++++++++++++++++++ app/Providers/AppServiceProvider.php | 5 ++- 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 app/Observers/StatusObserver.php diff --git a/app/Observers/StatusObserver.php b/app/Observers/StatusObserver.php new file mode 100644 index 000000000..a5bd84aee --- /dev/null +++ b/app/Observers/StatusObserver.php @@ -0,0 +1,66 @@ +scope, ['public', 'unlisted']) && in_array($status->type, ['photo', 'photo:album', 'video'])) { + ProfileStatusService::add($status->profile_id, $status->id); + } + } + + /** + * Handle the Status "deleted" event. + * + * @param \App\Status $status + * @return void + */ + public function deleted(Status $status) + { + ProfileStatusService::delete($status->profile_id, $status->id); + } + + /** + * Handle the Status "restored" event. + * + * @param \App\Status $status + * @return void + */ + public function restored(Status $status) + { + // + } + + /** + * Handle the Status "force deleted" event. + * + * @param \App\Status $status + * @return void + */ + public function forceDeleted(Status $status) + { + // + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index a4dfbe27b..2272efa5e 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -8,7 +8,8 @@ use App\Observers\{ NotificationObserver, ModLogObserver, ProfileObserver, - StatusHashtagObserver, + StatusHashtagObserver, + StatusObserver, UserObserver, UserFilterObserver, }; @@ -19,6 +20,7 @@ use App\{ ModLog, Profile, StatusHashtag, + Status, User, UserFilter }; @@ -47,6 +49,7 @@ class AppServiceProvider extends ServiceProvider Profile::observe(ProfileObserver::class); StatusHashtag::observe(StatusHashtagObserver::class); User::observe(UserObserver::class); + Status::observe(StatusObserver::class); UserFilter::observe(UserFilterObserver::class); Horizon::auth(function ($request) { return Auth::check() && $request->user()->is_admin;