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/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()
            ),
        ];
    }
}