Skip to content

Commit

Permalink
Allow "friendsofsymfony/rest-bundle:^3.0"
Browse files Browse the repository at this point in the history
Update tests/App/config.yml

Co-authored-by: Javier Spagnoletti <phansys@gmail.com>

Update tests/App/config.yml

Co-authored-by: Javier Spagnoletti <phansys@gmail.com>

Update tests/App/config.yml

Co-authored-by: Javier Spagnoletti <phansys@gmail.com>
  • Loading branch information
wbloszyk and phansys committed Aug 5, 2020
1 parent 56fd7e0 commit a89926f
Show file tree
Hide file tree
Showing 21 changed files with 623 additions and 91 deletions.
10 changes: 7 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"twig/twig": "^2.12.1"
},
"conflict": {
"friendsofsymfony/rest-bundle": "<2.1 || >=3.0",
"friendsofsymfony/rest-bundle": "<2.3",
"jms/serializer": "<0.13",
"sonata-project/admin-bundle": "<3.68",
"sonata-project/block-bundle": "<3.19 || >=4.0",
Expand All @@ -45,15 +45,19 @@
"sonata-project/media-bundle": "<3.20 || >=4.0"
},
"require-dev": {
"friendsofsymfony/rest-bundle": "^2.3",
"doctrine/annotations": "^1.7",
"friendsofsymfony/rest-bundle": "^2.3 || ^3.0",
"jms/serializer-bundle": "^2.0 || ^3.0",
"matthiasnoback/symfony-config-test": "^4.0",
"matthiasnoback/symfony-dependency-injection-test": "^4.0",
"nelmio/api-doc-bundle": "^2.13.4",
"sonata-project/admin-bundle": "^3.68",
"sonata-project/block-bundle": "^3.19",
"sonata-project/doctrine-orm-admin-bundle": "^3.16",
"sonata-project/media-bundle": "^3.20",
"symfony/phpunit-bridge": "^5.1"
"symfony/browser-kit": "^4.4 || ^5.1",
"symfony/phpunit-bridge": "^5.1",
"symfony/yaml": "^4.4"
},
"suggest": {
"sonata-project/block-bundle": "For rendering dynamic list blocks on a page.",
Expand Down
43 changes: 21 additions & 22 deletions src/Controller/Api/CategoryController.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,9 @@
namespace Sonata\ClassificationBundle\Controller\Api;

use FOS\RestBundle\Context\Context;
use FOS\RestBundle\Controller\Annotations\QueryParam;
use FOS\RestBundle\Controller\Annotations\View;
use FOS\RestBundle\Controller\Annotations as Rest;
use FOS\RestBundle\Request\ParamFetcherInterface;
use FOS\RestBundle\View\View as FOSRestView;
use FOS\RestBundle\View\View;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Sonata\ClassificationBundle\Form\FormHelper;
use Sonata\ClassificationBundle\Model\CategoryInterface;
Expand Down Expand Up @@ -57,12 +56,12 @@ public function __construct(CategoryManagerInterface $categoryManager, FormFacto
* output={"class"="Sonata\DatagridBundle\Pager\PagerInterface", "groups"={"sonata_api_read"}}
* )
*
* @QueryParam(name="page", requirements="\d+", default="1", description="Page for category list pagination")
* @QueryParam(name="count", requirements="\d+", default="10", description="Number of categories by page")
* @QueryParam(name="enabled", requirements="0|1", nullable=true, strict=true, description="Enabled/Disabled categories filter")
* @QueryParam(name="context", requirements="\S+", nullable=true, strict=true, description="Context of categories")
* @Rest\QueryParam(name="page", requirements="\d+", default="1", description="Page for category list pagination")
* @Rest\QueryParam(name="count", requirements="\d+", default="10", description="Number of categories by page")
* @Rest\QueryParam(name="enabled", requirements="0|1", nullable=true, strict=true, description="Enabled/Disabled categories filter")
* @Rest\QueryParam(name="context", requirements="\S+", nullable=true, strict=true, description="Context of categories")
*
* @View(serializerGroups={"sonata_api_read"}, serializerEnableMaxDepthChecks=true)
* @Rest\View(serializerGroups={"sonata_api_read"}, serializerEnableMaxDepthChecks=true)
*
* @return PagerInterface
*/
Expand All @@ -82,7 +81,7 @@ public function getCategoriesAction(ParamFetcherInterface $paramFetcher)
*
* @ApiDoc(
* requirements={
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="category id"}
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="Category identifier"}
* },
* output={"class"="Sonata\ClassificationBundle\Model\Category", "groups"={"sonata_api_read"}},
* statusCodes={
Expand All @@ -91,9 +90,9 @@ public function getCategoriesAction(ParamFetcherInterface $paramFetcher)
* }
* )
*
* @View(serializerGroups={"sonata_api_read"}, serializerEnableMaxDepthChecks=true)
* @Rest\View(serializerGroups={"sonata_api_read"}, serializerEnableMaxDepthChecks=true)
*
* @param mixed $id
* @param mixed $id Category identifier
*
* @return CategoryInterface
*/
Expand All @@ -115,7 +114,7 @@ public function getCategoryAction($id)
* }
* )
*
* @param Request $request A Symfony request
* @param Request $request Symfony request
*
* @throws NotFoundHttpException
*
Expand All @@ -131,7 +130,7 @@ public function postCategoryAction(Request $request)
*
* @ApiDoc(
* requirements={
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="category identifier"}
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="Category identifier"}
* },
* input={"class"="sonata_classification_api_form_category", "name"="", "groups"={"sonata_api_write"}},
* output={"class"="Sonata\ClassificationBundle\Model\Category", "groups"={"sonata_api_read"}},
Expand All @@ -142,8 +141,8 @@ public function postCategoryAction(Request $request)
* }
* )
*
* @param int $id A Category identifier
* @param Request $request A Symfony request
* @param int $id Category identifier
* @param Request $request Symfony request
*
* @throws NotFoundHttpException
*
Expand All @@ -159,7 +158,7 @@ public function putCategoryAction($id, Request $request)
*
* @ApiDoc(
* requirements={
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="category identifier"}
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="Category identifier"}
* },
* statusCodes={
* 200="Returned when category is successfully deleted",
Expand All @@ -168,11 +167,11 @@ public function putCategoryAction($id, Request $request)
* }
* )
*
* @param int $id A Category identifier
* @param int $id Category identifier
*
* @throws NotFoundHttpException
*
* @return View
* @return Rest\View
*/
public function deleteCategoryAction($id)
{
Expand Down Expand Up @@ -206,7 +205,7 @@ protected function filterCriteria(ParamFetcherInterface $paramFetcher)
/**
* Retrieves category with id $id or throws an exception if it doesn't exist.
*
* @param int $id A Category identifier
* @param int $id Category identifier
*
* @throws NotFoundHttpException
*
Expand All @@ -227,9 +226,9 @@ protected function getCategory($id)
* Write a category, this method is used by both POST and PUT action methods.
*
* @param Request $request Symfony request
* @param int|null $id A category identifier
* @param int|null $id category identifier
*
* @return View|FormInterface
* @return Rest\View|FormInterface
*/
protected function handleWriteCategory($request, $id = null)
{
Expand All @@ -250,7 +249,7 @@ protected function handleWriteCategory($request, $id = null)
$context = new Context();
$context->setGroups(['sonata_api_read']);

$view = FOSRestView::create($category);
$view = View::create($category);
$view->setContext($context);

return $view;
Expand Down
41 changes: 20 additions & 21 deletions src/Controller/Api/CollectionController.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,9 @@
namespace Sonata\ClassificationBundle\Controller\Api;

use FOS\RestBundle\Context\Context;
use FOS\RestBundle\Controller\Annotations\QueryParam;
use FOS\RestBundle\Controller\Annotations\View;
use FOS\RestBundle\Controller\Annotations as Rest;
use FOS\RestBundle\Request\ParamFetcherInterface;
use FOS\RestBundle\View\View as FOSRestView;
use FOS\RestBundle\View\View;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Sonata\ClassificationBundle\Form\FormHelper;
use Sonata\ClassificationBundle\Model\CollectionInterface;
Expand Down Expand Up @@ -57,11 +56,11 @@ public function __construct(CollectionManagerInterface $collectionManager, FormF
* output={"class"="Sonata\DatagridBundle\Pager\PagerInterface", "groups"={"sonata_api_read"}}
* )
*
* @QueryParam(name="page", requirements="\d+", default="1", description="Page for collection list pagination")
* @QueryParam(name="count", requirements="\d+", default="10", description="Number of collections by page")
* @QueryParam(name="enabled", requirements="0|1", nullable=true, strict=true, description="Enabled/Disabled collections filter")
* @Rest\QueryParam(name="page", requirements="\d+", default="1", description="Page for collection list pagination")
* @Rest\QueryParam(name="count", requirements="\d+", default="10", description="Number of collections by page")
* @Rest\QueryParam(name="enabled", requirements="0|1", nullable=true, strict=true, description="Enabled/Disabled collections filter")
*
* @View(serializerGroups={"sonata_api_read"}, serializerEnableMaxDepthChecks=true)
* @Rest\View(serializerGroups={"sonata_api_read"}, serializerEnableMaxDepthChecks=true)
*
* @return PagerInterface
*/
Expand All @@ -81,7 +80,7 @@ public function getCollectionsAction(ParamFetcherInterface $paramFetcher)
*
* @ApiDoc(
* requirements={
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="collection id"}
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="Collection identifier"}
* },
* output={"class"="Sonata\ClassificationBundle\Model\Collection", "groups"={"sonata_api_read"}},
* statusCodes={
Expand All @@ -90,9 +89,9 @@ public function getCollectionsAction(ParamFetcherInterface $paramFetcher)
* }
* )
*
* @View(serializerGroups={"sonata_api_read"}, serializerEnableMaxDepthChecks=true)
* @Rest\View(serializerGroups={"sonata_api_read"}, serializerEnableMaxDepthChecks=true)
*
* @param mixed $id
* @param mixed $id Collection identifier
*
* @return CollectionInterface
*/
Expand All @@ -114,7 +113,7 @@ public function getCollectionAction($id)
* }
* )
*
* @param Request $request A Symfony request
* @param Request $request Symfony request
*
* @throws NotFoundHttpException
*
Expand All @@ -130,7 +129,7 @@ public function postCollectionAction(Request $request)
*
* @ApiDoc(
* requirements={
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="collection identifier"}
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="Collection identifier"}
* },
* input={"class"="sonata_classification_api_form_collection", "name"="", "groups"={"sonata_api_write"}},
* output={"class"="Sonata\ClassificationBundle\Model\Collection", "groups"={"sonata_api_read"}},
Expand All @@ -141,8 +140,8 @@ public function postCollectionAction(Request $request)
* }
* )
*
* @param int $id A Collection identifier
* @param Request $request A Symfony request
* @param int $id Collection identifier
* @param Request $request Symfony request
*
* @throws NotFoundHttpException
*
Expand All @@ -158,7 +157,7 @@ public function putCollectionAction($id, Request $request)
*
* @ApiDoc(
* requirements={
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="collection identifier"}
* {"name"="id", "dataType"="integer", "requirement"="\d+", "description"="Collection identifier"}
* },
* statusCodes={
* 200="Returned when collection is successfully deleted",
Expand All @@ -167,11 +166,11 @@ public function putCollectionAction($id, Request $request)
* }
* )
*
* @param int $id A Collection identifier
* @param int $id Collection identifier
*
* @throws NotFoundHttpException
*
* @return View
* @return Rest\View
*/
public function deleteCollectionAction($id)
{
Expand Down Expand Up @@ -205,7 +204,7 @@ protected function filterCriteria(ParamFetcherInterface $paramFetcher)
/**
* Retrieves collection with id $id or throws an exception if it doesn't exist.
*
* @param int $id A Collection identifier
* @param int $id Collection identifier
*
* @throws NotFoundHttpException
*
Expand All @@ -226,9 +225,9 @@ protected function getCollection($id)
* Write a collection, this method is used by both POST and PUT action methods.
*
* @param Request $request Symfony request
* @param int|null $id A collection identifier
* @param int|null $id Collection identifier
*
* @return View|FormInterface
* @return Rest\View|FormInterface
*/
protected function handleWriteCollection($request, $id = null)
{
Expand All @@ -249,7 +248,7 @@ protected function handleWriteCollection($request, $id = null)
$context = new Context();
$context->setGroups(['sonata_api_read']);

$view = FOSRestView::create($collection);
$view = View::create($collection);
$view->setContext($context);

return $view;
Expand Down

0 comments on commit a89926f

Please sign in to comment.