28 lines
709 B
PHP
28 lines
709 B
PHP
<?php
|
|
|
|
namespace App\Actions;
|
|
|
|
use App\Models\Broker;
|
|
use App\Models\Customer;
|
|
use App\Models\Deal;
|
|
use App\Notifications\NewDealNotification;
|
|
|
|
final readonly class SendDealCreatedNotificationCustomerAction
|
|
{
|
|
public function execute(Deal $deal): void
|
|
{
|
|
/**
|
|
* @var Broker $broker
|
|
*/
|
|
$broker = $deal->broker->type;
|
|
$followers = $broker->followers()->with('user')->get();
|
|
$followers->map(function (Customer $follower) use ($deal) {
|
|
$user = $follower->user;
|
|
|
|
\Log::info("Sending notification to {$follower->user->name}", [$deal, $follower->user]);
|
|
|
|
$user->notifyNow(new NewDealNotification($deal));
|
|
});
|
|
}
|
|
}
|