<?php

namespace App\EventHooks\Ticket;

use App\EventHooks\HookEvent;
use App\Models\Ticket;

/**
 * Fire noktası: TicketObserver::deleted → TicketDelete.
 * Context: ticketId/ticket_id, adminId. (Model silindiği için ctx'te 'ticket'
 * modeli YOK; ticket() find ile soft-delete'li satırı bulamayabilir → genelde null.)
 */
class TicketDeleted extends HookEvent
{
    public const HOOK = 'TicketDelete';

    public function ticketId(): ?int
    {
        $id = $this->get('ticket_id') ?? $this->get('ticketId');

        return $id ? (int) $id : null;
    }

    /** Silinen ticket — ctx'te model yok, id ile aranır (kayıt gitmişse null). */
    public function ticket(): ?Ticket
    {
        $id = $this->ticketId();

        return $id ? Ticket::find($id) : null;
    }

    public function adminId(): ?int
    {
        $id = $this->get('adminId');

        return $id ? (int) $id : null;
    }
}
