diff --git a/src/Search/Controller/DataObject/GetConfigurationController.php b/src/Search/Controller/DataObject/GetConfigurationController.php index a6c9fb14e..274ffe2c0 100644 --- a/src/Search/Controller/DataObject/GetConfigurationController.php +++ b/src/Search/Controller/DataObject/GetConfigurationController.php @@ -26,9 +26,11 @@ use Pimcore\Bundle\StudioBackendBundle\OpenApi\Attribute\Response\DefaultResponses; use Pimcore\Bundle\StudioBackendBundle\OpenApi\Attribute\Response\SuccessResponse; use Pimcore\Bundle\StudioBackendBundle\OpenApi\Config\Tags; +use Pimcore\Bundle\StudioBackendBundle\Search\MappedParameter\ClassIdParameter; use Pimcore\Bundle\StudioBackendBundle\Util\Constant\HttpResponseCodes; use Pimcore\Bundle\StudioBackendBundle\Util\Constant\UserPermissions; use Symfony\Component\HttpFoundation\JsonResponse; +use Symfony\Component\HttpKernel\Attribute\MapQueryString; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Security\Http\Attribute\IsGranted; use Symfony\Component\Serializer\SerializerInterface; @@ -76,9 +78,12 @@ public function __construct( HttpResponseCodes::NOT_FOUND, HttpResponseCodes::UNAUTHORIZED, ])] - public function getDataObjectSearchConfiguration(?string $classId): JsonResponse - { - $configuration = $this->gridConfigurationService->getDataObjectSearchConfiguration($classId); + public function getDataObjectSearchConfiguration( + #[MapQueryString] ?ClassIdParameter $classIdParameter + ): JsonResponse { + $configuration = $this->gridConfigurationService->getDataObjectSearchConfiguration( + $classIdParameter?->getClassId() + ); return $this->jsonResponse($configuration); } diff --git a/src/Search/Controller/DataObject/GetSearchResultController.php b/src/Search/Controller/DataObject/GetSearchResultController.php index 8945d069f..e9cb61e49 100644 --- a/src/Search/Controller/DataObject/GetSearchResultController.php +++ b/src/Search/Controller/DataObject/GetSearchResultController.php @@ -30,9 +30,11 @@ use Pimcore\Bundle\StudioBackendBundle\OpenApi\Attribute\Response\DefaultResponses; use Pimcore\Bundle\StudioBackendBundle\OpenApi\Attribute\Response\SuccessResponse; use Pimcore\Bundle\StudioBackendBundle\OpenApi\Config\Tags; +use Pimcore\Bundle\StudioBackendBundle\Search\MappedParameter\ClassIdParameter; use Pimcore\Bundle\StudioBackendBundle\Util\Constant\HttpResponseCodes; use Pimcore\Bundle\StudioBackendBundle\Util\Constant\UserPermissions; use Symfony\Component\HttpFoundation\JsonResponse; +use Symfony\Component\HttpKernel\Attribute\MapQueryString; use Symfony\Component\HttpKernel\Attribute\MapRequestPayload; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Security\Http\Attribute\IsGranted; @@ -83,13 +85,13 @@ public function __construct( HttpResponseCodes::BAD_REQUEST, ])] public function getDataObjectSearchGrid( - ?string $classId, - #[MapRequestPayload] SearchGridParameter $searchGridParameter + #[MapRequestPayload] SearchGridParameter $searchGridParameter, + #[MapQueryString] ?ClassIdParameter $classIdParameter, ): JsonResponse { return $this->jsonResponse( $this->searchService->getDataObjectSearchGrid( $searchGridParameter, - $classId + $classIdParameter?->getClassId() ) ); } diff --git a/src/Search/MappedParameter/ClassIdParameter.php b/src/Search/MappedParameter/ClassIdParameter.php new file mode 100644 index 000000000..d287ec7d4 --- /dev/null +++ b/src/Search/MappedParameter/ClassIdParameter.php @@ -0,0 +1,33 @@ +classId; + } +}