Skip to content

Commit 358eca3

Browse files
authored
Merge pull request #120 from keboola/CM-713-ondra
configDefinition for ACTION_GET_PROPERTIES_METADATA
2 parents 6fc0826 + 6404364 commit 358eca3

4 files changed

Lines changed: 36 additions & 3 deletions

File tree

phpstan.neon

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ parameters:
33
ignoreErrors:
44
- '#Call to an undefined method Symfony\\Component\\Config\\Definition\\Builder\\NodeDefinition\:\:ignoreExtraKeys\(\).#'
55
- '#Cannot call method integerNode\(\) on Symfony\\Component\\Config\\Definition\\Builder\\NodeParentInterface\|null\.#'
6+
- '#Cannot call method scalarNode\(\) on Symfony\\Component\\Config\\Definition\\Builder\\NodeParentInterface\|null\.#'
67
- '#logger of class Keboola\\Google\\ClientBundle\\Google\\RestApi constructor expects Monolog\\Logger\|null, Psr\\Log\\LoggerInterface given\.#'

src/Component.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Keboola\GoogleAnalyticsExtractor\Configuration\Config;
1515
use Keboola\GoogleAnalyticsExtractor\Configuration\ConfigDefinition;
1616
use Keboola\GoogleAnalyticsExtractor\Configuration\ConfigGetProfilesPropertiesDefinition;
17+
use Keboola\GoogleAnalyticsExtractor\Configuration\ConfigGetPropertiesMetadataDefinition;
1718
use Keboola\GoogleAnalyticsExtractor\Configuration\MigrateConfiguration;
1819
use Keboola\GoogleAnalyticsExtractor\Configuration\OldConfigDefinition;
1920
use Keboola\GoogleAnalyticsExtractor\Exception\ApplicationException;
@@ -225,6 +226,8 @@ protected function getConfigDefinitionClass(): string
225226
switch ($action) {
226227
case self::ACTION_GET_PROFILES_PROPERTIES:
227228
return ConfigGetProfilesPropertiesDefinition::class;
229+
case self::ACTION_GET_PROPERTIES_METADATA:
230+
return ConfigGetPropertiesMetadataDefinition::class;
228231
default:
229232
$config = $this->getRawConfig();
230233
if (array_key_exists('queries', $config['parameters'])) {
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Keboola\GoogleAnalyticsExtractor\Configuration;
6+
7+
use Keboola\Component\Config\BaseConfigDefinition;
8+
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
9+
10+
class ConfigGetPropertiesMetadataDefinition extends BaseConfigDefinition
11+
{
12+
public function getParametersDefinition(): ArrayNodeDefinition
13+
{
14+
$parametersNode = parent::getParametersDefinition();
15+
16+
$parametersNode
17+
->children()
18+
->arrayNode('properties')
19+
->arrayPrototype()
20+
->children()
21+
->scalarNode('accountKey')->isRequired()->end()
22+
->scalarNode('accountName')->isRequired()->end()
23+
->scalarNode('propertyKey')->isRequired()->end()
24+
->scalarNode('propertyName')->isRequired()->end()
25+
->end()
26+
->end()
27+
->end()
28+
;
29+
30+
return $parametersNode;
31+
}
32+
}

tests/functional/get-properties-metadata-sync-action/source/data/config.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
}
1010
},
1111
"parameters": {
12-
"outputBucket": "in.c-ex-google-analytics-cfg",
13-
"outputTable": "test",
14-
"retriesCount": 1,
1512
"properties": [
1613
{
1714
"accountKey": "accounts/185283969",

0 commit comments

Comments
 (0)