Files
KanbanGit/app/Actions/Projects/BuildProjectTicketStatusTargetsPayload.php
Twyco 8b25421e7c
linter / quality (pull_request) Successful in 1m18s
tests / ci (8.4) (pull_request) Successful in 1m28s
Add application API and OpenAPI docs
2026-04-20 13:22:56 +02:00

27 lines
744 B
PHP

<?php
namespace App\Actions\Projects;
use App\Http\Resources\TicketStatusResource;
use App\Models\Ticket;
class BuildProjectTicketStatusTargetsPayload
{
/**
* @return array<string, mixed>
*/
public function handle(Ticket $ticket): array
{
$ticket->loadMissing('ticketStatus.allowedTargetStatuses.boardColumn');
return [
'current_status' => $ticket->ticketStatus === null
? null
: TicketStatusResource::make($ticket->ticketStatus->loadMissing('boardColumn'))->resolve(),
'target_statuses' => TicketStatusResource::collection(
$ticket->ticketStatus?->allowedTargetStatuses ?? collect(),
)->resolve(),
];
}
}