Files
KanbanGit/app/Actions/Projects/BuildProjectBoardSettingsPayload.php
T
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

38 lines
1.1 KiB
PHP

<?php
namespace App\Actions\Projects;
use App\Http\Resources\BoardColumnResource;
use App\Http\Resources\ProjectResource;
use App\Http\Resources\TicketStatusResource;
use App\Models\Project;
class BuildProjectBoardSettingsPayload
{
/**
* @return array<string, mixed>
*/
public function handle(Project $project, mixed $status = null): array
{
return [
'backlogTicketStatuses' => TicketStatusResource::collection(
$project->ticketStatuses()
->whereNull('board_column_id')
->get(),
)->resolve(),
'boardColumns' => BoardColumnResource::collection(
$project->boardColumns()
->with('ticketStatuses')
->get(),
)->resolve(),
'project' => ProjectResource::make($project)->resolve(),
'status' => $status,
'ticketStatuses' => TicketStatusResource::collection(
$project->ticketStatuses()
->with(['allowedTargetStatuses.boardColumn', 'boardColumn'])
->get(),
)->resolve(),
];
}
}