-
The following classes were removed:
Sylius\Bundle\ApiBundle\EventListener\PostgreSQLDriverExceptionListener
-
The following services were removed:
sylius.listener.api_postgresql_driver_exception_listener
-
Non-prefix serialization groups in Sylius resources have been removed. If you have extended any of them, you must prefix them with
sylius:
, for example:- #[Groups(['admin:product:index'])] + #[Groups(['sylius:admin:product:index'])]
-
API Platform has dropped
DataProviders
andDataPersisters
in favor ofProviders
andProcessors
, respectively. Due to this change, Sylius customDataProviders
andDataPersisters
have been adapted to the new API Platform interfaces and their namespaced have been changed toStateProvider
andStateProcessor
respectively:
Sylius\Bundle\ApiBundle\DataPersister\*DataPersister
=>Sylius\Bundle\ApiBundle\StateProcessor\*Processor
Sylius\Bundle\ApiBundle\DataProvider\*DataProvider
=>Sylius\Bundle\ApiBundle\StateProvider\*Provider
- API Platform has also dropped
DataTransformers
in favor of whichsome of them
have been refactored intoSerializerContextBuilders
as follows:
Sylius\Bundle\ApiBundle\DataTransformer\ChannelCodeAwareInputCommandDataTransformer
=>Sylius\Bundle\ApiBundle\SerializerContextBuilder\ChannelCodeAwareContextBuilder
Sylius\Bundle\ApiBundle\DataTransformer\LocaleCodeAwareInputCommandDataTransformer
=>Sylius\Bundle\ApiBundle\SerializerContextBuilder\LocaleCodeAwareContextBuilder
Sylius\Bundle\ApiBundle\DataTransformer\LoggedInCustomerEmailIfNotSetAwareCommandDataTransformer
=>Sylius\Bundle\ApiBundle\SerializerContextBuilder\LoggedInCustomerEmailIfNotSetAwareContextBuilder
Sylius\Bundle\ApiBundle\DataTransformer\LoggedInShopUserIdAwareCommandDataTransformer
=>Sylius\Bundle\ApiBundle\SerializerContextBuilder\ChannelCodeAwareContextBuilder
- The constructor of
Sylius\Bundle\ApiBundle\Command\Account\RegisterShopUser
has been changed:
public function __construct(
- public string $firstName,
- public string $lastName,
- public string $email,
- public string $password,
- public bool $subscribedToNewsletter = false,
+ protected string $firstName,
+ protected string $lastName,
+ protected string $email,
+ protected string $password,
+ protected ?string $channelCode,
+ protected ?string $localeCode,
+ protected bool $subscribedToNewsletter = false,
) {
}
- The constructor of
Sylius\Bundle\ApiBundle\Command\Account\RequestResetPasswordToken
has been changed:
public function __construct(
- public string $email,
+ protected string $email,
+ protected ?string $channelCode,
+ protected ?string $localeCode,
) {
}
- The constructor of
Sylius\Bundle\ApiBundle\Command\SendContactRequest
has been changed:
public function __construct(
- private ?string $email = null,
- private ?string $message = null,
+ protected ?string $channelCode,
+ protected ?string $localeCode,
+ protected ?string $email = null,
+ protected ?string $message = null,
) {
}
- The constructor of
Sylius\Bundle\ApiBundle\Command\Account\VerifyShopUser
has been changed:
public function __construct(
- public string $token,
- private ?string $localeCode = null,
- private ?string $channelCode = null,
+ protected string $token,
+ protected string $channelCode,
+ protected string $localeCode,
) {
}
- The constructor of
Sylius\Bundle\ApiBundle\Command\Account\ChangeShopUserPassword
has been changed:
public function __construct(
- public ?string $newPassword,
- public ?string $confirmNewPassword,
- public ?string $currentPassword,
+ protected mixed $shopUserId,
+ protected string $newPassword,
+ protected string $confirmNewPassword,
+ protected string $currentPassword,
) {
}
- The constructor of
Sylius\Bundle\ApiBundle\Command\Account\RequestShopUserVerification
has been created:
public function __construct(
+ protected string|int|null $shopUserId,
+ protected ?string $channelCode,
+ protected ?string $localeCode,
) {
}
All the setter
methods have been removed from the commands above and also there are some new getter
methods accordingly to arguments visibility changes.
- The parameter type and order of the
Sylius\Bundle\ApiBundle\Controller\UploadAvatarImageAction::__construct
has been changed:
public function __construct(
private FactoryInterface $avatarImageFactory,
private AvatarImageRepositoryInterface $avatarImageRepository,
- private ImageUploaderInterface $imageUploader,
- private IriConverterInterface $iriConverter,
+ private RepositoryInterface $adminUserRepository,
+ private ImageUploaderInterface $imageUploader,
)
-
Updated API routes related to avatar management:
Previous Routes:
'GET' - /api/v2/admin/avatar-images/{id}
'POST' - /api/v2/admin/avatar-images
'DELETE' - /api/v2/admin/avatar-images/{id}
New Routes:
'GET' - /api/v2/admin/administrators/{id}/avatar-image
'POST' - /api/v2/admin/administrators/{id}/avatar-image
'DELETE' - /api/v2/admin/administrators/{id}/avatar-image
-
Updated API routes related to shop user management:
Previous Routes:
'POST' - /api/v2/shop/reset-password-requests
'PATCH' - /api/v2/shop/reset-password-requests/{resetPasswordToken}
'POST' - /api/v2/shop/account-verification-requests
'PATCH - /api/v2/shop/account-verification-requests/{token}
New Routes:
'POST' - /api/v2/shop/reset-password
'PATCH' - /api/v2/shop/reset-password/{resetPasswordToken}
'POST' - /api/v2/shop/verify-shop-user
'PATCH' - /api/v2/shop/verify-shop-user/{token}
-
Updated API routes related to admin user management:
Previous Routes:
'POST' - /api/v2/admin/reset-password-requests
'PATCH' - /api/v2/admin/reset-password-requests/{resetPasswordToken}
New Routes:
'POST' - /api/v2/admin/reset-password
'PATCH' - /api/v2/admin/reset-password/{resetPasswordToken}
-
The
getCurrentPrefix
method has been removed from theSylius\Bundle\ApiBundle\Provider\PathPrefixProviderInterface
. -
The
Sylius\Bundle\ApiBundle\Provider\PathPrefixProvider
constructor has been changed due to refactor. Now, we provide the list of possible prefixes that we check in this service. This list can be set under the parameter:sylius.api_path_prefixes
.public function __construct( - private UserContextInterface $userContext, private string $apiRoute, + private array $pathPrefixes, ) { ... }
-
The signature of method
applyToCollection
of the following classes has been changed:Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\AcceptedProductReviewsExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\AddressesExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\AvailableProductAssociationsInProductCollectionExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\CountryCollectionExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\CurrencyCollectionExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\EnabledProductVariantsExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\HideArchivedShippingMethodExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\LocaleCollectionExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\OrdersByChannelExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\OrdersByLoggedInUserExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\ProductsByChannelAndLocaleCodeExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\ProductsByTaxonExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\ProductsWithEnableFlagExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\ProductsWithEnableFlagExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\RestrictingFilterEagerLoadingExtension
Sylius\Bundle\ApiBundle\Doctrine\QueryCollectionExtension\TaxonCollectionExtension
public function applyToCollection(
QueryBuilder $queryBuilder,
QueryNameGeneratorInterface $queryNameGenerator,
string $resourceClass,
- string $operationName = null,
+ \ApiPlatform\Metadata\Operation $operation = null,
array $context = [],
): void;
-
The
Sylius\Bundle\ApiBundle\OpenApi\Documentation\PathHiderDocumentationModifier
class and service have been removed. Thesylius.api.paths_to_hide
parameter used in this class has also been removed. We recommend defining endpoints with theApiPlatform\Metadata\NotExposed
class to hide specific operations. -
The following parameters have been renamed:
Old parameter New parameter sylius.security.new_api_route
sylius.security.api_route
sylius.security.new_api_regex
sylius.security.api_regex
sylius.security.new_api_admin_route
sylius.security.api_admin_route
sylius.security.new_api_admin_regex
sylius.security.api_admin_regex
sylius.security.new_api_shop_route
sylius.security.api_shop_route
sylius.security.new_api_shop_regex
sylius.security.api_shop_regex
sylius.security.new_api_user_account_route
sylius.security.api_shop_account_route
sylius.security.new_api_user_account_regex
sylius.security.api_shop_account_regex
-
The following configuration parameters have been removed:
sylius_api.legacy_error_handling
sylius_api.serialization_groups.skip_adding_read_group
sylius_api.serialization_groups.skip_adding_index_and_show_groups