File: /home/xedaptot/ai.naniguide.com/app/Notifications/Admin/SendingServerWebhookSetupSucceeded.php
<?php
namespace App\Notifications\Admin;
use App\Model\SendingServer;
use App\Notifications\AppNotification;
use Illuminate\Database\Eloquent\Model;
/**
* setupBeforeSend() finished registering the vendor webhook (e.g. AWS SNS
* topic + subscription + identity binding). Each call collapses to one row
* per server via groupKey — repeated successful registers don't spam.
*/
class SendingServerWebhookSetupSucceeded extends AppNotification
{
public function __construct(
public SendingServer $server,
public string $details = ''
) {}
public function audience(): string { return self::AUDIENCE_ADMINS; }
public function category(): string { return self::CATEGORY_INFO; }
public function severity(): string { return self::SEVERITY_SUCCESS; }
public function subject(): ?Model
{
return $this->server;
}
public function toArray(object $notifiable = null): array
{
return [
'title' => 'Webhook setup succeeded',
'body' => sprintf(
'%s sending server "%s" registered its webhook with the vendor.%s',
$this->server->type,
$this->server->name ?? ('#' . $this->server->id),
$this->details ? ' ' . $this->details : ''
),
];
}
}