Update StatusHashtagObserver

pull/4752/head
Daniel Supernault 2 years ago
parent 9dfc377322
commit 1cd96ced2a
No known key found for this signature in database
GPG Key ID: 23740873EE6F76A1

@ -5,32 +5,31 @@ namespace App\Observers;
use DB; use DB;
use App\StatusHashtag; use App\StatusHashtag;
use App\Services\StatusHashtagService; use App\Services\StatusHashtagService;
use App\Jobs\HomeFeedPipeline\HashtagInsertFanoutPipeline;
use App\Jobs\HomeFeedPipeline\HashtagRemoveFanoutPipeline;
use Illuminate\Contracts\Events\ShouldHandleEventsAfterCommit;
class StatusHashtagObserver class StatusHashtagObserver implements ShouldHandleEventsAfterCommit
{ {
/**
* Handle events after all transactions are committed.
*
* @var bool
*/
public $afterCommit = true;
/** /**
* Handle the notification "created" event. * Handle the notification "created" event.
* *
* @param \App\Notification $notification * @param \App\StatusHashtag $hashtag
* @return void * @return void
*/ */
public function created(StatusHashtag $hashtag) public function created(StatusHashtag $hashtag)
{ {
StatusHashtagService::set($hashtag->hashtag_id, $hashtag->status_id); StatusHashtagService::set($hashtag->hashtag_id, $hashtag->status_id);
DB::table('hashtags')->where('id', $hashtag->hashtag_id)->increment('cached_count'); DB::table('hashtags')->where('id', $hashtag->hashtag_id)->increment('cached_count');
if($hashtag->status_visibility && $hashtag->status_visibility === 'public') {
HashtagInsertFanoutPipeline::dispatch($hashtag)->onQueue('feed');
}
} }
/** /**
* Handle the notification "updated" event. * Handle the notification "updated" event.
* *
* @param \App\Notification $notification * @param \App\StatusHashtag $hashtag
* @return void * @return void
*/ */
public function updated(StatusHashtag $hashtag) public function updated(StatusHashtag $hashtag)
@ -39,21 +38,24 @@ class StatusHashtagObserver
} }
/** /**
* Handle the notification "deleted" event. * Handle the notification "deleting" event.
* *
* @param \App\Notification $notification * @param \App\StatusHashtag $hashtag
* @return void * @return void
*/ */
public function deleted(StatusHashtag $hashtag) public function deleting(StatusHashtag $hashtag)
{ {
StatusHashtagService::del($hashtag->hashtag_id, $hashtag->status_id); StatusHashtagService::del($hashtag->hashtag_id, $hashtag->status_id);
DB::table('hashtags')->where('id', $hashtag->hashtag_id)->decrement('cached_count'); DB::table('hashtags')->where('id', $hashtag->hashtag_id)->decrement('cached_count');
if($hashtag->status_visibility && $hashtag->status_visibility === 'public') {
HashtagRemoveFanoutPipeline::dispatch($hashtag->status_id, $hashtag->hashtag_id)->onQueue('feed');
}
} }
/** /**
* Handle the notification "restored" event. * Handle the notification "restored" event.
* *
* @param \App\Notification $notification * @param \App\StatusHashtag $hashtag
* @return void * @return void
*/ */
public function restored(StatusHashtag $hashtag) public function restored(StatusHashtag $hashtag)
@ -64,7 +66,7 @@ class StatusHashtagObserver
/** /**
* Handle the notification "force deleted" event. * Handle the notification "force deleted" event.
* *
* @param \App\Notification $notification * @param \App\StatusHashtag $hashtag
* @return void * @return void
*/ */
public function forceDeleted(StatusHashtag $hashtag) public function forceDeleted(StatusHashtag $hashtag)

Loading…
Cancel
Save