HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/iphim.naniguide.com/common/Workspaces/Actions/DeleteInviteNotification.php
<?php

namespace Common\Workspaces\Actions;

use App\Models\User;
use Common\Workspaces\Notifications\WorkspaceInvitation;
use Common\Workspaces\WorkspaceInvite;
use Illuminate\Notifications\DatabaseNotification;

class DeleteInviteNotification
{
    public function execute(WorkspaceInvite $invite, User $user): void
    {
        $notifications = $user
            ->notifications()
            ->where('type', WorkspaceInvitation::class)
            ->limit(20)
            ->get();

        $notification = $notifications->first(function (
            DatabaseNotification $notification,
        ) use ($invite) {
            return $notification->data['inviteId'] === $invite->id;
        });

        if ($notification) {
            $notification->delete();
        }
    }
}