projectRepository->find($projectId); if (null === $project) { throw new InvalidArgumentException(sprintf('Project with ID %d not found.', $projectId)); } $group = new TaskGroup(); $group->setProject($project); $group->setTitle($title); if (null !== $description) { $group->setDescription($description); } if (null !== $color) { $group->setColor($color); } $this->entityManager->persist($group); $this->entityManager->flush(); return json_encode([ 'id' => $group->getId(), 'title' => $group->getTitle(), 'description' => $group->getDescription(), 'color' => $group->getColor(), 'project' => [ 'id' => $project->getId(), 'code' => $project->getCode(), 'name' => $project->getName(), ], 'archived' => $group->isArchived(), ]); } }