|
@@ -536,17 +536,20 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
)
|
|
|
);
|
|
|
|
|
|
-
|
|
|
- // // GroupMembers
|
|
|
- // $registry->addFieldResolver('GroupMember', 'id',
|
|
|
- // $builder->produce('entity_id')
|
|
|
- // ->map('entity', $builder->fromParent())
|
|
|
- // );
|
|
|
-
|
|
|
- // $registry->addFieldResolver('GroupMember', 'user',
|
|
|
- // $builder->produce('entity_id')
|
|
|
- // ->map('entity', $builder->fromParent())
|
|
|
+ // $registry->addFieldResolver('Group', 'concernements',
|
|
|
+ // $builder->compose(
|
|
|
+ // $builder->callback(function ($parent, $args) {
|
|
|
+ // $memberships = $parent->getMembers();
|
|
|
+ // $users = [];
|
|
|
+ // foreach ($memberships as $member) {
|
|
|
+ // $users[] = $member->getUser();
|
|
|
+ // }
|
|
|
+ // return $users;
|
|
|
+ // }),
|
|
|
+
|
|
|
+ // )
|
|
|
// );
|
|
|
+
|
|
|
}
|
|
|
|
|
|
// __ __
|
|
@@ -592,6 +595,47 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
// $builder->produce('entity_label')
|
|
|
// ->map('entity', $builder->fromParent())
|
|
|
// );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('User', 'concernements',
|
|
|
+ $builder->compose(
|
|
|
+ $builder->callback(function($parent, $arg){
|
|
|
+ $entity_storage = \Drupal::entityTypeManager()->getStorage('node');
|
|
|
+ $query = $entity_storage->getQuery()
|
|
|
+ ->condition('type', ['concernement'], 'IN')
|
|
|
+ ->condition('uid', $parent->id())
|
|
|
+ ->accessCheck(TRUE);
|
|
|
+ $results = $query->execute();
|
|
|
+ return $results;
|
|
|
+ }),
|
|
|
+ $builder->produce('entity_load_multiple')
|
|
|
+ ->map('type', $builder->fromValue('node'))
|
|
|
+ ->map('ids', $builder->fromParent())
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('User', 'groups',
|
|
|
+ $builder->compose(
|
|
|
+ $builder->callback(function($parent, $arg){
|
|
|
+ $group_relationship_storage = \Drupal::entityTypeManager()->getStorage('group_relationship');
|
|
|
+
|
|
|
+ $query = $group_relationship_storage->getQuery()
|
|
|
+ ->condition('entity_id', $parent->id())
|
|
|
+ ->accessCheck(TRUE);
|
|
|
+ $group_relationship_ids = $query->execute();
|
|
|
+
|
|
|
+ $group_relationships = $group_relationship_storage->loadMultiple($group_relationship_ids);
|
|
|
+
|
|
|
+ $group_ids = [];
|
|
|
+ foreach ($group_relationships as $group_relationship) {
|
|
|
+ $group_ids[] = $group_relationship->getGroupId();
|
|
|
+ }
|
|
|
+ return $group_ids;
|
|
|
+ }),
|
|
|
+ $builder->produce('entity_load_multiple')
|
|
|
+ ->map('type', $builder->fromValue('group'))
|
|
|
+ ->map('ids', $builder->fromParent())
|
|
|
+ )
|
|
|
+ );
|
|
|
|
|
|
}
|
|
|
|