44
55namespace Netgen \Bundle \OpenApiIbexaBundle \Controller ;
66
7+ use Ibexa \Contracts \Core \SiteAccess \ConfigResolverInterface ;
78use Netgen \IbexaSiteApi \API \Values \Location ;
89use Netgen \OpenApiIbexa \Page \LocationList ;
910use Netgen \OpenApiIbexa \Page \Output \OutputVisitor ;
10- use Symfony \Bundle \FrameworkBundle \Controller \AbstractController ;
1111use Symfony \Component \HttpFoundation \JsonResponse ;
1212use Symfony \Component \HttpFoundation \Request ;
1313use Symfony \Component \HttpFoundation \Response ;
1818use const JSON_THROW_ON_ERROR ;
1919use const JSON_UNESCAPED_SLASHES ;
2020
21- final class LocationChildren extends AbstractController
21+ final class LocationChildren extends Controller
2222{
2323 public function __construct (
24+ private ConfigResolverInterface $ configResolver ,
2425 private OutputVisitor $ outputVisitor ,
2526 private int $ defaultLimit ,
2627 ) {}
@@ -41,11 +42,15 @@ public function __invoke(Request $request, Location $location, int $maxPerPage,
4142
4243 $ data = $ this ->outputVisitor ->visit (new LocationList ($ children ));
4344
44- return new JsonResponse (
45+ $ response = new JsonResponse (
4546 json_encode ($ data , JSON_THROW_ON_ERROR | JSON_UNESCAPED_SLASHES ),
4647 Response::HTTP_OK ,
4748 [],
4849 true ,
4950 );
51+
52+ $ this ->configureCache ($ this ->configResolver , $ response );
53+
54+ return $ response ;
5055 }
5156}
0 commit comments