public function getAddressesAction($id, Request $request)
{
if ($request->get('flat') == 'true') {
/** @var RestHelperInterface $restHelper */
$restHelper = $this->getRestHelper();
/** @var DoctrineListBuilderFactory $factory */
$factory = $this->get('sulu_core.doctrine_list_builder_factory');
$listBuilder = $factory->create($this->getAccountEntityName());
$restHelper->initializeListBuilder($listBuilder, $this->getAccountAddressesFieldDescriptors());
$listBuilder->where($this->getFieldDescriptors()['id'], $id);
$values = $listBuilder->execute();
$list = new ListRepresentation($values, 'addresses', 'get_account_addresses', array_merge(['id' => $id], $request->query->all()), $listBuilder->getCurrentPage(), $listBuilder->getLimit(), $listBuilder->count());
} else {
$addresses = $this->getDoctrine()->getRepository(self::$addressEntityName)->findByAccountId($id);
$list = new CollectionRepresentation($addresses, 'addresses');
}
$view = $this->view($list, 200);
return $this->handleView($view);
}