bach пре 1 година
родитељ
комит
3467bc3f5f

+ 1 - 1
src/config/sync/field.field.paragraph.source.field_audio.yml

@@ -21,7 +21,7 @@ settings:
   handler: 'default:file'
   handler_settings: {  }
   file_directory: '[date:custom:Y]-[date:custom:m]'
-  file_extensions: ogg
+  file_extensions: 'ogg mp3 flac'
   max_filesize: ''
   description_field: true
 field_type: file

+ 11 - 2
src/web/modules/custom/ouatt_graphql/graphql/ouatt_extension.base.graphqls

@@ -32,10 +32,19 @@ type Entite implements NodeInterface {
   title: String!
   path: String!
   author: String
-  texte: String
+  action: String
+  menacemaintien: String
+  sources: [Source]
+}
+
+type Source {
+  audios: Filefield
+  date: Date
+  documents: [Filefield]
+  description: String
   images: [Image]
-  fichiers: [Filefield]
   liens: [Link]
+  videos: [VideoLink]
 }
 
 type Static implements NodeInterface {

+ 89 - 17
src/web/modules/custom/ouatt_graphql/src/Plugin/GraphQL/SchemaExtension/OuattSchemaExtension.php

@@ -36,6 +36,8 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
     // 
     $this->addEntites($registry, $builder);
     // 
+    $this->addSource($registry, $builder);
+    // 
     $this->addStatic($registry, $builder);
     // 
     $this->addGroup($registry, $builder);
@@ -259,7 +261,6 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
   //  |  _| | '_ \| __| | __/ _ \/ __|
   //  | |___| | | | |_| | ||  __/\__ \
   //  |_____|_| |_|\__|_|\__\___||___/
-                                 
   protected function addEntites(ResolverRegistryInterface $registry, ResolverBuilder $builder){
     $registry->addFieldResolver('Query', 'allentites',
       $builder->compose(
@@ -330,11 +331,18 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
           ->map('entity', $builder->fromParent())
       ));
 
-    $registry->addFieldResolver('Entite', 'texte',
+    $registry->addFieldResolver('Entite', 'action',
       $builder->produce('property_path')
         ->map('type', $builder->fromValue('entity:node'))
         ->map('value', $builder->fromParent())
-        ->map('path', $builder->fromValue('body.value'))
+        ->map('path', $builder->fromValue('field_action.value'))
+      );
+
+    $registry->addFieldResolver('Entite', 'menacemaintien',
+      $builder->produce('property_path')
+        ->map('type', $builder->fromValue('entity:node'))
+        ->map('value', $builder->fromParent())
+        ->map('path', $builder->fromValue('field_menace_maintien.value'))
       );
 
     $registry->addFieldResolver('Entite', 'author',
@@ -345,34 +353,73 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
           ->map('entity', $builder->fromParent())
       ));
 
-    $registry->addFieldResolver('Entite', 'images',
+
+    $registry->addFieldResolver('Entite', 'sources',
+      $builder->produce('entity_reference_revisions')
+        ->map('entity', $builder->fromParent())
+        ->map('field', $builder->fromValue('field_sources'))
+      );
+
+
+  }
+
+  //   ____                           
+  //  / ___|  ___  _   _ _ __ ___ ___ 
+  //  \___ \ / _ \| | | | '__/ __/ _ \
+  //   ___) | (_) | |_| | | | (_|  __/
+  //  |____/ \___/ \__,_|_|  \___\___|                           
+  protected function addSource(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
+
+    
+    $registry->addFieldResolver('Source', 'description',
+      $builder->produce('property_path')
+        ->map('type', $builder->fromValue('entity:paragraph'))
+        ->map('value', $builder->fromParent())
+        ->map('path', $builder->fromValue('field_description.value'))
+      );
+    
+    $registry->addFieldResolver('Source', 'images',
       $builder->produce('entity_reference')
         ->map('entity', $builder->fromParent())
         ->map('field', $builder->fromValue('field_images'))
       );
 
-    $registry->addFieldResolver('Entite', 'videos',
+    $registry->addFieldResolver('Source', 'videos',
       $builder->produce('property_path')
-        ->map('type', $builder->fromValue('entity:node'))
+        ->map('type', $builder->fromValue('entity:paragraph'))
         ->map('value', $builder->fromParent())
         ->map('path', $builder->fromValue('field_videos'))
       );
 
-    $registry->addFieldResolver('Entite', 'fichiers',
-      $builder->produce('entity_reference')
-        ->map('entity', $builder->fromParent())
-        ->map('field', $builder->fromValue('field_fichiers'))
+    $registry->addFieldResolver('Source', 'documents',
+      $builder->produce('property_path')
+        ->map('type', $builder->fromValue('entity:paragraph'))
+        ->map('value', $builder->fromParent())
+        ->map('path', $builder->fromValue('field_documents'))
       );
 
-    $registry->addFieldResolver('Entite', 'liens',
+    $registry->addFieldResolver('Source', 'liens',
       $builder->produce('property_path')
-        ->map('type', $builder->fromValue('entity:node'))
+        ->map('type', $builder->fromValue('entity:paragraph'))
         ->map('value', $builder->fromParent())
         ->map('path', $builder->fromValue('field_liens'))
       );
 
-  }
+      $registry->addFieldResolver('Source', 'date',
+      $builder->produce('property_path')
+        ->map('type', $builder->fromValue('entity:paragraph'))
+        ->map('value', $builder->fromParent())
+        ->map('path', $builder->fromValue('field_date'))
+      );
 
+    $registry->addFieldResolver('Source', 'audios',
+      $builder->produce('property_path')
+        ->map('type', $builder->fromValue('entity:paragraph'))
+        ->map('value', $builder->fromParent())
+        ->map('path', $builder->fromValue('field_audio'))
+      );
+
+  }
   //  ___ _        _   _
   // / __| |_ __ _| |_(_)__ ___
   // \__ \  _/ _` |  _| / _(_-<
@@ -684,13 +731,25 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
 
     $registry->addFieldResolver('Filefield', 'description',
       $builder->callback(function ($parent, $args) {
-        return $parent['description'];
+        if (is_array($parent) && isset($parent['description'])) {
+          return $parent['description'];
+        } else if (is_array($parent) && isset($parent[0]['description'])) {
+          return $parent[0]['description'];
+        } else{
+          return null;
+        }
       })
     );
 
     $registry->addFieldResolver('Filefield', 'file',
       $builder->callback(function ($parent, $args) {
-        return \Drupal\file\Entity\File::load($parent['target_id']);
+        if (is_array($parent) && isset($parent['target_id'])) {
+          return \Drupal\file\Entity\File::load($parent['target_id']);
+        } else if (is_array($parent) && isset($parent[0]['target_id'])) {
+          return \Drupal\file\Entity\File::load($parent[0]['target_id']);
+        } else{
+          return null;
+        }
       })
     );
 
@@ -884,16 +943,24 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
   protected function addLink(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
     $registry->addFieldResolver('Link', 'url',
       $builder->callback(function ($parent, $args) {
-        return isset($parent[0]) ? $parent[0]['uri'] : null;
+        // return isset($parent[0]) ? $parent[0]['uri'] : null;
+        return $parent['uri'];
       })
     );
     $registry->addFieldResolver('Link', 'title',
       $builder->callback(function ($parent, $args) {
-        return isset($parent[0]) ? $parent[0]['title'] : null;
+        // return isset($parent[0]) ? $parent[0]['title'] : null;
+        return $parent['title'];
       })
     );
   }
 
+  //   _____       _   _ _           ____        __ _       _ _   _             
+  //  | ____|_ __ | |_(_) |_ _   _  |  _ \  ___ / _(_)_ __ (_) |_(_) ___  _ __  
+  //  |  _| | '_ \| __| | __| | | | | | | |/ _ \ |_| | '_ \| | __| |/ _ \| '_ \ 
+  //  | |___| | | | |_| | |_| |_| | | |_| |  __/  _| | | | | | |_| | (_) | | | |
+  //  |_____|_| |_|\__|_|\__|\__, | |____/ \___|_| |_|_| |_|_|\__|_|\___/|_| |_|
+  //                         |___/                                              
   protected function addEntityDefinition(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
     $registry->addFieldResolver('Query', 'entitydef',
       $builder->compose(
@@ -913,6 +980,11 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
 
   }
 
+  //   _____ _      _     _   ____        __ 
+  //  |  ___(_) ___| | __| | |  _ \  ___ / _|
+  //  | |_  | |/ _ \ |/ _` | | | | |/ _ \ |_ 
+  //  |  _| | |  __/ | (_| | | |_| |  __/  _|
+  //  |_|   |_|\___|_|\__,_| |____/ \___|_|                                     
   protected function addFieldDef(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
     
     $registry->addFieldResolver('FieldDef', 'type',