diff --git a/ApiDocGenerator.php b/ApiDocGenerator.php index a2cff6c..d058b25 100644 --- a/ApiDocGenerator.php +++ b/ApiDocGenerator.php @@ -12,7 +12,7 @@ namespace EXSyst\Bundle\ApiDocBundle; use EXSyst\Bundle\ApiDocBundle\Describer\DescriberInterface; -use gossi\swagger\Swagger; +use EXSyst\Swagger\Swagger; class ApiDocGenerator { diff --git a/Describer/ApiPlatformDescriber.php b/Describer/ApiPlatformDescriber.php index 9906e74..c98c062 100644 --- a/Describer/ApiPlatformDescriber.php +++ b/Describer/ApiPlatformDescriber.php @@ -22,6 +22,7 @@ class ApiPlatformDescriber extends ExternalDocDescriber public function __construct(Documentation $documentation, DocumentationNormalizer $normalizer, bool $overwrite = false) { parent::__construct(function () use ($documentation, $normalizer) { + var_dump($normalizer->normalize($documentation)); return $normalizer->normalize($documentation); }, $overwrite); } diff --git a/Describer/DescriberInterface.php b/Describer/DescriberInterface.php index 78da353..a66fdaa 100644 --- a/Describer/DescriberInterface.php +++ b/Describer/DescriberInterface.php @@ -11,7 +11,7 @@ namespace EXSyst\Bundle\ApiDocBundle\Describer; -use gossi\swagger\Swagger; +use EXSyst\Swagger\Swagger; interface DescriberInterface { diff --git a/Describer/ExternalDocDescriber.php b/Describer/ExternalDocDescriber.php index 6b65f68..aee5ce3 100644 --- a/Describer/ExternalDocDescriber.php +++ b/Describer/ExternalDocDescriber.php @@ -11,7 +11,7 @@ namespace EXSyst\Bundle\ApiDocBundle\Describer; -use gossi\swagger\Swagger; +use EXSyst\Swagger\Swagger; class ExternalDocDescriber implements DescriberInterface { diff --git a/Describer/RouteDescriber.php b/Describer/RouteDescriber.php index 416abfe..3cd4a9c 100644 --- a/Describer/RouteDescriber.php +++ b/Describer/RouteDescriber.php @@ -13,7 +13,7 @@ namespace EXSyst\Bundle\ApiDocBundle\Describer; use Doctrine\Common\Util\ClassUtils; use EXSyst\Bundle\ApiDocBundle\RouteDescriber\RouteDescriberInterface; -use gossi\swagger\Swagger; +use EXSyst\Swagger\Swagger; use Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\Routing\Route; diff --git a/Model/ModelDescriber.php b/Model/ModelDescriber.php deleted file mode 100644 index b4023e4..0000000 --- a/Model/ModelDescriber.php +++ /dev/null @@ -1,26 +0,0 @@ -namingStrategy = $namingStrategy; - } - - public function describe(string $class, array $options = []): Schema - { - - } -} diff --git a/RouteDescriber/NelmioAnnotationDescriber.php b/RouteDescriber/NelmioAnnotationDescriber.php index e14d584..e81bce6 100644 --- a/RouteDescriber/NelmioAnnotationDescriber.php +++ b/RouteDescriber/NelmioAnnotationDescriber.php @@ -12,8 +12,8 @@ namespace EXSyst\Bundle\ApiDocBundle\RouteDescriber; use Doctrine\Common\Annotations\Reader; -use gossi\swagger\Parameter; -use gossi\swagger\Swagger; +use EXSyst\Swagger\Parameter; +use EXSyst\Swagger\Swagger; use Nelmio\ApiDocBundle\Annotation\ApiDoc; use Symfony\Component\Routing\Route; diff --git a/RouteDescriber/PhpDocDescriber.php b/RouteDescriber/PhpDocDescriber.php index 520f055..9fe8165 100644 --- a/RouteDescriber/PhpDocDescriber.php +++ b/RouteDescriber/PhpDocDescriber.php @@ -11,7 +11,7 @@ namespace EXSyst\Bundle\ApiDocBundle\RouteDescriber; -use gossi\swagger\Swagger; +use EXSyst\Swagger\Swagger; use phpDocumentor\Reflection\DocBlockFactory; use phpDocumentor\Reflection\DocBlockFactoryInterface; use Symfony\Component\Routing\Route; diff --git a/RouteDescriber/RouteDescriberInterface.php b/RouteDescriber/RouteDescriberInterface.php index 93c9b53..dbdcfce 100644 --- a/RouteDescriber/RouteDescriberInterface.php +++ b/RouteDescriber/RouteDescriberInterface.php @@ -11,7 +11,7 @@ namespace EXSyst\Bundle\ApiDocBundle\RouteDescriber; -use gossi\swagger\Swagger; +use EXSyst\Swagger\Swagger; use Symfony\Component\Routing\Route; interface RouteDescriberInterface diff --git a/RouteDescriber/RouteDescriberTrait.php b/RouteDescriber/RouteDescriberTrait.php index c2c8772..258517a 100644 --- a/RouteDescriber/RouteDescriberTrait.php +++ b/RouteDescriber/RouteDescriberTrait.php @@ -11,8 +11,8 @@ namespace EXSyst\Bundle\ApiDocBundle\RouteDescriber; -use gossi\swagger\Operation; -use gossi\swagger\Swagger; +use EXSyst\Swagger\Operation; +use EXSyst\Swagger\Swagger; use Symfony\Component\Routing\Route; /** diff --git a/RouteDescriber/RouteMetadataDescriber.php b/RouteDescriber/RouteMetadataDescriber.php index b0421a6..6228693 100644 --- a/RouteDescriber/RouteMetadataDescriber.php +++ b/RouteDescriber/RouteMetadataDescriber.php @@ -11,7 +11,7 @@ namespace EXSyst\Bundle\ApiDocBundle\RouteDescriber; -use gossi\swagger\Swagger; +use EXSyst\Swagger\Swagger; use Symfony\Component\Routing\Route; class RouteMetadataDescriber implements RouteDescriberInterface @@ -21,7 +21,7 @@ class RouteMetadataDescriber implements RouteDescriberInterface public function describe(Swagger $api, Route $route, \ReflectionMethod $reflectionMethod) { foreach ($this->getOperations($api, $route) as $operation) { - $operation->getSchemes()->addAll($route->getSchemes()); + $operation->merge(['schemes' => $route->getSchemes()]); foreach ($route->getRequirements() as $parameterName => $requirement) { $parameter = $operation->getParameters()->get($parameterName, 'path'); diff --git a/Tests/Functional/Entity/Dummy.php b/Tests/Functional/Entity/Dummy.php index b6a8906..1651afe 100644 --- a/Tests/Functional/Entity/Dummy.php +++ b/Tests/Functional/Entity/Dummy.php @@ -19,7 +19,11 @@ use Symfony\Component\Validator\Constraints as Assert; * @author Guilhem N. * * @ApiResource( - * collectionOperations={"get"={"method"="GET"}}, + * collectionOperations={ + * "get"={"method"="GET"}, + * "custom2"={"path"="/foo", "method"="GET"}, + * "custom"={"path"="/foo", "method"="POST"}, + * }, * itemOperations={"get"={"method"="GET"}}) * ) */ diff --git a/Tests/Functional/FunctionalTest.php b/Tests/Functional/FunctionalTest.php index fcf76fa..7da4091 100644 --- a/Tests/Functional/FunctionalTest.php +++ b/Tests/Functional/FunctionalTest.php @@ -19,15 +19,15 @@ class FunctionalTest extends WebTestCase { $operation = $this->getOperation('/test/{user}', 'get'); - $this->assertEquals(['https'], $operation->getSchemes()->toArray()); + $this->assertEquals(['https'], $operation->getSchemes()); $this->assertEmpty($operation->getSummary()); $this->assertEmpty($operation->getDescription()); $this->assertFalse($operation->getDeprecated()); $parameters = $operation->getParameters(); - $this->assertTrue($parameters->search('user', 'path')); + $this->assertTrue($parameters->has('user', 'path')); - $parameter = $parameters->find('user', 'path'); + $parameter = $parameters->get('user', 'path'); $this->assertTrue($parameter->getRequired()); $this->assertEquals('string', $parameter->getType()); $this->assertEquals('/foo/', $parameter->getFormat()); diff --git a/composer.json b/composer.json index 0261120..f8664c1 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ "require": { "php": "^7.0", "symfony/framework-bundle": "^3.2", - "exsyst/swagger": "dev-master" + "exsyst/swagger": "~0.1" }, "require-dev": { "symfony/validator": "^3.2",