Files
Leantime/app/Domain/Tickets/Events/StatusLabelsUpdated.php

40 lines
1.2 KiB
PHP

<?php
namespace Leantime\Domain\Tickets\Events;
use Leantime\Core\Events\Concerns\InteractsWithEvents;
use Leantime\Core\Events\Contracts\LeantimeEvent;
/**
* Fired after a project's ticket status labels were saved.
*/
final class StatusLabelsUpdated implements LeantimeEvent
{
use InteractsWithEvents;
/**
* @param int|null $projectId The project whose status labels changed.
* @param string|null $legacyHook TEMPORARY (migration window): the emitting method name —
* pass __FUNCTION__ — used to rebuild the exact historical
* string name this site fired under for plugin listeners.
*/
public function __construct(
public readonly ?int $projectId = null,
private readonly ?string $legacyHook = null,
) {}
/**
* The exact historical string name of the emitting site. Remove with the migration window.
*
* @return array<int, string>
*/
public function legacyHooks(): array
{
if ($this->legacyHook === null) {
return [];
}
return ['leantime.domain.tickets.services.tickets.'.$this->legacyHook.'.statusLabels_updated'];
}
}