*/ public function handle(Project $project, string $source = 'backlog', mixed $status = null): array { $source = $source === 'board' ? 'board' : 'backlog'; $defaultTicketStatus = $source === 'board' ? $project->ticketStatuses()->whereNotNull('board_column_id')->first() : $project->ticketStatuses()->whereNull('board_column_id')->first(); $defaultTicketStatus ??= $project->ticketStatuses()->first(); return [ 'defaultTicketStatusId' => $defaultTicketStatus?->id, 'project' => ProjectResource::make($project)->resolve(), 'source' => $source, 'status' => $status, 'ticketPriorities' => TicketPriorityResource::collection($project->ticketPriorities()->get())->resolve(), 'ticketStatusOptions' => TicketStatusResource::collection( $project->ticketStatuses() ->with('boardColumn') ->get(), )->resolve(), 'ticketTypes' => TicketTypeResource::collection($project->ticketTypes()->get())->resolve(), 'users' => UserResource::collection( User::query() ->orderBy('name') ->get(), )->resolve(), ]; } }