Model ticket link counterparts explicitly
linter / quality (pull_request) Successful in 3m5s
tests / ci (8.4) (pull_request) Failing after 1m41s

This commit is contained in:
2026-05-23 10:29:22 +00:00
parent d60c33fa7c
commit 486994e441
22 changed files with 312 additions and 66 deletions
@@ -12,16 +12,18 @@ class StoreTicketLinkType
use ReordersProjectMetadata;
/**
* @param array{name: string, position?: int|null} $validated
* @param array{name: string, counterpart_name: string, position?: int|null} $validated
*/
public function handle(Project $project, array $validated): TicketLinkType
{
$name = Arr::get($validated, 'name');
$counterpartName = Arr::get($validated, 'counterpart_name');
$position = Arr::get($validated, 'position');
return DB::transaction(function () use ($project, $position, $name): TicketLinkType {
return DB::transaction(function () use ($project, $position, $name, $counterpartName): TicketLinkType {
$ticketLinkType = $project->ticketLinkTypes()->create([
'label' => $name,
'counterpart_label' => $counterpartName,
'position' => $project->ticketLinkTypes()->count() + 1,
]);
@@ -12,16 +12,18 @@ class UpdateTicketLinkType
use ReordersProjectMetadata;
/**
* @param array{name: string, position: int} $validated
* @param array{name: string, counterpart_name: string, position: int} $validated
*/
public function handle(Project $project, TicketLinkType $ticketLinkType, array $validated): TicketLinkType
{
$name = Arr::get($validated, 'name');
$counterpartName = Arr::get($validated, 'counterpart_name');
$position = Arr::get($validated, 'position');
DB::transaction(function () use ($project, $name, $position, $ticketLinkType): void {
DB::transaction(function () use ($project, $name, $counterpartName, $position, $ticketLinkType): void {
$ticketLinkType->update([
'label' => $name,
'counterpart_label' => $counterpartName,
]);
$this->reorderModels(