diff --git a/src/web/modules/custom/ouatt_graphql/graphql/ouatt_extension.base.graphqls b/src/web/modules/custom/ouatt_graphql/graphql/ouatt_extension.base.graphqls index b94ec3b..261c397 100644 --- a/src/web/modules/custom/ouatt_graphql/graphql/ouatt_extension.base.graphqls +++ b/src/web/modules/custom/ouatt_graphql/graphql/ouatt_extension.base.graphqls @@ -34,6 +34,9 @@ type Entite implements NodeInterface { author: String action: String menacemaintien: String + superposition: [Entite] + proximite: [Entite] + agissante: Boolean sources: [Source] } diff --git a/src/web/modules/custom/ouatt_graphql/src/Plugin/GraphQL/SchemaExtension/OuattSchemaExtension.php b/src/web/modules/custom/ouatt_graphql/src/Plugin/GraphQL/SchemaExtension/OuattSchemaExtension.php index 1e2b184..0201137 100644 --- a/src/web/modules/custom/ouatt_graphql/src/Plugin/GraphQL/SchemaExtension/OuattSchemaExtension.php +++ b/src/web/modules/custom/ouatt_graphql/src/Plugin/GraphQL/SchemaExtension/OuattSchemaExtension.php @@ -330,7 +330,30 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase { $builder->produce('entity_bundle') ->map('entity', $builder->fromParent()) )); + + // superposition: [Entite] + $registry->addFieldResolver('Entite', 'superposition', + $builder->produce('entity_reference') + ->map('entity', $builder->fromParent()) + ->map('field', $builder->fromValue('field_superposition')) + ); + // proximite: [Entite] + $registry->addFieldResolver('Entite', 'proximite', + $builder->produce('entity_reference') + ->map('entity', $builder->fromParent()) + ->map('field', $builder->fromValue('field_proximite')) + ); + + // agissante: Boolean + $registry->addFieldResolver('Entite', 'agissante', + $builder->produce('property_path') + ->map('type', $builder->fromValue('entity:node')) + ->map('value', $builder->fromParent()) + ->map('path', $builder->fromValue('field_entite_agissante.value')) + ); + + $registry->addFieldResolver('Entite', 'action', $builder->produce('property_path') ->map('type', $builder->fromValue('entity:node'))