diff --git a/config/feed_routing.php b/config/feed_routing.php index b3ecc79..5896fb8 100644 --- a/config/feed_routing.php +++ b/config/feed_routing.php @@ -16,7 +16,6 @@ ->controller(['webgriffe_sylius_clerk_plugin.controller.feed', '__invoke']) ->methods(['GET']) ->requirements([ - 'channelCode' => '\d+', 'localeCode' => '^[A-Za-z]{2,4}(_([A-Za-z]{4}|[0-9]{3}))?(_([A-Za-z]{2}|[0-9]{3}))?$', 'resourceValue' => class_exists(EnumRequirement::class) ? new EnumRequirement(Resource::class) : 'products|categories|orders|customers|pages', ]) diff --git a/config/services/generator.php b/config/services/generator.php index 9796fed..989d08f 100644 --- a/config/services/generator.php +++ b/config/services/generator.php @@ -31,6 +31,7 @@ ->args([ service('webgriffe_sylius_clerk_plugin.provider.products'), service('serializer'), + service('webgriffe_sylius_clerk_plugin.logger'), 'products', ]) ; @@ -39,6 +40,7 @@ ->args([ service('webgriffe_sylius_clerk_plugin.provider.categories'), service('serializer'), + service('webgriffe_sylius_clerk_plugin.logger'), 'categories', ]) ; @@ -47,6 +49,7 @@ ->args([ service('webgriffe_sylius_clerk_plugin.provider.orders'), service('serializer'), + service('webgriffe_sylius_clerk_plugin.logger'), 'orders', ]) ; @@ -55,6 +58,7 @@ ->args([ service('webgriffe_sylius_clerk_plugin.provider.customers'), service('serializer'), + service('webgriffe_sylius_clerk_plugin.logger'), 'customers', ]) ; @@ -63,6 +67,7 @@ ->args([ service('webgriffe_sylius_clerk_plugin.provider.pages'), service('serializer'), + service('webgriffe_sylius_clerk_plugin.logger'), 'pages', ]) ; diff --git a/src/DataSyncInfrastructure/Generator/ResourceFeedGenerator.php b/src/DataSyncInfrastructure/Generator/ResourceFeedGenerator.php index 0ed2517..980d74f 100644 --- a/src/DataSyncInfrastructure/Generator/ResourceFeedGenerator.php +++ b/src/DataSyncInfrastructure/Generator/ResourceFeedGenerator.php @@ -39,6 +39,14 @@ public function generate( /** @var object[] $feedObjects */ $feedObjects = $this->resourceProvider->provide($channel, $localeCode, $modifiedAfter, $limit, $offset); + $this->logger->debug( + sprintf( + 'Found %d objects for the %s feed', + count($feedObjects), + $this->resource->value, + ), + ); + $payload = []; foreach ($feedObjects as $feedObject) { try { diff --git a/src/DataSyncInfrastructure/Provider/PagesProvider.php b/src/DataSyncInfrastructure/Provider/PagesProvider.php index 07b3cc7..f821dfa 100644 --- a/src/DataSyncInfrastructure/Provider/PagesProvider.php +++ b/src/DataSyncInfrastructure/Provider/PagesProvider.php @@ -15,8 +15,7 @@ * url: string, * title: string, * text: string, - * image?: string, - * }> + * }&array> */ final readonly class PagesProvider implements ResourceProviderInterface { @@ -28,8 +27,7 @@ * routeParameters: array, * title: string, * text: string, - * image?: string, - * }> $pages + * }&array> $pages */ public function __construct( private UrlGeneratorInterface $urlGenerator, @@ -47,16 +45,10 @@ public function provide( $pagesData = []; foreach ($this->pages as $page) { $pageData = [ - 'id' => $page['id'], - 'type' => $page['type'], 'url' => $this->getPageUrl($page, $channel, $localeCode), - 'title' => $page['title'], - 'text' => $page['text'], ]; - if (array_key_exists('image', $page)) { - $pageData['image'] = $page['image']; - } - $pagesData[] = $pageData; + unset($page['routeName'], $page['routeParameters']); + $pagesData[] = array_merge($page, $pageData); } return $pagesData; @@ -70,8 +62,7 @@ public function provide( * routeParameters: array, * title: string, * text: string, - * image?: string, - * } $page + * }&array $page */ public function getPageUrl(array $page, ChannelInterface $channel, string $localeCode): string { diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index 4ca3681..ce67672 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -98,9 +98,6 @@ public function getConfigTreeBuilder(): TreeBuilder ->scalarNode('text') ->isRequired() ->end() - ->scalarNode('image') - ->defaultNull() - ->end() ->end() ->end() ->end() diff --git a/src/DependencyInjection/WebgriffeSyliusClerkExtension.php b/src/DependencyInjection/WebgriffeSyliusClerkExtension.php index 23e1619..6e25996 100644 --- a/src/DependencyInjection/WebgriffeSyliusClerkExtension.php +++ b/src/DependencyInjection/WebgriffeSyliusClerkExtension.php @@ -28,7 +28,7 @@ public function load(array $configs, ContainerBuilder $container): void $apiKeysProviderServiceDefinition->setArgument('$storesConfiguration', $config['stores']); $feedController = $container->getDefinition('webgriffe_sylius_clerk_plugin.controller.feed'); - $feedController->setArgument('$isTokenAuthenticationEnabled', $config['storage_feed_path']); + $feedController->setArgument('$isTokenAuthenticationEnabled', $config['token_authentication_enabled']); $generateFeedCommand = $container->getDefinition('webgriffe_sylius_clerk.command.generate_feed'); $generateFeedCommand->setArgument('$storagePath', $config['storage_feed_path']); diff --git a/tests/Application/.env b/tests/Application/.env index 5cf27ee..0cf92aa 100644 --- a/tests/Application/.env +++ b/tests/Application/.env @@ -31,3 +31,5 @@ MAILER_DSN=null://null MESSENGER_TRANSPORT_DSN=doctrine://default # MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages ###< symfony/messenger ### + +WEBGRIFFE_SYLIUS_CLERK_PLUGIN_TOKEN_AUTHENTICATION_ENABLED=true diff --git a/tests/Application/config/packages/webgriffe_sylius_clerk_plugin.yaml b/tests/Application/config/packages/webgriffe_sylius_clerk_plugin.yaml index 8683458..b6530a1 100644 --- a/tests/Application/config/packages/webgriffe_sylius_clerk_plugin.yaml +++ b/tests/Application/config/packages/webgriffe_sylius_clerk_plugin.yaml @@ -5,7 +5,7 @@ webgriffe_sylius_clerk: storage_feed_path: '%kernel.project_dir%/public/feed/clerk.io' image_type: 'main' image_filter_to_apply: 'sylius_medium' - token_authentication_enabled: true + token_authentication_enabled: '%env(bool:WEBGRIFFE_SYLIUS_CLERK_PLUGIN_TOKEN_AUTHENTICATION_ENABLED)%' stores: - channel_code: WEB-US public_api_key: public-key @@ -19,4 +19,4 @@ webgriffe_sylius_clerk: routeParameters: [] title: 'Homepage' text: 'Welcome to our store!' - image: null +