/** * @param Folder $folder * * @return JsonResponse * * @Route("/list/{id}", defaults={"id" = null}) */ public function indexAction(Folder $folder = null) { if (null !== $folder) { $files = $folder->getFiles(); $folders = $folder->getChildren(); } else { $files = $this->getDoctrine()->getRepository('TGFileBundle:File')->findByFolder(null); $folders = $this->getDoctrine()->getRepository('TGFileBundle:Folder')->findByParent(null); } $serializer = new Serializer([$this->get('tg_file.normalizer')]); return new JsonResponse(['files' => $serializer->normalize($files), 'folders' => $serializer->normalize($folders)]); }