householdRepository = $householdRepository; } public function householdAddressApi($id, Request $request, string $_format): Response { return $this->addRemoveSomething('address', $id, $request, $_format, 'address', Address::class, [ 'groups' => [ 'read' ] ]); } /** * Find Household of people participating to the same AccompanyingPeriod * * @ParamConverter("person", options={"id" = "person_id"}) */ public function suggestHouseholdByAccompanyingPeriodParticipationApi(Person $person, string $_format) { // TODO add acl $count = $this->householdRepository->countByAccompanyingPeriodParticipation($person); $paginator = $this->getPaginatorFactory()->create($count); if ($count === 0) { $households = []; } else { $households = $this->householdRepository->findByAccompanyingPeriodParticipation($person, $paginator->getItemsPerPage(), $paginator->getCurrentPageFirstItemNumber()); } $collection = new Collection($households, $paginator); return $this->json($collection, Response::HTTP_OK, [], [ "groups" => ["read"]]); } }