|
@@ -26,10 +26,168 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
|
|
|
$this->addMateriau($registry, $builder);
|
|
|
|
|
|
- // _ _ _ _
|
|
|
- // /_\ _ _| |_(_)__| |___
|
|
|
- // / _ \| '_| _| / _| / -_)
|
|
|
- // /_/ \_\_| \__|_\__|_\___|
|
|
|
+ $this->addArticle($registry, $builder);
|
|
|
+
|
|
|
+ $this->addCompany($registry, $builder);
|
|
|
+
|
|
|
+ $this->addAddress($registry, $builder);
|
|
|
+
|
|
|
+ $this->addFilefield($registry, $builder);
|
|
|
+
|
|
|
+ $this->addFile($registry, $builder);
|
|
|
+
|
|
|
+ $this->addDate($registry, $builder);
|
|
|
+
|
|
|
+ $this->addLink($registry, $builder);
|
|
|
+
|
|
|
+ $this->addShowroom($registry, $builder);
|
|
|
+
|
|
|
+ $this->addTag($registry, $builder);
|
|
|
+
|
|
|
+ $this->addThesaurus($registry, $builder);
|
|
|
+
|
|
|
+ $this->addVideolink($registry, $builder);
|
|
|
+
|
|
|
+ $this->addImage($registry, $builder);
|
|
|
+
|
|
|
+ // Response type resolver.
|
|
|
+ $registry->addTypeResolver('Response', [
|
|
|
+ __CLASS__,
|
|
|
+ 'resolveResponse',
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ // __ __ _ _
|
|
|
+ // | \/ |__ _| |_ ___ _ _(_)__ _ _ _
|
|
|
+ // | |\/| / _` | _/ -_) '_| / _` | || |
|
|
|
+ // |_| |_\__,_|\__\___|_| |_\__,_|\_,_|
|
|
|
+ protected function addMateriau(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+ $registry->addFieldResolver('Query', 'materiau',
|
|
|
+ $builder->produce('entity_load')
|
|
|
+ ->map('type', $builder->fromValue('node'))
|
|
|
+ ->map('bundles', $builder->fromValue(['materiau']))
|
|
|
+ ->map('id', $builder->fromArgument('id'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'id',
|
|
|
+ $builder->produce('entity_id')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'uuid',
|
|
|
+ $builder->produce('entity_uuid')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'title',
|
|
|
+ $builder->compose(
|
|
|
+ $builder->produce('entity_label')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ));
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'body',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('body.value'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'short_description',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('field_short_description.value'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'author',
|
|
|
+ $builder->compose(
|
|
|
+ $builder->produce('entity_owner')
|
|
|
+ ->map('entity', $builder->fromParent()),
|
|
|
+ $builder->produce('entity_label')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ));
|
|
|
+
|
|
|
+ // https://github.com/drupal-graphql/graphql/blob/8.x-4.x/doc/SUMMARY.md
|
|
|
+ // https://blog.chrismitchellonline.com/posts/custom_graphql_data/
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'linked_materials',
|
|
|
+ $builder->compose(
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_linked_materials'))
|
|
|
+ ));
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'linked_articles',
|
|
|
+ $builder->compose(
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_linked_articles'))
|
|
|
+ ));
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'memo',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('field_memo.value'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'images',
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_materiau_images'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'attachments',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('field_attachments'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'videos',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('field_video'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'tags',
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_tags'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'thesaurus',
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_thesaurus'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'manufacturer',
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_manufacturer'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Materiau', 'distributor',
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_distributor'))
|
|
|
+ );
|
|
|
+
|
|
|
+ // field_famille
|
|
|
+ // field_index
|
|
|
+ // field_reference
|
|
|
+ // field_samples
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // _ _ _ _
|
|
|
+ // /_\ _ _| |_(_)__| |___
|
|
|
+ // / _ \| '_| _| / _| / -_)
|
|
|
+ // /_/ \_\_| \__|_\__|_\___|
|
|
|
+ protected function addArticle(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
$registry->addFieldResolver('Query', 'article',
|
|
|
$builder->produce('entity_load')
|
|
|
->map('type', $builder->fromValue('node'))
|
|
@@ -130,204 +288,194 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
->map('value', $builder->fromParent())
|
|
|
->map('path', $builder->fromValue('field_date'))
|
|
|
);
|
|
|
+ }
|
|
|
|
|
|
+ // ___
|
|
|
+ // |_ _|_ __ __ _ __ _ ___
|
|
|
+ // | || ' \/ _` / _` / -_)
|
|
|
+ // |___|_|_|_\__,_\__, \___|
|
|
|
+ // |___/
|
|
|
+ protected function addImage(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+ $registry->addFieldResolver('Image', 'id',
|
|
|
+ $builder->produce('entity_id')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
|
|
|
- // ___
|
|
|
- // / __|___ _ __ _ __ __ _ _ _ _ _
|
|
|
- // | (__/ _ \ ' \| '_ \/ _` | ' \ || |
|
|
|
- // \___\___/_|_|_| .__/\__,_|_||_\_, |
|
|
|
- // |_| |__/
|
|
|
- $registry->addFieldResolver('Query', 'company',
|
|
|
+ $registry->addFieldResolver('Image', 'url',
|
|
|
+ $builder->produce('image_url')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Image', 'alt',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('field_image.alt'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Image', 'style_minicard',
|
|
|
+ $builder->produce('image_derivative')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('style', $builder->fromValue('card_medium_half'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Image', 'style_cardmedium',
|
|
|
+ $builder->produce('image_derivative')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('style', $builder->fromValue('card_medium'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Image', 'style_cardfull',
|
|
|
+ $builder->produce('image_derivative')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('style', $builder->fromValue('card_full'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Image', 'style_articlecardmedium',
|
|
|
+ $builder->produce('image_derivative')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('style', $builder->fromValue('article_card_medium'))
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // __ ___ _ _ _ _
|
|
|
+ // \ \ / (_)__| |___ ___| | (_)_ _ | |__
|
|
|
+ // \ V /| / _` / -_) _ \ |__| | ' \| / /
|
|
|
+ // \_/ |_\__,_\___\___/____|_|_||_|_\_\
|
|
|
+ protected function addVideolink(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+ $registry->addFieldResolver('VideoLink', 'url',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('field_item:video_embed_field'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('value'))
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ // _____ _
|
|
|
+ // |_ _| |_ ___ ___ __ _ _ _ _ _ _ _ ___
|
|
|
+ // | | | ' \/ -_|_-</ _` | || | '_| || (_-<
|
|
|
+ // |_| |_||_\___/__/\__,_|\_,_|_| \_,_/__/
|
|
|
+ protected function addThesaurus(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+ $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())
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ // _____
|
|
|
+ // |_ _|_ _ __ _
|
|
|
+ // | |/ _` / _` |
|
|
|
+ // |_|\__,_\__, |
|
|
|
+ // |___/
|
|
|
+ protected function addTag(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+ $registry->addFieldResolver('Query', 'tag',
|
|
|
$builder->produce('entity_load')
|
|
|
->map('type', $builder->fromValue('taxonomy_term'))
|
|
|
- ->map('bundles', $builder->fromValue(['company']))
|
|
|
+ ->map('bundles', $builder->fromValue(['tags']))
|
|
|
->map('id', $builder->fromArgument('id'))
|
|
|
);
|
|
|
|
|
|
- $registry->addFieldResolver('Company', 'id',
|
|
|
+ $registry->addFieldResolver('Tag', 'id',
|
|
|
$builder->produce('entity_id')
|
|
|
->map('entity', $builder->fromParent())
|
|
|
);
|
|
|
|
|
|
- $registry->addFieldResolver('Company', 'uuid',
|
|
|
+ $registry->addFieldResolver('Tag', 'uuid',
|
|
|
$builder->produce('entity_uuid')
|
|
|
->map('entity', $builder->fromParent())
|
|
|
);
|
|
|
|
|
|
- $registry->addFieldResolver('Company', 'name',
|
|
|
+ $registry->addFieldResolver('Tag', 'name',
|
|
|
$builder->produce('entity_label')
|
|
|
->map('entity', $builder->fromParent())
|
|
|
);
|
|
|
+ }
|
|
|
|
|
|
- // TODO: property_path helper
|
|
|
- // $props = [
|
|
|
- // [
|
|
|
- // "res" => "attachments",
|
|
|
- // "type" => "entity:taxonomy_term",
|
|
|
- // "path" => "field_attachments",
|
|
|
- // ]
|
|
|
- // ]
|
|
|
- // foreach ($props as $key => $value) {
|
|
|
- // $registry->addFieldResolver('Company', $value['res'],
|
|
|
- // $builder->produce('property_path')
|
|
|
- // ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
- // ->map('value', $builder->fromParent())
|
|
|
- // ->map('path', $builder->fromValue('field_attachments'))
|
|
|
- // );
|
|
|
- // }
|
|
|
-
|
|
|
- $registry->addFieldResolver('Company', 'attachments',
|
|
|
- $builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
- ->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_attachments'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Company', 'memo',
|
|
|
- $builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
- ->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_memo.value'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Company', 'note',
|
|
|
- $builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
- ->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_note.value'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Company', 'website',
|
|
|
- $builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
- ->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_website'))
|
|
|
+ // ___ _
|
|
|
+ // / __| |_ _____ __ ___ _ ___ ___ _ __
|
|
|
+ // \__ \ ' \/ _ \ V V / '_/ _ \/ _ \ ' \
|
|
|
+ // |___/_||_\___/\_/\_/|_| \___/\___/_|_|_|
|
|
|
+ protected function addShowroom(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+ $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('Company', 'departement',
|
|
|
- $builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
- ->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_departement.value'))
|
|
|
+ $registry->addFieldResolver('Showroom', 'id',
|
|
|
+ $builder->produce('entity_id')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
);
|
|
|
|
|
|
- $registry->addFieldResolver('Company', 'email',
|
|
|
- $builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
- ->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_public_email.value'))
|
|
|
+ $registry->addFieldResolver('Showroom', 'uuid',
|
|
|
+ $builder->produce('entity_uuid')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
);
|
|
|
|
|
|
- $registry->addFieldResolver('Company', 'address',
|
|
|
- $builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
- ->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_public_address'))
|
|
|
+ $registry->addFieldResolver('Showroom', 'name',
|
|
|
+ $builder->produce('entity_label')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
);
|
|
|
+ }
|
|
|
|
|
|
- // field_infos_from_company
|
|
|
- // field_public_phone
|
|
|
-
|
|
|
-
|
|
|
- // _ _ _
|
|
|
- // /_\ __| |__| |_ _ ___ ______
|
|
|
- // / _ \/ _` / _` | '_/ -_|_-<_-<
|
|
|
- // /_/ \_\__,_\__,_|_| \___/__/__/
|
|
|
-
|
|
|
- // $addr_fields = [
|
|
|
- // 'langcode',
|
|
|
- // 'country_code',
|
|
|
- // 'administrative_area',
|
|
|
- // 'locality',
|
|
|
- // 'dependent_locality',
|
|
|
- // 'postal_code',
|
|
|
- // 'sorting_code',
|
|
|
- // 'address_line1',
|
|
|
- // 'address_line2',
|
|
|
- // 'organization',
|
|
|
- // 'given_name',
|
|
|
- // 'additional_name',
|
|
|
- // 'family_name'
|
|
|
- // ];
|
|
|
- //
|
|
|
- // foreach ($addr_fields as $key => $value) {
|
|
|
- // $registry->addFieldResolver('Address', $value,
|
|
|
- // $builder->callback(function ($parent, $args) {
|
|
|
- // return $parent[0][$value];
|
|
|
- // })
|
|
|
- // );
|
|
|
- // }
|
|
|
-
|
|
|
- $registry->addFieldResolver('Address', 'langcode',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['langcode'];
|
|
|
- })
|
|
|
- );
|
|
|
- $registry->addFieldResolver('Address', 'country_code',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['country_code'];
|
|
|
- })
|
|
|
- );
|
|
|
- $registry->addFieldResolver('Address', 'administrative_area',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['administrative_area'];
|
|
|
- })
|
|
|
- );
|
|
|
- $registry->addFieldResolver('Address', 'locality',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['locality'];
|
|
|
- })
|
|
|
- );
|
|
|
- $registry->addFieldResolver('Address', 'dependent_locality',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['dependent_locality'];
|
|
|
- })
|
|
|
- );
|
|
|
- $registry->addFieldResolver('Address', 'postal_code',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['postal_code'];
|
|
|
- })
|
|
|
- );
|
|
|
- $registry->addFieldResolver('Address', 'sorting_code',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['sorting_code'];
|
|
|
- })
|
|
|
- );
|
|
|
- $registry->addFieldResolver('Address', 'address_line1',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['address_line1'];
|
|
|
- })
|
|
|
- );
|
|
|
- $registry->addFieldResolver('Address', 'address_line2',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['address_line2'];
|
|
|
- })
|
|
|
- );
|
|
|
- $registry->addFieldResolver('Address', 'organization',
|
|
|
+ // _ _ _
|
|
|
+ // | | (_)_ _ | |__
|
|
|
+ // | |__| | ' \| / /
|
|
|
+ // |____|_|_||_|_\_\
|
|
|
+ protected function addLink(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+ $registry->addFieldResolver('Link', 'url',
|
|
|
$builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['organization'];
|
|
|
+ return $parent[0]['uri'];
|
|
|
})
|
|
|
);
|
|
|
- $registry->addFieldResolver('Address', 'given_name',
|
|
|
+ $registry->addFieldResolver('Link', 'title',
|
|
|
$builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['given_name'];
|
|
|
+ return $parent[0]['title'];
|
|
|
})
|
|
|
);
|
|
|
- $registry->addFieldResolver('Address', 'additional_name',
|
|
|
+ }
|
|
|
+
|
|
|
+ // ___ _
|
|
|
+ // | \ __ _| |_ ___
|
|
|
+ // | |) / _` | _/ -_)
|
|
|
+ // |___/\__,_|\__\___|
|
|
|
+ protected function addDate(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+ $registry->addFieldResolver('Date', 'start',
|
|
|
$builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['additional_name'];
|
|
|
+ return $parent[0]['value'];
|
|
|
})
|
|
|
);
|
|
|
- $registry->addFieldResolver('Address', 'family_name',
|
|
|
+ $registry->addFieldResolver('Date', 'end',
|
|
|
$builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['family_name'];
|
|
|
+ return $parent[0]['end_value'];
|
|
|
})
|
|
|
);
|
|
|
+ }
|
|
|
|
|
|
- // ___ _ _ __ _ _ _
|
|
|
- // | __(_) |___ / _(_)___| |__| |
|
|
|
- // | _|| | / -_) _| / -_) / _` |
|
|
|
- // |_| |_|_\___|_| |_\___|_\__,_|
|
|
|
+ // ___ _ _ __ _ _ _
|
|
|
+ // | __(_) |___ / _(_)___| |__| |
|
|
|
+ // | _|| | / -_) _| / -_) / _` |
|
|
|
+ // |_| |_|_\___|_| |_\___|_\__,_|
|
|
|
+ protected function addFilefield(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
$registry->addFieldResolver('Filefield', 'description',
|
|
|
$builder->callback(function ($parent, $args) {
|
|
|
return $parent['description'];
|
|
@@ -338,11 +486,13 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
return \Drupal\file\Entity\File::load($parent['target_id']);
|
|
|
})
|
|
|
);
|
|
|
+ }
|
|
|
|
|
|
- // ___ _ _
|
|
|
- // | __(_) |___
|
|
|
- // | _|| | / -_)
|
|
|
- // |_| |_|_\___|
|
|
|
+ // ___ _ _
|
|
|
+ // | __(_) |___
|
|
|
+ // | _|| | / -_)
|
|
|
+ // |_| |_|_\___|
|
|
|
+ protected function addFile(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
$registry->addFieldResolver('File', 'url',
|
|
|
$builder->callback(function ($parent, $args) {
|
|
|
return $parent->url();
|
|
@@ -378,341 +528,201 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
return $parent->uuid();
|
|
|
})
|
|
|
);
|
|
|
+ }
|
|
|
|
|
|
+ // _ _ _
|
|
|
+ // /_\ __| |__| |_ _ ___ ______
|
|
|
+ // / _ \/ _` / _` | '_/ -_|_-<_-<
|
|
|
+ // /_/ \_\__,_\__,_|_| \___/__/__/
|
|
|
+ protected function addAddress(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+ // $addr_fields = [
|
|
|
+ // 'langcode',
|
|
|
+ // 'country_code',
|
|
|
+ // 'administrative_area',
|
|
|
+ // 'locality',
|
|
|
+ // 'dependent_locality',
|
|
|
+ // 'postal_code',
|
|
|
+ // 'sorting_code',
|
|
|
+ // 'address_line1',
|
|
|
+ // 'address_line2',
|
|
|
+ // 'organization',
|
|
|
+ // 'given_name',
|
|
|
+ // 'additional_name',
|
|
|
+ // 'family_name'
|
|
|
+ // ];
|
|
|
+ //
|
|
|
+ // foreach ($addr_fields as $key => $value) {
|
|
|
+ // $registry->addFieldResolver('Address', $value,
|
|
|
+ // $builder->callback(function ($parent, $args) {
|
|
|
+ // return $parent[0][$value];
|
|
|
+ // })
|
|
|
+ // );
|
|
|
+ // }
|
|
|
|
|
|
- // ___ _
|
|
|
- // | \ __ _| |_ ___
|
|
|
- // | |) / _` | _/ -_)
|
|
|
- // |___/\__,_|\__\___|
|
|
|
- $registry->addFieldResolver('Date', 'start',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['value'];
|
|
|
- })
|
|
|
+ $registry->addFieldResolver('Address', 'langcode',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['langcode'];
|
|
|
+ })
|
|
|
);
|
|
|
- $registry->addFieldResolver('Date', 'end',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['end_value'];
|
|
|
- })
|
|
|
+ $registry->addFieldResolver('Address', 'country_code',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['country_code'];
|
|
|
+ })
|
|
|
);
|
|
|
-
|
|
|
-
|
|
|
- // _ _ _
|
|
|
- // | | (_)_ _ | |__
|
|
|
- // | |__| | ' \| / /
|
|
|
- // |____|_|_||_|_\_\
|
|
|
- $registry->addFieldResolver('Link', 'url',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['uri'];
|
|
|
- })
|
|
|
+ $registry->addFieldResolver('Address', 'administrative_area',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['administrative_area'];
|
|
|
+ })
|
|
|
);
|
|
|
- $registry->addFieldResolver('Link', 'title',
|
|
|
- $builder->callback(function ($parent, $args) {
|
|
|
- return $parent[0]['title'];
|
|
|
- })
|
|
|
+ $registry->addFieldResolver('Address', 'locality',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['locality'];
|
|
|
+ })
|
|
|
);
|
|
|
+ $registry->addFieldResolver('Address', 'dependent_locality',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['dependent_locality'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+ $registry->addFieldResolver('Address', 'postal_code',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['postal_code'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+ $registry->addFieldResolver('Address', 'sorting_code',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['sorting_code'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+ $registry->addFieldResolver('Address', 'address_line1',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['address_line1'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+ $registry->addFieldResolver('Address', 'address_line2',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['address_line2'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+ $registry->addFieldResolver('Address', 'organization',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['organization'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+ $registry->addFieldResolver('Address', 'given_name',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['given_name'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+ $registry->addFieldResolver('Address', 'additional_name',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['additional_name'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+ $registry->addFieldResolver('Address', 'family_name',
|
|
|
+ $builder->callback(function ($parent, $args) {
|
|
|
+ return $parent[0]['family_name'];
|
|
|
+ })
|
|
|
+ );
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- // ___ _
|
|
|
- // / __| |_ _____ __ ___ _ ___ ___ _ __
|
|
|
- // \__ \ ' \/ _ \ V V / '_/ _ \/ _ \ ' \
|
|
|
- // |___/_||_\___/\_/\_/|_| \___/\___/_|_|_|
|
|
|
- $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())
|
|
|
- );
|
|
|
+ // ___
|
|
|
+ // / __|___ _ __ _ __ __ _ _ _ _ _
|
|
|
+ // | (__/ _ \ ' \| '_ \/ _` | ' \ || |
|
|
|
+ // \___\___/_|_|_| .__/\__,_|_||_\_, |
|
|
|
+ // |_| |__/
|
|
|
+ protected function addCompany(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+ $registry->addFieldResolver('Query', 'company',
|
|
|
+ $builder->produce('entity_load')
|
|
|
+ ->map('type', $builder->fromValue('taxonomy_term'))
|
|
|
+ ->map('bundles', $builder->fromValue(['company']))
|
|
|
+ ->map('id', $builder->fromArgument('id'))
|
|
|
+ );
|
|
|
|
|
|
- $registry->addFieldResolver('Showroom', 'name',
|
|
|
- $builder->produce('entity_label')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- );
|
|
|
+ $registry->addFieldResolver('Company', 'id',
|
|
|
+ $builder->produce('entity_id')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
|
|
|
+ $registry->addFieldResolver('Company', 'uuid',
|
|
|
+ $builder->produce('entity_uuid')
|
|
|
+ ->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('Company', 'name',
|
|
|
+ $builder->produce('entity_label')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
|
|
|
- $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())
|
|
|
- );
|
|
|
-
|
|
|
-
|
|
|
- $this->addThesaurus($registry, $builder);
|
|
|
-
|
|
|
- $this->addVideolink($registry, $builder);
|
|
|
-
|
|
|
- $this->addImage($registry, $builder);
|
|
|
-
|
|
|
- // Response type resolver.
|
|
|
- $registry->addTypeResolver('Response', [
|
|
|
- __CLASS__,
|
|
|
- 'resolveResponse',
|
|
|
- ]);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- // __ __ _ _
|
|
|
- // | \/ |__ _| |_ ___ _ _(_)__ _ _ _
|
|
|
- // | |\/| / _` | _/ -_) '_| / _` | || |
|
|
|
- // |_| |_\__,_|\__\___|_| |_\__,_|\_,_|
|
|
|
- /**
|
|
|
- * @param \Drupal\graphql\GraphQL\ResolverRegistryInterface $registry
|
|
|
- * @param \Drupal\graphql\GraphQL\ResolverBuilder $builder
|
|
|
- */
|
|
|
- protected function addMateriau(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
- $registry->addFieldResolver('Query', 'materiau',
|
|
|
- $builder->produce('entity_load')
|
|
|
- ->map('type', $builder->fromValue('node'))
|
|
|
- ->map('bundles', $builder->fromValue(['materiau']))
|
|
|
- ->map('id', $builder->fromArgument('id'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Materiau', 'id',
|
|
|
- $builder->produce('entity_id')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Materiau', 'uuid',
|
|
|
- $builder->produce('entity_uuid')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- );
|
|
|
+ // TODO: property_path helper
|
|
|
+ // $props = [
|
|
|
+ // [
|
|
|
+ // "res" => "attachments",
|
|
|
+ // "type" => "entity:taxonomy_term",
|
|
|
+ // "path" => "field_attachments",
|
|
|
+ // ]
|
|
|
+ // ]
|
|
|
+ // foreach ($props as $key => $value) {
|
|
|
+ // $registry->addFieldResolver('Company', $value['res'],
|
|
|
+ // $builder->produce('property_path')
|
|
|
+ // ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
+ // ->map('value', $builder->fromParent())
|
|
|
+ // ->map('path', $builder->fromValue('field_attachments'))
|
|
|
+ // );
|
|
|
+ // }
|
|
|
|
|
|
- $registry->addFieldResolver('Materiau', 'title',
|
|
|
- $builder->compose(
|
|
|
- $builder->produce('entity_label')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ));
|
|
|
+ $registry->addFieldResolver('Company', 'attachments',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('field_attachments'))
|
|
|
+ );
|
|
|
|
|
|
- $registry->addFieldResolver('Materiau', 'body',
|
|
|
+ $registry->addFieldResolver('Company', 'memo',
|
|
|
$builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('body.value'))
|
|
|
+ ->map('path', $builder->fromValue('field_memo.value'))
|
|
|
);
|
|
|
|
|
|
- $registry->addFieldResolver('Materiau', 'short_description',
|
|
|
+ $registry->addFieldResolver('Company', 'note',
|
|
|
$builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_short_description.value'))
|
|
|
+ ->map('path', $builder->fromValue('field_note.value'))
|
|
|
);
|
|
|
|
|
|
- $registry->addFieldResolver('Materiau', 'author',
|
|
|
- $builder->compose(
|
|
|
- $builder->produce('entity_owner')
|
|
|
- ->map('entity', $builder->fromParent()),
|
|
|
- $builder->produce('entity_label')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ));
|
|
|
-
|
|
|
- // https://github.com/drupal-graphql/graphql/blob/8.x-4.x/doc/SUMMARY.md
|
|
|
- // https://blog.chrismitchellonline.com/posts/custom_graphql_data/
|
|
|
-
|
|
|
- $registry->addFieldResolver('Materiau', 'linked_materials',
|
|
|
- $builder->compose(
|
|
|
- $builder->produce('entity_reference')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('field', $builder->fromValue('field_linked_materials'))
|
|
|
- ));
|
|
|
-
|
|
|
- $registry->addFieldResolver('Materiau', 'linked_articles',
|
|
|
- $builder->compose(
|
|
|
- $builder->produce('entity_reference')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('field', $builder->fromValue('field_linked_articles'))
|
|
|
- ));
|
|
|
-
|
|
|
- $registry->addFieldResolver('Materiau', 'memo',
|
|
|
+ $registry->addFieldResolver('Company', 'website',
|
|
|
$builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_memo.value'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Materiau', 'images',
|
|
|
- $builder->produce('entity_reference')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('field', $builder->fromValue('field_materiau_images'))
|
|
|
+ ->map('path', $builder->fromValue('field_website'))
|
|
|
);
|
|
|
|
|
|
- $registry->addFieldResolver('Materiau', 'attachments',
|
|
|
+ $registry->addFieldResolver('Company', 'departement',
|
|
|
$builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_attachments'))
|
|
|
+ ->map('path', $builder->fromValue('field_departement.value'))
|
|
|
);
|
|
|
|
|
|
- $registry->addFieldResolver('Materiau', 'videos',
|
|
|
+ $registry->addFieldResolver('Company', 'email',
|
|
|
$builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_video'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Materiau', 'tags',
|
|
|
- $builder->produce('entity_reference')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('field', $builder->fromValue('field_tags'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Materiau', 'thesaurus',
|
|
|
- $builder->produce('entity_reference')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('field', $builder->fromValue('field_thesaurus'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Materiau', 'manufacturer',
|
|
|
- $builder->produce('entity_reference')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('field', $builder->fromValue('field_manufacturer'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Materiau', 'distributor',
|
|
|
- $builder->produce('entity_reference')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('field', $builder->fromValue('field_distributor'))
|
|
|
- );
|
|
|
-
|
|
|
- // field_famille
|
|
|
- // field_index
|
|
|
- // field_reference
|
|
|
- // field_samples
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- // ___
|
|
|
- // |_ _|_ __ __ _ __ _ ___
|
|
|
- // | || ' \/ _` / _` / -_)
|
|
|
- // |___|_|_|_\__,_\__, \___|
|
|
|
- // |___/
|
|
|
- /**
|
|
|
- * @param \Drupal\graphql\GraphQL\ResolverRegistryInterface $registry
|
|
|
- * @param \Drupal\graphql\GraphQL\ResolverBuilder $builder
|
|
|
- */
|
|
|
- protected function addImage(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
- $registry->addFieldResolver('Image', 'id',
|
|
|
- $builder->produce('entity_id')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Image', 'url',
|
|
|
- $builder->produce('image_url')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Image', 'alt',
|
|
|
- $builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('entity:node'))
|
|
|
- ->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('field_image.alt'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Image', 'style_minicard',
|
|
|
- $builder->produce('image_derivative')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('style', $builder->fromValue('card_medium_half'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Image', 'style_cardmedium',
|
|
|
- $builder->produce('image_derivative')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('style', $builder->fromValue('card_medium'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Image', 'style_cardfull',
|
|
|
- $builder->produce('image_derivative')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('style', $builder->fromValue('card_full'))
|
|
|
- );
|
|
|
-
|
|
|
- $registry->addFieldResolver('Image', 'style_articlecardmedium',
|
|
|
- $builder->produce('image_derivative')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- ->map('style', $builder->fromValue('article_card_medium'))
|
|
|
+ ->map('path', $builder->fromValue('field_public_email.value'))
|
|
|
);
|
|
|
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- // __ ___ _ _ _ _
|
|
|
- // \ \ / (_)__| |___ ___| | (_)_ _ | |__
|
|
|
- // \ V /| / _` / -_) _ \ |__| | ' \| / /
|
|
|
- // \_/ |_\__,_\___\___/____|_|_||_|_\_\
|
|
|
- /**
|
|
|
- * @param \Drupal\graphql\GraphQL\ResolverRegistryInterface $registry
|
|
|
- * @param \Drupal\graphql\GraphQL\ResolverBuilder $builder
|
|
|
- */
|
|
|
- protected function addVideolink(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
- $registry->addFieldResolver('VideoLink', 'url',
|
|
|
+ $registry->addFieldResolver('Company', 'address',
|
|
|
$builder->produce('property_path')
|
|
|
- ->map('type', $builder->fromValue('field_item:video_embed_field'))
|
|
|
+ ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
->map('value', $builder->fromParent())
|
|
|
- ->map('path', $builder->fromValue('value'))
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- // _____ _
|
|
|
- // |_ _| |_ ___ ___ __ _ _ _ _ _ _ _ ___
|
|
|
- // | | | ' \/ -_|_-</ _` | || | '_| || (_-<
|
|
|
- // |_| |_||_\___/__/\__,_|\_,_|_| \_,_/__/
|
|
|
- /**
|
|
|
- * @param \Drupal\graphql\GraphQL\ResolverRegistryInterface $registry
|
|
|
- * @param \Drupal\graphql\GraphQL\ResolverBuilder $builder
|
|
|
- */
|
|
|
- protected function addThesaurus(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
- $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())
|
|
|
+ ->map('path', $builder->fromValue('field_public_address'))
|
|
|
);
|
|
|
|
|
|
- $registry->addFieldResolver('Thesaurus', 'name',
|
|
|
- $builder->produce('entity_label')
|
|
|
- ->map('entity', $builder->fromParent())
|
|
|
- );
|
|
|
+ // field_infos_from_company
|
|
|
+ // field_public_phone
|
|
|
}
|
|
|
|
|
|
/**
|