*/ public function handle(Project $project, User $user, mixed $status = null): array { $canManageTickets = $this->permissionService->allows($user, Permission::ProjectWrite, $project); return [ 'boardColumns' => BoardColumnResource::collection( $project->boardColumns() ->with([ 'ticketStatuses', 'tickets' => fn ($query) => $query ->with([ 'assignee', 'ticketPriority', 'ticketStatus.allowedTargetStatuses.boardColumn', 'ticketStatus.boardColumn', 'ticketType', ]), ]) ->get(), )->resolve(), 'canCreateTickets' => $canManageTickets, 'canEditTickets' => $canManageTickets, 'project' => ProjectResource::make($project)->resolve(), 'status' => $status, ]; } }