Skip to content

Commit 362db45

Browse files
authored
Merge pull request #23 from disstudio/fix/export-serialization-groups
fix: export serialization groups
2 parents 1813a5f + d376af3 commit 362db45

File tree

5 files changed

+48
-11
lines changed

5 files changed

+48
-11
lines changed

README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,15 @@ Symfony Flex, it's much quicker!
111111

112112
```yaml
113113
# config/packages/sylius_import_export.yaml
114+
imports:
115+
- { resource: "@SyliusImportExportBundle/config/config.yaml" }
116+
114117
sylius_import_export:
115118
export:
116119
resources:
117120
sylius.order: ~
118121
app.brand:
119-
serialization_group: 'app:brand:export'
122+
serialization_groups: ['app:brand:export']
120123
sections:
121124
- 'Sylius\Bundle\AdminBundle\SectionResolver\AdminSection'
122125
provider: 'sylius_import_export.provider.resource_data.orm'
@@ -128,6 +131,15 @@ Symfony Flex, it's much quicker!
128131
```
129132
For a more detailed overview check the [configuration reference](docs/configuration_reference.md).
130133
134+
4. Configure routes:
135+
136+
```yaml
137+
# config/routes/sylius_import_export.yaml
138+
imports:
139+
resource: "@SyliusImportExportBundle/config/routes.yaml"
140+
```
141+
142+
131143
## File Storage
132144
133145
### Export Files

UPGRADE.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# UPGRADE
22

3+
## From v0.2.0 to v0.2.1
4+
5+
### Configuration key serialization_group renamed to serialization_groups
6+
7+
The configuration key for export resources has been renamed to reflect that it can handle multiple groups.
8+
9+
Before:
10+
11+
```yaml
12+
sylius_import_export:
13+
export:
14+
resources:
15+
app.brand:
16+
serialization_group: 'app:brand:export'
17+
```
18+
19+
After:
20+
21+
```yaml
22+
sylius_import_export:
23+
export:
24+
resources:
25+
app.brand:
26+
serialization_groups: ['app:brand:export']
27+
```
28+
329
## From v0.1.x to v0.2.0
430
531
### `BatchedExportDataManager` constructor signature changed

docs/configuration_reference.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ sylius_import_export:
1818
export:
1919
resources:
2020
app.brand:
21-
serialization_group: 'app:brand:export'
21+
serialization_groups: ['app:brand:export']
2222
provider: 'sylius_import_export.provider.resource_data.dbal'
2323
sections:
2424
- 'admin'
@@ -42,8 +42,8 @@ sylius_import_export:
4242
# The alias of a resource as configured within the ResourceBundle
4343
# It can be retried by using the `console/bin sylius:debug:resource` console command.
4444
<resource_alias>:
45-
# The group used for data serialization, when not specified, defaults to "sylius_import_export:export"
46-
serialization_group: <string>
45+
# The groups used for data serialization, when not specified, defaults to ["sylius_import_export:export"]
46+
serialization_groups: [<string>, ...]
4747
# Resource specific overwrite of the default_provider
4848
provider: <service_id>
4949
# Resource specific overwrite of the default section

src/DependencyInjection/Configuration.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
namespace Sylius\ImportExport\DependencyInjection;
1515

16-
use Sylius\ImportExport\Serializer\DefaultSerializationGroups;
1716
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
1817
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
1918
use Symfony\Component\Config\Definition\ConfigurationInterface;
@@ -59,9 +58,9 @@ private function addExportConfiguration(ArrayNodeDefinition $node): void
5958
})
6059
->end()
6160
->children()
62-
->scalarNode('serialization_group')
63-
->cannotBeEmpty()
64-
->defaultValue(DefaultSerializationGroups::EXPORT_GROUP)
61+
->arrayNode('serialization_groups')
62+
->scalarPrototype()->end()
63+
->defaultValue(['DefaultSerializationGroups::EXPORT_GROUP'])
6564
->end()
6665
->scalarNode('provider')
6766
->defaultNull()

src/Provider/Parameters/GridExportParametersProvider.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
final class GridExportParametersProvider implements GridExportParametersProviderInterface
2323
{
24-
/** @param array<string, array{serialization_group: string}> $resourceExportConfiguration */
24+
/** @param array<string, array{serialization_groups: string[]}> $resourceExportConfiguration */
2525
public function __construct(
2626
private GridProviderInterface $gridProvider,
2727
private ParametersParserInterface $parametersParser,
@@ -34,7 +34,7 @@ public function getParameters(MetadataInterface $metadata, string $gridName, Req
3434
$gridConfiguration = $this->gridProvider->get($gridName);
3535

3636
$resourceExportConfiguration = $this->resourceExportConfiguration[$metadata->getAlias()] ?? [];
37-
$serializationGroup = $resourceExportConfiguration['serialization_group'] ?? DefaultSerializationGroups::EXPORT_GROUP;
37+
$serializationGroups = $resourceExportConfiguration['serialization_groups'] ?? [DefaultSerializationGroups::EXPORT_GROUP];
3838

3939
$parameters = $this->parametersParser->parseRequestValues(
4040
$gridConfiguration->getDriverConfiguration(),
@@ -43,7 +43,7 @@ public function getParameters(MetadataInterface $metadata, string $gridName, Req
4343

4444
return array_merge($parameters, [
4545
'grid' => $gridName,
46-
'serialization_group' => $serializationGroup,
46+
'serialization_groups' => $serializationGroups,
4747
]);
4848
}
4949
}

0 commit comments

Comments
 (0)