File: /home/xedaptot/ai.naniguide.com/app/Notifications/System/CaddyRegistrationFailed.php
<?php
namespace App\Notifications\System;
use App\Model\Customer;
use App\Notifications\AppNotification;
use Illuminate\Database\Eloquent\Model;
use Throwable;
class CaddyRegistrationFailed extends AppNotification
{
public function __construct(public Customer $customer, public Throwable $exception) {}
public function audience(): string { return self::AUDIENCE_ADMINS; }
public function category(): string { return self::CATEGORY_ALERT; }
public function severity(): string { return self::SEVERITY_WARNING; }
/** One row per customer — different customers report independently. */
public function groupKey(): string
{
return 'caddy-register:' . $this->customer->id;
}
public function subject(): ?Model
{
return $this->customer;
}
public function toArray(object $notifiable = null): array
{
return [
'title' => 'Caddy registration failed',
'body' => sprintf(
'Customer %s — %s',
$this->customer->name ?? ('#' . $this->customer->id),
$this->exception->getMessage()
),
];
}
}