mirror of
https://github.com/pixelfed/pixelfed.git
synced 2025-01-18 02:20:46 +00:00
Merge pull request #5458 from intentionally-left-nil/notifications-for-mentions
Add a push notification when a user is mentioned in a post or comment
This commit is contained in:
commit
f3220fd21e
1 changed files with 14 additions and 1 deletions
|
@ -5,11 +5,15 @@ namespace App\Jobs\MentionPipeline;
|
|||
use App\Mention;
|
||||
use App\Notification;
|
||||
use App\Status;
|
||||
use App\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use App\Jobs\PushNotificationPipeline\MentionPushNotifyPipeline;
|
||||
use App\Services\NotificationAppGatewayService;
|
||||
use App\Services\PushNotificationService;
|
||||
use App\Services\StatusService;
|
||||
|
||||
class MentionPipeline implements ShouldQueue
|
||||
|
@ -57,7 +61,7 @@ class MentionPipeline implements ShouldQueue
|
|||
->count();
|
||||
|
||||
if ($actor->id === $target || $exists !== 0) {
|
||||
return true;
|
||||
return;
|
||||
}
|
||||
|
||||
Notification::firstOrCreate(
|
||||
|
@ -71,5 +75,14 @@ class MentionPipeline implements ShouldQueue
|
|||
);
|
||||
|
||||
StatusService::del($status->id);
|
||||
|
||||
if (NotificationAppGatewayService::enabled()) {
|
||||
if (PushNotificationService::check('mention', $target)) {
|
||||
$user = User::whereProfileId($target)->first();
|
||||
if ($user && $user->expo_token && $user->notify_enabled) {
|
||||
MentionPushNotifyPipeline::dispatch($user->expo_token, $actor->username)->onQueue('pushnotify');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue