*/ public function handle(Project $project, mixed $status = null, mixed $error = null): array { return [ 'fieldTypeOptions' => FieldTypeOptionResource::collection(collect(TicketFieldDefinition::FIELD_TYPES))->resolve(), 'project' => ProjectResource::make($project)->resolve(), 'error' => $error, 'status' => $status, 'templateState' => $this->resolveProjectTemplateState->handle($project, [ DuplicateProjectConfiguration::COPY_PROJECT_SETTINGS, DuplicateProjectConfiguration::COPY_TICKET_TYPES, DuplicateProjectConfiguration::COPY_TICKET_PRIORITIES, DuplicateProjectConfiguration::COPY_TICKET_FIELDS, DuplicateProjectConfiguration::COPY_TICKET_LINK_TYPES, ]), 'ticketFieldDefinitions' => TicketFieldDefinitionResource::collection($project->ticketFieldDefinitions()->get())->resolve(), 'ticketLinkTypes' => TicketLinkTypeResource::collection($project->ticketLinkTypes()->get())->resolve(), 'ticketPriorities' => TicketPriorityResource::collection($project->ticketPriorities()->get())->resolve(), 'ticketTypes' => TicketTypeResource::collection($project->ticketTypes()->withCount('tickets')->get())->resolve(), ]; } }