|
@@ -55,6 +55,8 @@ class EnFrSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
//
|
|
//
|
|
$this->addTaxoterm($registry, $builder);
|
|
$this->addTaxoterm($registry, $builder);
|
|
//
|
|
//
|
|
|
|
+ $this->addAuteur($registry, $builder);
|
|
|
|
+ //
|
|
// $this->addNote($registry, $builder);
|
|
// $this->addNote($registry, $builder);
|
|
//
|
|
//
|
|
// $this->addSearchResult($registry, $builder);
|
|
// $this->addSearchResult($registry, $builder);
|
|
@@ -306,7 +308,7 @@ class EnFrSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
$registry->addFieldResolver('Textref', 'auteurs',
|
|
$registry->addFieldResolver('Textref', 'auteurs',
|
|
$builder->produce('entity_reference')
|
|
$builder->produce('entity_reference')
|
|
->map('entity', $builder->fromParent())
|
|
->map('entity', $builder->fromParent())
|
|
- ->map('field', $builder->fromValue('field_autheurs'))
|
|
|
|
|
|
+ ->map('field', $builder->fromValue('field_auteurs'))
|
|
);
|
|
);
|
|
|
|
|
|
$registry->addFieldResolver('Textref', 'edition',
|
|
$registry->addFieldResolver('Textref', 'edition',
|
|
@@ -437,7 +439,7 @@ class EnFrSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
$registry->addFieldResolver('Textprod', 'auteurs',
|
|
$registry->addFieldResolver('Textprod', 'auteurs',
|
|
$builder->produce('entity_reference')
|
|
$builder->produce('entity_reference')
|
|
->map('entity', $builder->fromParent())
|
|
->map('entity', $builder->fromParent())
|
|
- ->map('field', $builder->fromValue('field_autheurs'))
|
|
|
|
|
|
+ ->map('field', $builder->fromValue('field_auteurs'))
|
|
);
|
|
);
|
|
|
|
|
|
$registry->addFieldResolver('Textprod', 'edition',
|
|
$registry->addFieldResolver('Textprod', 'edition',
|
|
@@ -582,7 +584,7 @@ class EnFrSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
$registry->addFieldResolver('Creation', 'auteurs',
|
|
$registry->addFieldResolver('Creation', 'auteurs',
|
|
$builder->produce('entity_reference')
|
|
$builder->produce('entity_reference')
|
|
->map('entity', $builder->fromParent())
|
|
->map('entity', $builder->fromParent())
|
|
- ->map('field', $builder->fromValue('field_autheurs'))
|
|
|
|
|
|
+ ->map('field', $builder->fromValue('field_auteurs'))
|
|
);
|
|
);
|
|
|
|
|
|
$registry->addFieldResolver('Creation', 'oeuvre',
|
|
$registry->addFieldResolver('Creation', 'oeuvre',
|
|
@@ -848,5 +850,59 @@ class EnFrSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ protected function addAuteur(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
|
+ $registry->addFieldResolver('Query', 'allauteurs',
|
|
|
|
+ $builder->compose(
|
|
|
|
+ $builder->callback(function($parent, $arg){
|
|
|
|
+ $entity_storage = \Drupal::entityTypeManager()->getStorage('taxonomy_term');
|
|
|
|
+ $query = $entity_storage->getQuery()
|
|
|
|
+ ->condition('vid', 'auteurs')
|
|
|
|
+ ->accessCheck(TRUE);
|
|
|
|
+ $results = $query->execute();
|
|
|
|
+ return $results;
|
|
|
|
+ }),
|
|
|
|
+ $builder->produce('entity_load_multiple')
|
|
|
|
+ ->map('type', $builder->fromValue('taxonomy_term'))
|
|
|
|
+ ->map('ids', $builder->fromParent())
|
|
|
|
+ )
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ $registry->addFieldResolver('Query', 'auteur',
|
|
|
|
+ $builder->produce('entity_load')
|
|
|
|
+ ->map('type', $builder->fromValue('taxonomy_term'))
|
|
|
|
+ ->map('bundles', $builder->fromValue(['auteurs']))
|
|
|
|
+ ->map('id', $builder->fromArgument('id'))
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ $registry->addFieldResolver('Auteur', 'id',
|
|
|
|
+ $builder->produce('entity_id')
|
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ $registry->addFieldResolver('Auteur', 'uuid',
|
|
|
|
+ $builder->produce('entity_uuid')
|
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ $registry->addFieldResolver('Auteur', 'name',
|
|
|
|
+ $builder->produce('entity_label')
|
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ $registry->addFieldResolver('Auteur', 'first_name',
|
|
|
|
+ $builder->produce('property_path')
|
|
|
|
+ ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
|
+ ->map('path', $builder->fromValue('field_prenom.value'))
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ $registry->addFieldResolver('Auteur', 'last_name',
|
|
|
|
+ $builder->produce('property_path')
|
|
|
|
+ ->map('type', $builder->fromValue('entity:taxonomy_term'))
|
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
|
+ ->map('path', $builder->fromValue('field_nom.value'))
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|