From 43a3a1310509c00328154baff375768fe1b756d3 Mon Sep 17 00:00:00 2001 From: Alexandre Hocquard Date: Tue, 28 Nov 2017 09:52:29 +0100 Subject: [PATCH 1/2] Prefix namespace with ApiClient to avoid potential conflict --- README.md | 6 +-- composer.json | 4 +- phpspec.yml.dist | 4 +- spec/AkeneoPimClientSpec.php | 38 +++++++------- spec/Api/AssociationTypeApiSpec.php | 26 +++++----- spec/Api/AttributeApiSpec.php | 24 ++++----- spec/Api/AttributeGroupApiSpec.php | 24 ++++----- spec/Api/AttributeOptionApiSpec.php | 20 +++---- spec/Api/AuthenticationApiSpec.php | 10 ++-- spec/Api/CategoryApiSpec.php | 32 ++++++------ spec/Api/ChannelApiSpec.php | 24 ++++----- spec/Api/CurrencyApiSpec.php | 20 +++---- spec/Api/FamilyApiSpec.php | 24 ++++----- spec/Api/FamilyVariantApiSpec.php | 20 +++---- spec/Api/LocaleApiSpec.php | 20 +++---- spec/Api/MeasureFamilyApiSpec.php | 22 ++++---- spec/Api/ProductApiSpec.php | 24 ++++----- spec/Api/ProductMediaFileApiSpec.php | 22 ++++---- spec/Api/ProductModelApiSpec.php | 22 ++++---- spec/Client/AuthenticatedHttpClientSpec.php | 16 +++--- spec/Client/HttpClientSpec.php | 8 +-- spec/Client/HttpExceptionHandlerSpec.php | 16 +++--- spec/Client/ResourceClientSpec.php | 20 +++---- spec/Exception/HttpExceptionSpec.php | 6 +-- .../UnprocessableEntityHttpExceptionSpec.php | 4 +- spec/Pagination/PageFactorySpec.php | 10 ++-- spec/Pagination/PageSpec.php | 10 ++-- spec/Pagination/ResourceCursorFactorySpec.php | 10 ++-- spec/Pagination/ResourceCursorSpec.php | 10 ++-- spec/Routing/UriGeneratorSpec.php | 2 +- spec/Search/SearchBuilderSpec.php | 6 +-- spec/Security/AuthenticationSpec.php | 6 +-- spec/Stream/LineStreamReaderSpec.php | 4 +- .../MultipartStreamBuilderFactorySpec.php | 4 +- .../UpsertResourceListResponseFactorySpec.php | 8 +-- .../Stream/UpsertResourceListResponseSpec.php | 6 +-- src/AkeneoPimClient.php | 34 ++++++------ src/AkeneoPimClientBuilder.php | 52 +++++++++---------- src/AkeneoPimClientInterface.php | 32 ++++++------ src/Api/AssociationTypeApi.php | 12 ++--- src/Api/AssociationTypeApiInterface.php | 2 +- src/Api/AttributeApi.php | 10 ++-- src/Api/AttributeApiInterface.php | 2 +- src/Api/AttributeGroupApi.php | 12 ++--- src/Api/AttributeGroupApiInterface.php | 2 +- src/Api/AttributeOptionApi.php | 10 ++-- src/Api/AttributeOptionApiInterface.php | 10 ++-- src/Api/AuthenticationApi.php | 6 +-- src/Api/AuthenticationApiInterface.php | 2 +- src/Api/CategoryApi.php | 10 ++-- src/Api/CategoryApiInterface.php | 2 +- src/Api/ChannelApi.php | 10 ++-- src/Api/ChannelApiInterface.php | 2 +- src/Api/CreatableResourceInterface.php | 6 +-- src/Api/CurrencyApi.php | 8 +-- src/Api/CurrencyApiInterface.php | 2 +- src/Api/DeletableResourceInterface.php | 2 +- src/Api/DownloadableResourceInterface.php | 2 +- src/Api/FamilyApi.php | 10 ++-- src/Api/FamilyApiInterface.php | 2 +- src/Api/FamilyVariantApi.php | 10 ++-- src/Api/FamilyVariantApiInterface.php | 10 ++-- src/Api/GettableResourceInterface.php | 4 +- src/Api/ListableResourceInterface.php | 8 +-- src/Api/LocaleApi.php | 8 +-- src/Api/LocaleApiInterface.php | 2 +- src/Api/MeasureFamilyApi.php | 8 +-- src/Api/MeasureFamilyApiInterface.php | 2 +- src/Api/MediaFileApiInterface.php | 6 +-- src/Api/ProductApi.php | 10 ++-- src/Api/ProductApiInterface.php | 2 +- src/Api/ProductMediaFileApi.php | 10 ++-- src/Api/ProductModelApi.php | 12 ++--- src/Api/ProductModelApiInterface.php | 2 +- src/Api/UpsertableResourceInterface.php | 4 +- src/Api/UpsertableResourceListInterface.php | 4 +- src/Client/AuthenticatedHttpClient.php | 8 +-- src/Client/HttpClient.php | 2 +- src/Client/HttpClientInterface.php | 4 +- src/Client/HttpExceptionHandler.php | 14 ++--- src/Client/ResourceClient.php | 10 ++-- src/Client/ResourceClientInterface.php | 6 +-- src/Exception/BadRequestHttpException.php | 2 +- src/Exception/ClientErrorHttpException.php | 2 +- src/Exception/ExceptionInterface.php | 2 +- src/Exception/HttpException.php | 2 +- src/Exception/InvalidArgumentException.php | 2 +- src/Exception/NotFoundHttpException.php | 2 +- src/Exception/RuntimeException.php | 2 +- src/Exception/ServerErrorHttpException.php | 2 +- src/Exception/UnauthorizedHttpException.php | 2 +- .../UnprocessableEntityHttpException.php | 2 +- src/Pagination/Page.php | 4 +- src/Pagination/PageFactory.php | 4 +- src/Pagination/PageFactoryInterface.php | 2 +- src/Pagination/PageInterface.php | 2 +- src/Pagination/PaginationParameter.php | 2 +- src/Pagination/ResourceCursor.php | 2 +- src/Pagination/ResourceCursorFactory.php | 2 +- .../ResourceCursorFactoryInterface.php | 2 +- src/Pagination/ResourceCursorInterface.php | 2 +- src/Routing/UriGenerator.php | 4 +- src/Routing/UriGeneratorInterface.php | 2 +- src/Search/Operator.php | 2 +- src/Search/SearchBuilder.php | 2 +- src/Security/Authentication.php | 2 +- src/Stream/LineStreamReader.php | 2 +- src/Stream/MultipartStreamBuilderFactory.php | 2 +- src/Stream/UpsertResourceListResponse.php | 2 +- .../UpsertResourceListResponseFactory.php | 2 +- tests/Common/Api/ApiTestCase.php | 12 ++--- .../Attribute/CreateAttributeIntegration.php | 8 +-- .../Api/Attribute/GetAttributeIntegration.php | 6 +-- .../Attribute/ListAttributeIntegration.php | 8 +-- .../Attribute/UpsertAttributeIntegration.php | 8 +-- .../UpsertListAttributeIntegration.php | 4 +- .../CreateAttributeOptionIntegration.php | 10 ++-- .../GetAttributeOptionIntegration.php | 6 +-- .../ListAttributeOptionIntegration.php | 10 ++-- .../UpsertAttributeOptionIntegration.php | 10 ++-- .../Category/CreateCategoryIntegration.php | 8 +-- .../Api/Category/GetCategoryIntegration.php | 6 +-- .../Api/Category/ListCategoryIntegration.php | 8 +-- .../Category/UpsertCategoryIntegration.php | 8 +-- .../UpsertListCategoryIntegration.php | 4 +- .../Api/Channel/GetChannelApiIntegration.php | 6 +-- .../Api/Channel/ListChannelApiIntegration.php | 8 +-- .../Api/Family/CreateFamilyApiIntegration.php | 8 +-- .../Api/Family/GetFamilyApiIntegration.php | 6 +-- .../Api/Family/UpsertFamilyApiIntegration.php | 8 +-- .../Family/UpsertListFamilyApiIntegration.php | 4 +- .../Api/Locale/GetLocaleApiIntegration.php | 6 +-- .../Api/Locale/ListLocaleApiIntegration.php | 10 ++-- .../Product/AbstractProductApiTestCase.php | 6 +-- .../Product/CreateProductApiIntegration.php | 4 +- .../Product/DeleteProductApiIntegration.php | 4 +- .../Api/Product/GetProductApiIntegration.php | 4 +- .../Api/Product/ListProductApiIntegration.php | 6 +-- .../UpsertListProductApiIntegration.php | 2 +- .../Product/UpsertProductApiIntegration.php | 4 +- .../CreateProductMediaFileApiIntegration.php | 10 ++-- ...DownloadProductMediaFileApiIntegration.php | 4 +- .../GetProductMediaFileApiIntegration.php | 6 +-- .../ListProductMediaFileApiIntegration.php | 10 ++-- tests/ConsoleCommandLauncher.php | 2 +- tests/CredentialGenerator.php | 2 +- tests/DatabaseInstaller.php | 2 +- tests/DateSanitizer.php | 2 +- tests/MediaSanitizer.php | 2 +- tests/ValuesSanitizer.php | 2 +- .../Api/Family/GetFamilyApiIntegration.php | 4 +- .../Api/Family/ListFamilyApiIntegration.php | 8 +-- .../Product/CreateProductApiIntegration.php | 6 +-- .../Api/Product/GetProductApiIntegration.php | 4 +- .../Api/Product/ListProductApiIntegration.php | 10 ++-- .../Product/UpsertProductApiIntegration.php | 4 +- .../CreateAssociationTypeApiIntegration.php | 8 +-- .../GetAssociationTypeApiIntegration.php | 6 +-- .../ListAssociationTypeApiIntegration.php | 8 +-- .../UpsertAssociationTypeApiIntegration.php | 8 +-- ...psertListAssociationTypeApiIntegration.php | 4 +- .../CreateAttributeGroupApiIntegration.php | 8 +-- .../GetAttributeGroupIntegration.php | 6 +-- .../ListAttributeGroupIntegration.php | 8 +-- .../UpsertAttributeGroupApiIntegration.php | 8 +-- ...UpsertListAttributeGroupApiIntegration.php | 4 +- .../Channel/CreateChannelApiIntegration.php | 8 +-- .../Channel/UpsertChannelApiIntegration.php | 8 +-- .../UpsertListChannelApiIntegration.php | 4 +- .../Currency/GetCurrencyApiIntegration.php | 6 +-- .../Currency/ListCurrencyApiIntegration.php | 8 +-- .../Api/Family/GetFamilyApiIntegration.php | 4 +- .../Api/Family/ListFamilyApiIntegration.php | 8 +-- .../CreateFamilyVariantApiIntegration.php | 6 +-- .../GetFamilyVariantApiIntegration.php | 8 +-- .../ListFamilyVariantApiIntegration.php | 8 +-- .../UpsertFamilyVariantApiIntegration.php | 4 +- ...sertListOfFamilyVariantsApiIntegration.php | 4 +- .../GetMeasureFamilyIntegration.php | 6 +-- .../ListMeasureFamilyIntegration.php | 8 +-- .../Product/CreateProductApiIntegration.php | 6 +-- .../Api/Product/GetProductApiIntegration.php | 4 +- .../Api/Product/ListProductApiIntegration.php | 10 ++-- .../Product/UpsertProductApiIntegration.php | 4 +- .../CreateProductModelIntegration.php | 6 +-- .../GetProductModelApiIntegration.php | 6 +-- .../ListProductModelApiIntegration.php | 8 +-- ...UpsertListOfProductModelApiIntegration.php | 4 +- .../UpsertProductModelApiIntegration.php | 4 +- 189 files changed, 736 insertions(+), 736 deletions(-) diff --git a/README.md b/README.md index 8b73cbca..3e256869 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ If you don't have any client id, let's take a look at [this page](https://api.ak require_once __DIR__ . '/vendor/autoload.php'; -$clientBuilder = new \Akeneo\Pim\AkeneoPimClientBuilder('http://localhost/'); +$clientBuilder = new \Akeneo\Pim\ApiClient\AkeneoPimClientBuilder('http://localhost/'); $client = $clientBuilder->buildAuthenticatedByPassword('client_id', 'secret', 'admin', 'admin'); ``` @@ -69,7 +69,7 @@ echo $product['identifier']; // display "top" #### By getting pages ```php -$searchBuilder = new \Akeneo\Pim\Search\SearchBuilder(); +$searchBuilder = new \Akeneo\Pim\ApiClient\Search\SearchBuilder(); $searchBuilder->addFilter('enabled', '=', true); $searchFilters = $searchBuilder->getFilters(); @@ -90,7 +90,7 @@ $firstPage = $nextPage->getPreviousPage(); #### By getting a cursor ```php -$searchBuilder = new \Akeneo\Pim\Search\SearchBuilder(); +$searchBuilder = new \Akeneo\Pim\ApiClient\Search\SearchBuilder(); $searchBuilder->addFilter('enabled', '=', true); $searchFilters = $searchBuilder->getFilters(); diff --git a/composer.json b/composer.json index d2606658..6f240134 100644 --- a/composer.json +++ b/composer.json @@ -11,12 +11,12 @@ ], "autoload": { "psr-4": { - "Akeneo\\Pim\\": "src/" + "Akeneo\\Pim\\ApiClient\\": "src/" } }, "autoload-dev": { "psr-4": { - "Akeneo\\Pim\\tests\\": "tests/" + "Akeneo\\Pim\\ApiClient\\tests\\": "tests/" } }, "require": { diff --git a/phpspec.yml.dist b/phpspec.yml.dist index 2f0923db..6146ef55 100644 --- a/phpspec.yml.dist +++ b/phpspec.yml.dist @@ -1,5 +1,5 @@ ## Rename this file in phpspec.yml to customize the phpspec configuration suites: AkeneoPimClient: - namespace: Akeneo\Pim - psr4_prefix: Akeneo\Pim + namespace: Akeneo\Pim\ApiClient + psr4_prefix: Akeneo\Pim\ApiClient diff --git a/spec/AkeneoPimClientSpec.php b/spec/AkeneoPimClientSpec.php index 3d230560..f0ed5d8b 100644 --- a/spec/AkeneoPimClientSpec.php +++ b/spec/AkeneoPimClientSpec.php @@ -1,24 +1,24 @@ shouldHaveType(\Akeneo\Pim\Client\HttpClient::class); + $this->shouldHaveType(\Akeneo\Pim\ApiClient\Client\HttpClient::class); $this->shouldImplement(HttpClientInterface::class); } diff --git a/spec/Client/HttpExceptionHandlerSpec.php b/spec/Client/HttpExceptionHandlerSpec.php index 6da54bf7..87906632 100644 --- a/spec/Client/HttpExceptionHandlerSpec.php +++ b/spec/Client/HttpExceptionHandlerSpec.php @@ -1,14 +1,14 @@ beConstructedThrough('fromPassword', ['client_id', 'secret', 'Julia', 'Julia_pwd']); - $this->shouldHaveType('Akeneo\Pim\Security\Authentication'); + $this->shouldHaveType('Akeneo\Pim\ApiClient\Security\Authentication'); $this->getClientId()->shouldReturn('client_id'); $this->getSecret()->shouldReturn('secret'); @@ -22,7 +22,7 @@ function it_is_initializable_from_a_password() function it_is_initializable_from_a_token() { $this->beConstructedThrough('fromToken', ['client_id', 'secret', 'token', 'refresh_token']); - $this->shouldHaveType('Akeneo\Pim\Security\Authentication'); + $this->shouldHaveType('Akeneo\Pim\ApiClient\Security\Authentication'); $this->getClientId()->shouldReturn('client_id'); $this->getSecret()->shouldReturn('secret'); diff --git a/spec/Stream/LineStreamReaderSpec.php b/spec/Stream/LineStreamReaderSpec.php index 3baeba99..60ef02c0 100644 --- a/spec/Stream/LineStreamReaderSpec.php +++ b/spec/Stream/LineStreamReaderSpec.php @@ -1,8 +1,8 @@ diff --git a/tests/Common/Api/Product/CreateProductApiIntegration.php b/tests/Common/Api/Product/CreateProductApiIntegration.php index a05bcb30..2e35cf1c 100644 --- a/tests/Common/Api/Product/CreateProductApiIntegration.php +++ b/tests/Common/Api/Product/CreateProductApiIntegration.php @@ -1,11 +1,11 @@ Date: Tue, 28 Nov 2017 10:25:21 +0100 Subject: [PATCH 2/2] Move operations interfaces into a dedicated directory --- spec/Api/AssociationTypeApiSpec.php | 10 ++++++++-- spec/Api/AttributeApiSpec.php | 10 +++++++++- spec/Api/AttributeGroupApiSpec.php | 10 +++++++++- spec/Api/CategoryApiSpec.php | 13 +++++++------ spec/Api/ChannelApiSpec.php | 12 ++++++++++-- spec/Api/CurrencyApiSpec.php | 4 +++- spec/Api/FamilyApiSpec.php | 12 ++++++++++-- spec/Api/LocaleApiSpec.php | 2 +- spec/Api/MeasureFamilyApiSpec.php | 4 ++-- spec/Api/ProductApiSpec.php | 12 +++++++++++- spec/Api/ProductMediaFileApiSpec.php | 6 +++++- spec/Api/ProductModelApiSpec.php | 10 ++++++++++ src/Api/AssociationTypeApi.php | 2 -- src/Api/AssociationTypeApiInterface.php | 6 ++++++ src/Api/AttributeApiInterface.php | 6 ++++++ src/Api/AttributeGroupApiInterface.php | 6 ++++++ src/Api/CategoryApiInterface.php | 6 ++++++ src/Api/ChannelApiInterface.php | 6 ++++++ src/Api/CurrencyApiInterface.php | 3 +++ src/Api/FamilyApiInterface.php | 6 ++++++ src/Api/LocaleApiInterface.php | 3 +++ src/Api/MeasureFamilyApiInterface.php | 3 +++ src/Api/MediaFileApiInterface.php | 3 +++ .../{ => Operation}/CreatableResourceInterface.php | 2 +- .../{ => Operation}/DeletableResourceInterface.php | 2 +- .../DownloadableResourceInterface.php | 2 +- .../{ => Operation}/GettableResourceInterface.php | 2 +- .../{ => Operation}/ListableResourceInterface.php | 2 +- .../{ => Operation}/UpsertableResourceInterface.php | 2 +- .../UpsertableResourceListInterface.php | 2 +- src/Api/ProductApiInterface.php | 7 +++++++ src/Api/ProductModelApiInterface.php | 6 ++++++ 32 files changed, 153 insertions(+), 29 deletions(-) rename src/Api/{ => Operation}/CreatableResourceInterface.php (95%) rename src/Api/{ => Operation}/DeletableResourceInterface.php (92%) rename src/Api/{ => Operation}/DownloadableResourceInterface.php (92%) rename src/Api/{ => Operation}/GettableResourceInterface.php (92%) rename src/Api/{ => Operation}/ListableResourceInterface.php (97%) rename src/Api/{ => Operation}/UpsertableResourceInterface.php (95%) rename src/Api/{ => Operation}/UpsertableResourceListInterface.php (94%) diff --git a/spec/Api/AssociationTypeApiSpec.php b/spec/Api/AssociationTypeApiSpec.php index 2609630f..65f154d6 100644 --- a/spec/Api/AssociationTypeApiSpec.php +++ b/spec/Api/AssociationTypeApiSpec.php @@ -4,8 +4,11 @@ use Akeneo\Pim\ApiClient\Api\AssociationTypeApi; use Akeneo\Pim\ApiClient\Api\AssociationTypeApiInterface; -use Akeneo\Pim\ApiClient\Api\GettableResourceInterface; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; use Akeneo\Pim\ApiClient\Exception\InvalidArgumentException; use Akeneo\Pim\ApiClient\Pagination\PageFactoryInterface; @@ -31,6 +34,9 @@ function it_is_initializable() $this->shouldImplement(AssociationTypeApiInterface::class); $this->shouldImplement(GettableResourceInterface::class); $this->shouldImplement(ListableResourceInterface::class); + $this->shouldImplement(CreatableResourceInterface::class); + $this->shouldImplement(UpsertableResourceInterface::class); + $this->shouldImplement(UpsertableResourceListInterface::class); } function it_returns_an_association_type($resourceClient) diff --git a/spec/Api/AttributeApiSpec.php b/spec/Api/AttributeApiSpec.php index 6038bf37..cd7c7fe0 100644 --- a/spec/Api/AttributeApiSpec.php +++ b/spec/Api/AttributeApiSpec.php @@ -4,7 +4,11 @@ use Akeneo\Pim\ApiClient\Api\AttributeApi; use Akeneo\Pim\ApiClient\Api\AttributeApiInterface; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; use Akeneo\Pim\ApiClient\Exception\InvalidArgumentException; use Akeneo\Pim\ApiClient\Pagination\PageFactoryInterface; @@ -28,7 +32,11 @@ function it_is_initializable() { $this->shouldHaveType(AttributeApi::class); $this->shouldImplement(AttributeApiInterface::class); + $this->shouldImplement(GettableResourceInterface::class); $this->shouldImplement(ListableResourceInterface::class); + $this->shouldImplement(CreatableResourceInterface::class); + $this->shouldImplement(UpsertableResourceInterface::class); + $this->shouldImplement(UpsertableResourceListInterface::class); } function it_returns_an_attribute($resourceClient) diff --git a/spec/Api/AttributeGroupApiSpec.php b/spec/Api/AttributeGroupApiSpec.php index 64b669f6..47517489 100644 --- a/spec/Api/AttributeGroupApiSpec.php +++ b/spec/Api/AttributeGroupApiSpec.php @@ -4,7 +4,11 @@ use Akeneo\Pim\ApiClient\Api\AttributeGroupApi; use Akeneo\Pim\ApiClient\Api\AttributeGroupApiInterface; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; use Akeneo\Pim\ApiClient\Exception\InvalidArgumentException; use Akeneo\Pim\ApiClient\Pagination\PageFactoryInterface; @@ -28,7 +32,11 @@ function it_is_initializable() { $this->shouldHaveType(AttributeGroupApi::class); $this->shouldImplement(AttributeGroupApiInterface::class); + $this->shouldImplement(GettableResourceInterface::class); $this->shouldImplement(ListableResourceInterface::class); + $this->shouldImplement(CreatableResourceInterface::class); + $this->shouldImplement(UpsertableResourceInterface::class); + $this->shouldImplement(UpsertableResourceListInterface::class); } function it_returns_an_attribute_group($resourceClient) diff --git a/spec/Api/CategoryApiSpec.php b/spec/Api/CategoryApiSpec.php index e2d2014e..bca886df 100644 --- a/spec/Api/CategoryApiSpec.php +++ b/spec/Api/CategoryApiSpec.php @@ -4,17 +4,17 @@ use Akeneo\Pim\ApiClient\Api\CategoryApi; use Akeneo\Pim\ApiClient\Api\CategoryApiInterface; -use Akeneo\Pim\ApiClient\Api\CreatableResourceInterface; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; -use Akeneo\Pim\ApiClient\Api\UpsertableResourceInterface; -use Akeneo\Pim\ApiClient\Api\UpsertableResourceListInterface; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; use Akeneo\Pim\ApiClient\Exception\InvalidArgumentException; use Akeneo\Pim\ApiClient\Pagination\PageFactoryInterface; use Akeneo\Pim\ApiClient\Pagination\PageInterface; use Akeneo\Pim\ApiClient\Pagination\ResourceCursorFactoryInterface; use Akeneo\Pim\ApiClient\Pagination\ResourceCursorInterface; -use Akeneo\Pim\ApiClient\Routing\Route; use Akeneo\Pim\ApiClient\Stream\UpsertResourceListResponse; use PhpSpec\ObjectBehavior; @@ -31,9 +31,10 @@ function it_is_initializable() { $this->shouldHaveType(CategoryApi::class); $this->shouldImplement(CategoryApiInterface::class); + $this->shouldImplement(GettableResourceInterface::class); $this->shouldImplement(ListableResourceInterface::class); - $this->shouldImplement(UpsertableResourceInterface::class); $this->shouldImplement(CreatableResourceInterface::class); + $this->shouldImplement(UpsertableResourceInterface::class); $this->shouldImplement(UpsertableResourceListInterface::class); } diff --git a/spec/Api/ChannelApiSpec.php b/spec/Api/ChannelApiSpec.php index 497a0263..e8e7c3c4 100644 --- a/spec/Api/ChannelApiSpec.php +++ b/spec/Api/ChannelApiSpec.php @@ -4,11 +4,15 @@ use Akeneo\Pim\ApiClient\Api\ChannelApi; use Akeneo\Pim\ApiClient\Api\ChannelApiInterface; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; use Akeneo\Pim\ApiClient\Exception\InvalidArgumentException; -use Akeneo\Pim\ApiClient\Pagination\PageInterface; use Akeneo\Pim\ApiClient\Pagination\PageFactoryInterface; +use Akeneo\Pim\ApiClient\Pagination\PageInterface; use Akeneo\Pim\ApiClient\Pagination\ResourceCursorFactoryInterface; use Akeneo\Pim\ApiClient\Pagination\ResourceCursorInterface; use Akeneo\Pim\ApiClient\Stream\UpsertResourceListResponse; @@ -28,7 +32,11 @@ function it_is_initializable() { $this->shouldHaveType(ChannelApi::class); $this->shouldImplement(ChannelApiInterface::class); + $this->shouldImplement(GettableResourceInterface::class); $this->shouldImplement(ListableResourceInterface::class); + $this->shouldImplement(CreatableResourceInterface::class); + $this->shouldImplement(UpsertableResourceInterface::class); + $this->shouldImplement(UpsertableResourceListInterface::class); } function it_returns_a_channel($resourceClient) diff --git a/spec/Api/CurrencyApiSpec.php b/spec/Api/CurrencyApiSpec.php index 5c9f6b91..6e7e198f 100644 --- a/spec/Api/CurrencyApiSpec.php +++ b/spec/Api/CurrencyApiSpec.php @@ -4,7 +4,8 @@ use Akeneo\Pim\ApiClient\Api\CurrencyApi; use Akeneo\Pim\ApiClient\Api\CurrencyApiInterface; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; use Akeneo\Pim\ApiClient\Pagination\PageFactoryInterface; use Akeneo\Pim\ApiClient\Pagination\PageInterface; @@ -26,6 +27,7 @@ function it_is_initializable() { $this->shouldHaveType(CurrencyApi::class); $this->shouldImplement(CurrencyApiInterface::class); + $this->shouldImplement(GettableResourceInterface::class); $this->shouldImplement(ListableResourceInterface::class); } diff --git a/spec/Api/FamilyApiSpec.php b/spec/Api/FamilyApiSpec.php index 99ee7020..f6ca401d 100644 --- a/spec/Api/FamilyApiSpec.php +++ b/spec/Api/FamilyApiSpec.php @@ -4,11 +4,15 @@ use Akeneo\Pim\ApiClient\Api\FamilyApi; use Akeneo\Pim\ApiClient\Api\FamilyApiInterface; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; use Akeneo\Pim\ApiClient\Exception\InvalidArgumentException; -use Akeneo\Pim\ApiClient\Pagination\PageInterface; use Akeneo\Pim\ApiClient\Pagination\PageFactoryInterface; +use Akeneo\Pim\ApiClient\Pagination\PageInterface; use Akeneo\Pim\ApiClient\Pagination\ResourceCursorFactoryInterface; use Akeneo\Pim\ApiClient\Pagination\ResourceCursorInterface; use Akeneo\Pim\ApiClient\Stream\UpsertResourceListResponse; @@ -28,7 +32,11 @@ function it_is_initializable() { $this->shouldHaveType(FamilyApi::class); $this->shouldImplement(FamilyApiInterface::class); + $this->shouldImplement(GettableResourceInterface::class); $this->shouldImplement(ListableResourceInterface::class); + $this->shouldImplement(CreatableResourceInterface::class); + $this->shouldImplement(UpsertableResourceInterface::class); + $this->shouldImplement(UpsertableResourceListInterface::class); } function it_returns_a_family($resourceClient) diff --git a/spec/Api/LocaleApiSpec.php b/spec/Api/LocaleApiSpec.php index aa44d595..ba6ad00b 100644 --- a/spec/Api/LocaleApiSpec.php +++ b/spec/Api/LocaleApiSpec.php @@ -2,9 +2,9 @@ namespace spec\Akeneo\Pim\ApiClient\Api; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; use Akeneo\Pim\ApiClient\Api\LocaleApi; use Akeneo\Pim\ApiClient\Api\LocaleApiInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; use Akeneo\Pim\ApiClient\Pagination\PageInterface; use Akeneo\Pim\ApiClient\Pagination\PageFactoryInterface; diff --git a/spec/Api/MeasureFamilyApiSpec.php b/spec/Api/MeasureFamilyApiSpec.php index d4fe7f7f..91255a11 100644 --- a/spec/Api/MeasureFamilyApiSpec.php +++ b/spec/Api/MeasureFamilyApiSpec.php @@ -2,10 +2,10 @@ namespace spec\Akeneo\Pim\ApiClient\Api; -use Akeneo\Pim\ApiClient\Api\GettableResourceInterface; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; use Akeneo\Pim\ApiClient\Api\MeasureFamilyApi; use Akeneo\Pim\ApiClient\Api\MeasureFamilyApiInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; use Akeneo\Pim\ApiClient\Pagination\PageFactoryInterface; use Akeneo\Pim\ApiClient\Pagination\PageInterface; diff --git a/spec/Api/ProductApiSpec.php b/spec/Api/ProductApiSpec.php index 9b0b3221..34c23a6f 100644 --- a/spec/Api/ProductApiSpec.php +++ b/spec/Api/ProductApiSpec.php @@ -2,7 +2,12 @@ namespace spec\Akeneo\Pim\ApiClient\Api; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\DeletableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; use Akeneo\Pim\ApiClient\Api\ProductApi; use Akeneo\Pim\ApiClient\Api\ProductApiInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; @@ -28,7 +33,12 @@ function it_is_initializable() { $this->shouldHaveType(ProductApi::class); $this->shouldImplement(ProductApiInterface::class); + $this->shouldImplement(GettableResourceInterface::class); $this->shouldImplement(ListableResourceInterface::class); + $this->shouldImplement(CreatableResourceInterface::class); + $this->shouldImplement(UpsertableResourceInterface::class); + $this->shouldImplement(UpsertableResourceListInterface::class); + $this->shouldImplement(DeletableResourceInterface::class); } function it_returns_a_product($resourceClient) diff --git a/spec/Api/ProductMediaFileApiSpec.php b/spec/Api/ProductMediaFileApiSpec.php index 3054ec7b..ca3c2724 100644 --- a/spec/Api/ProductMediaFileApiSpec.php +++ b/spec/Api/ProductMediaFileApiSpec.php @@ -2,7 +2,9 @@ namespace spec\Akeneo\Pim\ApiClient\Api; -use Akeneo\Pim\ApiClient\Api\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\DownloadableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; use Akeneo\Pim\ApiClient\Api\ProductMediaFileApi; use Akeneo\Pim\ApiClient\Api\MediaFileApiInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; @@ -29,7 +31,9 @@ function it_is_initializable() { $this->shouldHaveType(ProductMediaFileApi::class); $this->shouldImplement(MediaFileApiInterface::class); + $this->shouldImplement(GettableResourceInterface::class); $this->shouldImplement(ListableResourceInterface::class); + $this->shouldImplement(DownloadableResourceInterface::class); } function it_returns_a_media_file($resourceClient) diff --git a/spec/Api/ProductModelApiSpec.php b/spec/Api/ProductModelApiSpec.php index 1e2d215c..e8c157f4 100644 --- a/spec/Api/ProductModelApiSpec.php +++ b/spec/Api/ProductModelApiSpec.php @@ -2,6 +2,11 @@ namespace spec\Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; use Akeneo\Pim\ApiClient\Api\ProductModelApi; use Akeneo\Pim\ApiClient\Api\ProductModelApiInterface; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; @@ -27,6 +32,11 @@ function it_is_initializable() { $this->shouldHaveType(ProductModelApi::class); $this->shouldImplement(ProductModelApiInterface::class); + $this->shouldImplement(GettableResourceInterface::class); + $this->shouldImplement(ListableResourceInterface::class); + $this->shouldImplement(CreatableResourceInterface::class); + $this->shouldImplement(UpsertableResourceInterface::class); + $this->shouldImplement(UpsertableResourceListInterface::class); } function it_returns_a_product_model($resourceClient) diff --git a/src/Api/AssociationTypeApi.php b/src/Api/AssociationTypeApi.php index a947fab1..188ef67f 100644 --- a/src/Api/AssociationTypeApi.php +++ b/src/Api/AssociationTypeApi.php @@ -3,11 +3,9 @@ namespace Akeneo\Pim\ApiClient\Api; use Akeneo\Pim\ApiClient\Client\ResourceClientInterface; -use Akeneo\Pim\ApiClient\Exception\HttpException; use Akeneo\Pim\ApiClient\Exception\InvalidArgumentException; use Akeneo\Pim\ApiClient\Pagination\PageFactoryInterface; use Akeneo\Pim\ApiClient\Pagination\ResourceCursorFactoryInterface; -use Psr\Http\Message\StreamInterface; /** * @author Philippe Mossière diff --git a/src/Api/AssociationTypeApiInterface.php b/src/Api/AssociationTypeApiInterface.php index 3a6e9edc..d23c0e5a 100644 --- a/src/Api/AssociationTypeApiInterface.php +++ b/src/Api/AssociationTypeApiInterface.php @@ -2,6 +2,12 @@ namespace Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; + /** * API to manage association types. * diff --git a/src/Api/AttributeApiInterface.php b/src/Api/AttributeApiInterface.php index 463ff6e2..9ad34179 100644 --- a/src/Api/AttributeApiInterface.php +++ b/src/Api/AttributeApiInterface.php @@ -2,6 +2,12 @@ namespace Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; + /** * API to manage the attributes. * diff --git a/src/Api/AttributeGroupApiInterface.php b/src/Api/AttributeGroupApiInterface.php index 6fb13ea4..cc8b5bd1 100644 --- a/src/Api/AttributeGroupApiInterface.php +++ b/src/Api/AttributeGroupApiInterface.php @@ -2,6 +2,12 @@ namespace Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; + /** * API to manage the attributes. * diff --git a/src/Api/CategoryApiInterface.php b/src/Api/CategoryApiInterface.php index 4b06c5fc..1e5ae9b6 100644 --- a/src/Api/CategoryApiInterface.php +++ b/src/Api/CategoryApiInterface.php @@ -2,6 +2,12 @@ namespace Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; + /** * API to manage the categories. * diff --git a/src/Api/ChannelApiInterface.php b/src/Api/ChannelApiInterface.php index a0f43faf..faebf3d7 100644 --- a/src/Api/ChannelApiInterface.php +++ b/src/Api/ChannelApiInterface.php @@ -2,6 +2,12 @@ namespace Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; + /** * API to manage the channels. * diff --git a/src/Api/CurrencyApiInterface.php b/src/Api/CurrencyApiInterface.php index b3815047..aae2a6a3 100644 --- a/src/Api/CurrencyApiInterface.php +++ b/src/Api/CurrencyApiInterface.php @@ -2,6 +2,9 @@ namespace Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; + /** * API to manage currencies. * diff --git a/src/Api/FamilyApiInterface.php b/src/Api/FamilyApiInterface.php index e92078ed..9a34220f 100644 --- a/src/Api/FamilyApiInterface.php +++ b/src/Api/FamilyApiInterface.php @@ -2,6 +2,12 @@ namespace Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\CreatableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\UpsertableResourceListInterface; + /** * API to manage the families. * diff --git a/src/Api/LocaleApiInterface.php b/src/Api/LocaleApiInterface.php index be282b85..deac7873 100644 --- a/src/Api/LocaleApiInterface.php +++ b/src/Api/LocaleApiInterface.php @@ -2,6 +2,9 @@ namespace Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; + /** * API to manage the locales. * diff --git a/src/Api/MeasureFamilyApiInterface.php b/src/Api/MeasureFamilyApiInterface.php index 05c634f1..46ed2164 100644 --- a/src/Api/MeasureFamilyApiInterface.php +++ b/src/Api/MeasureFamilyApiInterface.php @@ -2,6 +2,9 @@ namespace Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; + /** * API to manage the measure families. * diff --git a/src/Api/MediaFileApiInterface.php b/src/Api/MediaFileApiInterface.php index 218b0dfe..70307c13 100644 --- a/src/Api/MediaFileApiInterface.php +++ b/src/Api/MediaFileApiInterface.php @@ -2,6 +2,9 @@ namespace Akeneo\Pim\ApiClient\Api; +use Akeneo\Pim\ApiClient\Api\Operation\DownloadableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\GettableResourceInterface; +use Akeneo\Pim\ApiClient\Api\Operation\ListableResourceInterface; use Akeneo\Pim\ApiClient\Exception\HttpException; use Akeneo\Pim\ApiClient\Exception\RuntimeException; diff --git a/src/Api/CreatableResourceInterface.php b/src/Api/Operation/CreatableResourceInterface.php similarity index 95% rename from src/Api/CreatableResourceInterface.php rename to src/Api/Operation/CreatableResourceInterface.php index e5d654d6..ee1b843a 100644 --- a/src/Api/CreatableResourceInterface.php +++ b/src/Api/Operation/CreatableResourceInterface.php @@ -1,6 +1,6 @@