Browse Source

Add FollowObserver

Daniel Supernault 4 years ago
parent
commit
38e5fc43eb
2 changed files with 67 additions and 0 deletions
  1. 64 0
      app/Observers/FollowerObserver.php
  2. 3 0
      app/Providers/AppServiceProvider.php

+ 64 - 0
app/Observers/FollowerObserver.php

@@ -0,0 +1,64 @@
+<?php
+
+namespace App\Observers;
+
+use App\Follower;
+use App\Services\FollowerService;
+
+class FollowerObserver
+{
+    /**
+     * Handle the Follower "created" event.
+     *
+     * @param  \App\Models\Follower  $follower
+     * @return void
+     */
+    public function created(Follower $follower)
+    {
+        FollowerService::add($follower->profile_id, $follower->following_id);
+    }
+
+    /**
+     * Handle the Follower "updated" event.
+     *
+     * @param  \App\Models\Follower  $follower
+     * @return void
+     */
+    public function updated(Follower $follower)
+    {
+        FollowerService::add($follower->profile_id, $follower->following_id);
+    }
+
+    /**
+     * Handle the Follower "deleted" event.
+     *
+     * @param  \App\Models\Follower  $follower
+     * @return void
+     */
+    public function deleted(Follower $follower)
+    {
+        FollowerService::remove($follower->profile_id, $follower->following_id);
+    }
+
+    /**
+     * Handle the Follower "restored" event.
+     *
+     * @param  \App\Models\Follower  $follower
+     * @return void
+     */
+    public function restored(Follower $follower)
+    {
+        FollowerService::add($follower->profile_id, $follower->following_id);
+    }
+
+    /**
+     * Handle the Follower "force deleted" event.
+     *
+     * @param  \App\Models\Follower  $follower
+     * @return void
+     */
+    public function forceDeleted(Follower $follower)
+    {
+        FollowerService::remove($follower->profile_id, $follower->following_id);
+    }
+}

+ 3 - 0
app/Providers/AppServiceProvider.php

@@ -4,6 +4,7 @@ namespace App\Providers;
 
 
 use App\Observers\{
 use App\Observers\{
 	AvatarObserver,
 	AvatarObserver,
+	FollowerObserver,
 	LikeObserver,
 	LikeObserver,
 	NotificationObserver,
 	NotificationObserver,
 	ModLogObserver,
 	ModLogObserver,
@@ -14,6 +15,7 @@ use App\Observers\{
 };
 };
 use App\{
 use App\{
 	Avatar,
 	Avatar,
+	Follower,
 	Like,
 	Like,
 	Notification,
 	Notification,
 	ModLog,
 	ModLog,
@@ -48,6 +50,7 @@ class AppServiceProvider extends ServiceProvider
 		StatusHashtag::observe(StatusHashtagObserver::class);
 		StatusHashtag::observe(StatusHashtagObserver::class);
 		User::observe(UserObserver::class);
 		User::observe(UserObserver::class);
 		UserFilter::observe(UserFilterObserver::class);
 		UserFilter::observe(UserFilterObserver::class);
+		Follower::observe(FollowerObserver::class);
 		Horizon::auth(function ($request) {
 		Horizon::auth(function ($request) {
 			return Auth::check() && $request->user()->is_admin;
 			return Auth::check() && $request->user()->is_admin;
 		});
 		});