mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-25 15:55:22 +00:00
Add UserFilterObserver
This commit is contained in:
parent
50d4c05f60
commit
8a0e1402dd
1 changed files with 99 additions and 0 deletions
99
app/Observers/UserFilterObserver.php
Normal file
99
app/Observers/UserFilterObserver.php
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Observers;
|
||||||
|
|
||||||
|
use App\UserFilter;
|
||||||
|
use App\Services\UserFilterService;
|
||||||
|
|
||||||
|
class UserFilterObserver
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle the user filter "created" event.
|
||||||
|
*
|
||||||
|
* @param \App\UserFilter $userFilter
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function created(UserFilter $userFilter)
|
||||||
|
{
|
||||||
|
$this->filterCreate($userFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle the user filter "updated" event.
|
||||||
|
*
|
||||||
|
* @param \App\UserFilter $userFilter
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function updated(UserFilter $userFilter)
|
||||||
|
{
|
||||||
|
$this->filterCreate($userFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle the user filter "deleted" event.
|
||||||
|
*
|
||||||
|
* @param \App\UserFilter $userFilter
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function deleted(UserFilter $userFilter)
|
||||||
|
{
|
||||||
|
$this->filterDelete($userFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle the user filter "restored" event.
|
||||||
|
*
|
||||||
|
* @param \App\UserFilter $userFilter
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function restored(UserFilter $userFilter)
|
||||||
|
{
|
||||||
|
$this->filterCreate($userFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle the user filter "force deleted" event.
|
||||||
|
*
|
||||||
|
* @param \App\UserFilter $userFilter
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function forceDeleted(UserFilter $userFilter)
|
||||||
|
{
|
||||||
|
$this->filterDelete($userFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function filterCreate(UserFilter $userFilter)
|
||||||
|
{
|
||||||
|
if($userFilter->filterable_type !== 'App\Profile') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($userFilter->filter_type) {
|
||||||
|
case 'mute':
|
||||||
|
UserFilterService::mute($userFilter->user_id, $userFilter->filterable_id);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'block':
|
||||||
|
UserFilterService::block($userFilter->user_id, $userFilter->filterable_id);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected function filterDelete(UserFilter $userFilter)
|
||||||
|
{
|
||||||
|
if($userFilter->filterable_type !== 'App\Profile') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($userFilter->filter_type) {
|
||||||
|
case 'mute':
|
||||||
|
UserFilterService::unmute($userFilter->user_id, $userFilter->filterable_id);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'block':
|
||||||
|
UserFilterService::unblock($userFilter->user_id, $userFilter->filterable_id);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue