|
@@ -31,7 +31,7 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
->map('bundles', $builder->fromValue(['materiau']))
|
|
|
->map('id', $builder->fromArgument('id'))
|
|
|
);
|
|
|
-
|
|
|
+
|
|
|
$registry->addFieldResolver('Materiau', 'id',
|
|
|
$builder->produce('entity_id')
|
|
|
->map('entity', $builder->fromParent())
|
|
@@ -131,11 +131,9 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
|
|
|
|
|
|
$registry->addFieldResolver('Article', 'linked_materials',
|
|
|
- $builder->compose(
|
|
|
- $builder->produce('entity_reference')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('field', $builder->fromValue('field_linked_materials'))
|
|
|
- )
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_linked_materials'))
|
|
|
);
|
|
|
|
|
|
$registry->addFieldResolver('Article', 'images',
|
|
@@ -151,6 +149,137 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
->map('path', $builder->fromValue('field_video'))
|
|
|
);
|
|
|
|
|
|
+ $registry->addFieldResolver('Article', 'tags',
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_tags'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Article', 'thesaurus',
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_thesaurus'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Article', 'showroom',
|
|
|
+ $builder->compose(
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_showroom')),
|
|
|
+ $builder->callback(function ($items) {
|
|
|
+ return $items[0];
|
|
|
+ })
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Article', 'source',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('field_source'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Article', 'date',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('field_date'))
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Date', 'start',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['value'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+ $registry->addFieldResolver('Date', 'end',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['end_value'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Link', 'url',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['uri'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Link', 'title',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['title'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Query', 'showroom',
|
|
|
+ $builder->produce('entity_load')
|
|
|
+ ->map('type', $builder->fromValue('taxonomy_term'))
|
|
|
+ ->map('bundles', $builder->fromValue(['showroom']))
|
|
|
+ ->map('id', $builder->fromArgument('id'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Showroom', 'id',
|
|
|
+ $builder->produce('entity_id')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Showroom', 'uuid',
|
|
|
+ $builder->produce('entity_uuid')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Showroom', 'name',
|
|
|
+ $builder->produce('entity_label')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Query', 'tag',
|
|
|
+ $builder->produce('entity_load')
|
|
|
+ ->map('type', $builder->fromValue('taxonomy_term'))
|
|
|
+ ->map('bundles', $builder->fromValue(['tags']))
|
|
|
+ ->map('id', $builder->fromArgument('id'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Tag', 'id',
|
|
|
+ $builder->produce('entity_id')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Tag', 'uuid',
|
|
|
+ $builder->produce('entity_uuid')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Tag', 'name',
|
|
|
+ $builder->produce('entity_label')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Query', 'thesaurus',
|
|
|
+ $builder->produce('entity_load')
|
|
|
+ ->map('type', $builder->fromValue('taxonomy_term'))
|
|
|
+ ->map('bundles', $builder->fromValue(['thesaurus']))
|
|
|
+ ->map('id', $builder->fromArgument('id'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Thesaurus', 'id',
|
|
|
+ $builder->produce('entity_id')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Thesaurus', 'uuid',
|
|
|
+ $builder->produce('entity_uuid')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Thesaurus', 'name',
|
|
|
+ $builder->produce('entity_label')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
|
|
|
$registry->addFieldResolver('VideoLink', 'url',
|
|
|
$builder->produce('property_path')
|