From 8c38820be9f2d2c0fe1354b1ff9fdb73b3895bd4 Mon Sep 17 00:00:00 2001 From: Nicolas Thal Date: Thu, 5 Oct 2017 17:22:09 +0200 Subject: [PATCH 1/2] configure resource log query --- composer.json | 2 +- src/Cdn77Bundle/DependencyInjection/Configuration.php | 1 + .../DependencyInjection/DekaleeCdn77Extension.php | 2 ++ src/Cdn77Bundle/Resources/config/query.yml | 9 +++++++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index bac08bc..8faf815 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "require": { "symfony/framework-bundle": "~2.3|~3.0", "symfony/console": "~2.3|~3.0", - "dekalee/cdn77": "~1" + "dekalee/cdn77": "~1.2" }, "suggest": { "eightpoints/guzzle-bundle": "To enable guzzle query debugging" diff --git a/src/Cdn77Bundle/DependencyInjection/Configuration.php b/src/Cdn77Bundle/DependencyInjection/Configuration.php index 85a2295..37a8a22 100644 --- a/src/Cdn77Bundle/DependencyInjection/Configuration.php +++ b/src/Cdn77Bundle/DependencyInjection/Configuration.php @@ -30,6 +30,7 @@ public function getConfigTreeBuilder() ->scalarNode('create')->end() ->scalarNode('purge')->end() ->scalarNode('purge_all')->end() + ->scalarNode('resource_log')->end() ->end() ->end() ->end(); diff --git a/src/Cdn77Bundle/DependencyInjection/DekaleeCdn77Extension.php b/src/Cdn77Bundle/DependencyInjection/DekaleeCdn77Extension.php index 5cbcb5b..450b804 100644 --- a/src/Cdn77Bundle/DependencyInjection/DekaleeCdn77Extension.php +++ b/src/Cdn77Bundle/DependencyInjection/DekaleeCdn77Extension.php @@ -6,6 +6,7 @@ use Dekalee\Cdn77\Query\ListResourcesQuery; use Dekalee\Cdn77\Query\PurgeAllQuery; use Dekalee\Cdn77\Query\PurgeFileQuery; +use Dekalee\Cdn77\Query\ResourceLogQuery; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; @@ -35,6 +36,7 @@ public function load(array $configs, ContainerBuilder $container) 'purge' => PurgeFileQuery::URL, 'purge_all' => PurgeAllQuery::URL, 'create' => CreateResourceQuery::URL, + 'resource_log' => ResourceLogQuery::URL, ] as $queryType => $url) { if (array_key_exists($queryType, $config['url'])) { $url = $config['url'][$queryType]; diff --git a/src/Cdn77Bundle/Resources/config/query.yml b/src/Cdn77Bundle/Resources/config/query.yml index 78dc072..f866095 100644 --- a/src/Cdn77Bundle/Resources/config/query.yml +++ b/src/Cdn77Bundle/Resources/config/query.yml @@ -3,6 +3,7 @@ parameters: dekalee_cdn77.query.purge_file.class: Dekalee\Cdn77\Query\PurgeFileQuery dekalee_cdn77.query.purge_all.class: Dekalee\Cdn77\Query\PurgeAllQuery dekalee_cdn77.query.create_resource.class: Dekalee\Cdn77\Query\CreateResourceQuery + dekalee_cdn77.query.resource_log.class: Dekalee\Cdn77\Query\ResourceLogQuery services: dekalee_cdn77.query.list_resources: @@ -35,3 +36,11 @@ services: - '%dekalee_cdn77.api.password%' - '%dekalee_cdn77.url.create%' - '@guzzle.client.cdn77' + dekalee_cdn77.query.resource_log: + class: '%dekalee_cdn77.query.resource_log.class%' + arguments: + - '@dekalee_cdn77.query.list_resources' + - '%dekalee_cdn77.api.login%' + - '%dekalee_cdn77.api.password%' + - '%dekalee_cdn77.url.resource_log%' + - '@guzzle.client.cdn77' From 116fe35e095e7670e3244bf310e6843bfbd2388e Mon Sep 17 00:00:00 2001 From: Nicolas Thal Date: Thu, 5 Oct 2017 17:25:16 +0200 Subject: [PATCH 2/2] list all the file stored in the logs --- .../Command/PathLoggedForResourceCommand.php | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/Cdn77Bundle/Command/PathLoggedForResourceCommand.php diff --git a/src/Cdn77Bundle/Command/PathLoggedForResourceCommand.php b/src/Cdn77Bundle/Command/PathLoggedForResourceCommand.php new file mode 100644 index 0000000..82c366a --- /dev/null +++ b/src/Cdn77Bundle/Command/PathLoggedForResourceCommand.php @@ -0,0 +1,46 @@ +setName('dekalee:cdn77:path-logged-for-resource') + ->setDescription('Get all the path stored in the log for a resource') + ->addOption('resource', null, InputOption::VALUE_REQUIRED, 'The resource to get the log from') + ; + } + + /** + * @param InputInterface $input + * @param OutputInterface $output + * + * @return int|null|void + */ + protected function execute(InputInterface $input, OutputInterface $output) + { + $ressource = $input->getOption('resource'); + + $logs = $this->getContainer()->get('dekalee_cdn77.query.resource_log')->execute($ressource); + + $output->writeln('List of file in the log'); + + foreach ($logs as $log) { + $output->writeln($log['path']); + } + } +}