diff --git a/app/Observers/StatusObserver.php b/app/Observers/StatusObserver.php new file mode 100644 index 00000000..a5bd84ae --- /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 a4dfbe27..2272efa5 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;