Add application API and OpenAPI docs
linter / quality (pull_request) Successful in 1m18s
tests / ci (8.4) (pull_request) Successful in 1m28s

This commit is contained in:
2026-04-20 13:22:56 +02:00
parent 70d760e3a6
commit 8b25421e7c
80 changed files with 6908 additions and 1277 deletions
@@ -0,0 +1,34 @@
<?php
namespace App\Actions\ProjectTicketMetadata;
use App\Models\Project;
use App\Models\TicketFieldDefinition;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
class UpdateTicketFieldDefinition
{
use ReordersProjectMetadata;
/**
* @param array{field_type: string, label: string, position: int} $validated
*/
public function handle(Project $project, TicketFieldDefinition $ticketFieldDefinition, array $validated): TicketFieldDefinition
{
DB::transaction(function () use ($project, $ticketFieldDefinition, $validated): void {
$ticketFieldDefinition->update([
'field_type' => Arr::get($validated, 'field_type'),
'label' => Arr::get($validated, 'label'),
]);
$this->reorderModels(
$project->ticketFieldDefinitions()->whereKeyNot($ticketFieldDefinition->id)->get()->values(),
$ticketFieldDefinition,
Arr::get($validated, 'position'),
);
});
return $ticketFieldDefinition->fresh();
}
}