This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch CAUSEWAY-3676
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 91326bed29e8ebb0d791a545ffb05f1a1c17678e
Author: danhaywood <[email protected]>
AuthorDate: Tue Mar 5 21:52:38 2024 +0000

    CAUSEWAY-3676: adds action.target
---
 .../model/domain/rich/query/RichActionInvoke.java  | 12 ++--
 .../domain/rich/query/RichActionInvokeTarget.java  | 74 ++++++++++++++++++++++
 ..._and_edit_head_autocomplete_none_matching._.gql |  1 +
 ...t_head_autocomplete_none_matching.approved.json |  1 +
 ....scenario_find_department_and_change_name._.gql |  5 ++
 ...o_find_department_and_change_name.approved.json |  5 ++
 viewers/graphql/test/src/test/resources/schema.gql | 52 +++++++++++++++
 7 files changed, 146 insertions(+), 4 deletions(-)

diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/RichActionInvoke.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/RichActionInvoke.java
index 36a74ba5c5..29d3888ecb 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/RichActionInvoke.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/RichActionInvoke.java
@@ -37,8 +37,9 @@ import lombok.extern.log4j.Log4j2;
 public class RichActionInvoke
         extends ElementCustom {
 
-    private final RichActionInvokeResult result;
+    private final RichActionInvokeTarget target;
     private final RichActionInvokeArgs args;
+    private final RichActionInvokeResult result;
 
     public RichActionInvoke(
             final ActionInteractor actionInteractor,
@@ -46,13 +47,15 @@ public class RichActionInvoke
         
super(TypeNames.actionInvokeTypeNameFor(actionInteractor.getObjectSpecification(),
 actionInteractor.getObjectMember(), actionInteractor.getSchemaType()), 
context);
 
         if(isBuilt()) {
-            this.result = null;
+            this.target = null;
             this.args = null;
+            this.result = null;
             return;
         }
 
-        addChildFieldFor(this.result = new 
RichActionInvokeResult(actionInteractor, context));
+        addChildFieldFor(this.target = new 
RichActionInvokeTarget(actionInteractor, context));
         addChildFieldFor(this.args = new 
RichActionInvokeArgs(actionInteractor, context));
+        addChildFieldFor(this.result = new 
RichActionInvokeResult(actionInteractor, context));
 
         val gqlObjectType = buildObjectType();
         val objectAction = actionInteractor.getObjectMember();
@@ -91,8 +94,9 @@ public class RichActionInvoke
 
     @Override
     protected void addDataFetchersForChildren() {
-        result.addDataFetcher(this);
+        target.addDataFetcher(this);
         args.addDataFetcher(this);
+        result.addDataFetcher(this);
     }
 
 }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/RichActionInvokeTarget.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/RichActionInvokeTarget.java
new file mode 100644
index 0000000000..532b1120ff
--- /dev/null
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/RichActionInvokeTarget.java
@@ -0,0 +1,74 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.causeway.viewer.graphql.model.domain.rich.query;
+
+import graphql.schema.DataFetchingEnvironment;
+
+import org.apache.causeway.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
+import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
+import org.apache.causeway.viewer.graphql.model.context.Context;
+import org.apache.causeway.viewer.graphql.model.domain.Element;
+import 
org.apache.causeway.viewer.graphql.model.domain.common.interactors.ActionInteractor;
+import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
+
+import org.springframework.lang.Nullable;
+
+import graphql.schema.GraphQLList;
+import graphql.schema.GraphQLOutputType;
+import graphql.schema.GraphQLType;
+
+import lombok.Getter;
+import lombok.val;
+import lombok.extern.log4j.Log4j2;
+
+import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
+
+@Log4j2
+public class RichActionInvokeTarget
+        extends Element {
+
+    @Getter private final ActionInteractor actionInteractor;
+
+    public RichActionInvokeTarget(
+            final ActionInteractor actionInteractor,
+            final Context context) {
+        super(context);
+        this.actionInteractor = actionInteractor;
+
+        val objectSpecification = actionInteractor.getObjectSpecification();
+
+        val graphQLOutputType = 
context.typeMapper.outputTypeFor(objectSpecification, 
actionInteractor.getSchemaType());
+
+        if (graphQLOutputType != null) {
+            val fieldBuilder = newFieldDefinition()
+                    .name("target")
+                    .type(graphQLOutputType);
+            setField(fieldBuilder.build());
+        } else {
+            setField(null);
+        }
+    }
+
+    @Override
+    protected Object fetchData(DataFetchingEnvironment 
dataFetchingEnvironment) {
+        return BookmarkedPojo.sourceFrom(dataFetchingEnvironment, 
context).getTargetPojo();
+    }
+
+}
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching._.gql
index b5d874cff6..0980151fd2 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching._.gql
@@ -3,6 +3,7 @@
     university_dept_Departments {
       findDepartmentByName {
         invoke(name: "Classics") {
+          target
           results {
             deptHead {
               autoComplete(search: "XXX") {
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching.approved.json
index 5cbd65bca7..10cc72e812 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching.approved.json
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.find_department_and_edit_head_autocomplete_none_matching.approved.json
@@ -4,6 +4,7 @@
       "university_dept_Departments" : {
         "findDepartmentByName" : {
           "invoke" : {
+            "target" : 
"org.apache.causeway.viewer.graphql.viewer.test.domain.dept.Departments@69fe8c75",
             "results" : {
               "deptHead" : {
                 "autoComplete" : [ ]
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name._.gql
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name._.gql
index 2e9ef91ec0..2d3fe70330 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name._.gql
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name._.gql
@@ -26,6 +26,11 @@
           }
           changeName {
             invokeIdempotent(newName: "Ancient History") {
+              target {
+                name {
+                  get
+                }
+              }
               args {
                 newName
               }
diff --git 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name.approved.json
 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name.approved.json
index e53dc27253..e19892fe5d 100644
--- 
a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name.approved.json
+++ 
b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/Department_IntegTest.each.scenario_find_department_and_change_name.approved.json
@@ -26,6 +26,11 @@
             },
             "changeName" : {
               "invokeIdempotent" : {
+                "target" : {
+                  "name" : {
+                    "get" : "Classics"
+                  }
+                },
                 "args" : {
                   "newName" : "Ancient History"
                 },
diff --git a/viewers/graphql/test/src/test/resources/schema.gql 
b/viewers/graphql/test/src/test/resources/schema.gql
index 5b162765d0..0eb8c26809 100644
--- a/viewers/graphql/test/src/test/resources/schema.gql
+++ b/viewers/graphql/test/src/test/resources/schema.gql
@@ -698,6 +698,7 @@ type rich__causeway_applib_UserMenu__me__gqlv_action {
 
 type rich__causeway_applib_UserMenu__me__gqlv_action_invoke {
   results: rich__causeway_applib_UserMemento
+  target: String
 }
 
 type rich__causeway_applib_node_ActionNode {
@@ -930,6 +931,7 @@ type 
rich__causeway_conf_ConfigurationMenu__configuration__gqlv_action {
 
 type rich__causeway_conf_ConfigurationMenu__configuration__gqlv_action_invoke {
   results: rich__causeway_conf_ConfigurationViewmodel
+  target: String
 }
 
 type rich__causeway_conf_ConfigurationProperty {
@@ -1695,6 +1697,7 @@ type 
rich__causeway_security_LogoutMenu__logout__gqlv_action {
 
 type rich__causeway_security_LogoutMenu__logout__gqlv_action_invoke {
   results: String
+  target: String
 }
 
 type rich__causeway_testing_fixtures_FixtureResult {
@@ -2039,6 +2042,7 @@ type 
rich__university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_invo
   "Arguments used to invoke this action"
   args: 
rich__university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_args
   results: String
+  target: String
 }
 
 type 
rich__university_admin_AdminMenu__actionWithDisabledParam__gqlv_action_params {
@@ -2089,6 +2093,7 @@ type 
rich__university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_invoke
   "Arguments used to invoke this action"
   args: 
rich__university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_args
   results: String
+  target: String
 }
 
 type 
rich__university_admin_AdminMenu__actionWithHiddenParam__gqlv_action_params {
@@ -2114,6 +2119,7 @@ type 
rich__university_admin_AdminMenu__adminAction__gqlv_action {
 
 type rich__university_admin_AdminMenu__adminAction__gqlv_action_invoke {
   results: String
+  target: String
 }
 
 type rich__university_admin_AdminMenu__otherAdminAction__gqlv_action {
@@ -2125,6 +2131,7 @@ type 
rich__university_admin_AdminMenu__otherAdminAction__gqlv_action {
 
 type rich__university_admin_AdminMenu__otherAdminAction__gqlv_action_invoke {
   results: String
+  target: String
 }
 
 type rich__university_calc_Calculator {
@@ -2204,6 +2211,7 @@ type 
rich__university_calc_Calculator__addBigDecimals__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addBigDecimals__gqlv_action_args
   results: String
+  target: String
 }
 
 type rich__university_calc_Calculator__addBigDecimals__gqlv_action_params {
@@ -2245,6 +2253,7 @@ type 
rich__university_calc_Calculator__addBigIntegers__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addBigIntegers__gqlv_action_args
   results: String
+  target: String
 }
 
 type rich__university_calc_Calculator__addBigIntegers__gqlv_action_params {
@@ -2286,6 +2295,7 @@ type 
rich__university_calc_Calculator__addByteWrappers__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addByteWrappers__gqlv_action_args
   results: Int
+  target: String
 }
 
 type rich__university_calc_Calculator__addByteWrappers__gqlv_action_params {
@@ -2327,6 +2337,7 @@ type 
rich__university_calc_Calculator__addBytes__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addBytes__gqlv_action_args
   results: Byte
+  target: String
 }
 
 type rich__university_calc_Calculator__addBytes__gqlv_action_params {
@@ -2368,6 +2379,7 @@ type 
rich__university_calc_Calculator__addDoubleWrappers__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addDoubleWrappers__gqlv_action_args
   results: Float
+  target: String
 }
 
 type rich__university_calc_Calculator__addDoubleWrappers__gqlv_action_params {
@@ -2409,6 +2421,7 @@ type 
rich__university_calc_Calculator__addDoubles__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addDoubles__gqlv_action_args
   results: Float
+  target: String
 }
 
 type rich__university_calc_Calculator__addDoubles__gqlv_action_params {
@@ -2450,6 +2463,7 @@ type 
rich__university_calc_Calculator__addFloatWrappers__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addFloatWrappers__gqlv_action_args
   results: Float
+  target: String
 }
 
 type rich__university_calc_Calculator__addFloatWrappers__gqlv_action_params {
@@ -2491,6 +2505,7 @@ type 
rich__university_calc_Calculator__addFloats__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addFloats__gqlv_action_args
   results: Float
+  target: String
 }
 
 type rich__university_calc_Calculator__addFloats__gqlv_action_params {
@@ -2532,6 +2547,7 @@ type 
rich__university_calc_Calculator__addIntegerWrappers__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addIntegerWrappers__gqlv_action_args
   results: Int
+  target: String
 }
 
 type rich__university_calc_Calculator__addIntegerWrappers__gqlv_action_params {
@@ -2573,6 +2589,7 @@ type 
rich__university_calc_Calculator__addIntegers__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addIntegers__gqlv_action_args
   results: Int
+  target: String
 }
 
 type rich__university_calc_Calculator__addIntegers__gqlv_action_params {
@@ -2614,6 +2631,7 @@ type 
rich__university_calc_Calculator__addShortWrappers__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addShortWrappers__gqlv_action_args
   results: Short
+  target: String
 }
 
 type rich__university_calc_Calculator__addShortWrappers__gqlv_action_params {
@@ -2655,6 +2673,7 @@ type 
rich__university_calc_Calculator__addShorts__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__addShorts__gqlv_action_args
   results: Short
+  target: String
 }
 
 type rich__university_calc_Calculator__addShorts__gqlv_action_params {
@@ -2696,6 +2715,7 @@ type 
rich__university_calc_Calculator__and__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__and__gqlv_action_args
   results: Boolean
+  target: String
 }
 
 type rich__university_calc_Calculator__and__gqlv_action_params {
@@ -2737,6 +2757,7 @@ type 
rich__university_calc_Calculator__concat__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__concat__gqlv_action_args
   results: String
+  target: String
 }
 
 type rich__university_calc_Calculator__concat__gqlv_action_params {
@@ -2785,6 +2806,7 @@ type 
rich__university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_args
   results: String
+  target: String
 }
 
 type rich__university_calc_Calculator__jdk8LocalPlusDays__gqlv_action_params {
@@ -2820,6 +2842,7 @@ type 
rich__university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action
   "Arguments used to invoke this action"
   args: 
rich__university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_args
   results: String
+  target: String
 }
 
 type 
rich__university_calc_Calculator__jdk8LocalPlusHoursAndMinutes__gqlv_action_params
 {
@@ -2879,6 +2902,7 @@ type 
rich__university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gql
   "Arguments used to invoke this action"
   args: 
rich__university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_args
   results: DateTime
+  target: String
 }
 
 type 
rich__university_calc_Calculator__jdk8OffsetPlusDaysAndHoursAndMinutes__gqlv_action_params
 {
@@ -2932,6 +2956,7 @@ type 
rich__university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_actio
   "Arguments used to invoke this action"
   args: 
rich__university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_args
   results: Time
+  target: String
 }
 
 type 
rich__university_calc_Calculator__jdk8OffsetPlusHoursAndMinutes__gqlv_action_params
 {
@@ -2991,6 +3016,7 @@ type 
rich__university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv
   "Arguments used to invoke this action"
   args: 
rich__university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_args
   results: String
+  target: String
 }
 
 type 
rich__university_calc_Calculator__jdk8ZonedPlusDaysAndHoursAndMinutes__gqlv_action_params
 {
@@ -3050,6 +3076,7 @@ type 
rich__university_calc_Calculator__jodaLocalPlusDays__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__jodaLocalPlusDays__gqlv_action_args
   results: String
+  target: String
 }
 
 type rich__university_calc_Calculator__jodaLocalPlusDays__gqlv_action_params {
@@ -3085,6 +3112,7 @@ type 
rich__university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action
   "Arguments used to invoke this action"
   args: 
rich__university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_args
   results: String
+  target: String
 }
 
 type 
rich__university_calc_Calculator__jodaLocalPlusHoursAndMinutes__gqlv_action_params
 {
@@ -3144,6 +3172,7 @@ type 
rich__university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_acti
   "Arguments used to invoke this action"
   args: 
rich__university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_args
   results: String
+  target: String
 }
 
 type 
rich__university_calc_Calculator__jodaPlusDaysAndHoursAndMinutes__gqlv_action_params
 {
@@ -3195,6 +3224,7 @@ type 
rich__university_calc_Calculator__nextMonth__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__nextMonth__gqlv_action_args
   results: 
rich__org_apache_causeway_viewer_graphql_viewer_test_domain_calc_Month__gqlv_enum
+  target: String
 }
 
 type rich__university_calc_Calculator__nextMonth__gqlv_action_params {
@@ -3227,6 +3257,7 @@ type 
rich__university_calc_Calculator__not__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__not__gqlv_action_args
   results: Boolean
+  target: String
 }
 
 type rich__university_calc_Calculator__not__gqlv_action_params {
@@ -3259,6 +3290,7 @@ type 
rich__university_calc_Calculator__or__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_calc_Calculator__or__gqlv_action_args
   results: Boolean
+  target: String
 }
 
 type rich__university_calc_Calculator__or__gqlv_action_params {
@@ -3291,6 +3323,7 @@ type 
rich__university_calc_Calculator__someLocale__gqlv_action {
 
 type rich__university_calc_Calculator__someLocale__gqlv_action_invoke {
   results: String
+  target: String
 }
 
 type rich__university_calc_Calculator__someUrl__gqlv_action {
@@ -3302,6 +3335,7 @@ type 
rich__university_calc_Calculator__someUrl__gqlv_action {
 
 type rich__university_calc_Calculator__someUrl__gqlv_action_invoke {
   results: String
+  target: String
 }
 
 type rich__university_calc_Calculator__someUuid__gqlv_action {
@@ -3313,6 +3347,7 @@ type 
rich__university_calc_Calculator__someUuid__gqlv_action {
 
 type rich__university_calc_Calculator__someUuid__gqlv_action_invoke {
   results: UUID
+  target: String
 }
 
 "University department specializing in a field of study"
@@ -3355,6 +3390,7 @@ type 
rich__university_dept_Department__addStaffMember__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_Department__addStaffMember__gqlv_action_args
   results: rich__university_dept_Department
+  target: rich__university_dept_Department
 }
 
 type rich__university_dept_Department__addStaffMember__gqlv_action_params {
@@ -3388,6 +3424,7 @@ type 
rich__university_dept_Department__addStaffMembers__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_Department__addStaffMembers__gqlv_action_args
   results: rich__university_dept_Department
+  target: rich__university_dept_Department
 }
 
 type rich__university_dept_Department__addStaffMembers__gqlv_action_params {
@@ -3421,6 +3458,7 @@ type 
rich__university_dept_Department__changeDeptHead__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_Department__changeDeptHead__gqlv_action_args
   results: rich__university_dept_Department
+  target: rich__university_dept_Department
 }
 
 type rich__university_dept_Department__changeDeptHead__gqlv_action_params {
@@ -3455,6 +3493,7 @@ type 
rich__university_dept_Department__changeName__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_Department__changeName__gqlv_action_args
   results: rich__university_dept_Department
+  target: rich__university_dept_Department
 }
 
 type rich__university_dept_Department__changeName__gqlv_action_params {
@@ -3520,6 +3559,7 @@ type 
rich__university_dept_Department__removeStaffMember__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_Department__removeStaffMember__gqlv_action_args
   results: rich__university_dept_Department
+  target: rich__university_dept_Department
 }
 
 type rich__university_dept_Department__removeStaffMember__gqlv_action_params {
@@ -3579,6 +3619,7 @@ type 
rich__university_dept_Departments__createDepartment__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_Departments__createDepartment__gqlv_action_args
   results: rich__university_dept_Department
+  target: String
 }
 
 type rich__university_dept_Departments__createDepartment__gqlv_action_params {
@@ -3605,6 +3646,7 @@ type 
rich__university_dept_Departments__findAllDepartments__gqlv_action {
 
 type rich__university_dept_Departments__findAllDepartments__gqlv_action_invoke 
{
   results: [rich__university_dept_Department]
+  target: String
 }
 
 "University department specializing in a field of study"
@@ -3625,6 +3667,7 @@ type 
rich__university_dept_Departments__findDepartmentByName__gqlv_action_invoke
   "Arguments used to invoke this action"
   args: 
rich__university_dept_Departments__findDepartmentByName__gqlv_action_args
   results: rich__university_dept_Department
+  target: String
 }
 
 type 
rich__university_dept_Departments__findDepartmentByName__gqlv_action_params {
@@ -3679,6 +3722,7 @@ type 
rich__university_dept_DeptHead__changeDepartment__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_DeptHead__changeDepartment__gqlv_action_args
   results: rich__university_dept_DeptHead
+  target: rich__university_dept_DeptHead
 }
 
 type rich__university_dept_DeptHead__changeDepartment__gqlv_action_params {
@@ -3704,6 +3748,7 @@ type 
rich__university_dept_DeptHead__changeName__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_DeptHead__changeName__gqlv_action_args
   results: rich__university_dept_DeptHead
+  target: rich__university_dept_DeptHead
 }
 
 type rich__university_dept_DeptHead__changeName__gqlv_action_params {
@@ -3768,6 +3813,7 @@ type 
rich__university_dept_DeptHeads__findAllHeads__gqlv_action {
 
 type rich__university_dept_DeptHeads__findAllHeads__gqlv_action_invoke {
   results: [rich__university_dept_DeptHead]
+  target: String
 }
 
 "Departmental head, responsible for curriculum, research, funding and staff"
@@ -3788,6 +3834,7 @@ type 
rich__university_dept_DeptHeads__findHeadByName__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_DeptHeads__findHeadByName__gqlv_action_args
   results: rich__university_dept_DeptHead
+  target: String
 }
 
 type rich__university_dept_DeptHeads__findHeadByName__gqlv_action_params {
@@ -3826,6 +3873,7 @@ type 
rich__university_dept_People__findNamed__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_People__findNamed__gqlv_action_args
   results: rich__university_dept_Person
+  target: String
 }
 
 type rich__university_dept_People__findNamed__gqlv_action_params {
@@ -3857,6 +3905,7 @@ type 
rich__university_dept_People__nameOf__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_People__nameOf__gqlv_action_args
   results: String
+  target: String
 }
 
 type rich__university_dept_People__nameOf__gqlv_action_params {
@@ -4005,6 +4054,7 @@ type 
rich__university_dept_Staff__createStaffMember__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_Staff__createStaffMember__gqlv_action_args
   results: rich__university_dept_StaffMember
+  target: String
 }
 
 type rich__university_dept_Staff__createStaffMember__gqlv_action_params {
@@ -4031,6 +4081,7 @@ type 
rich__university_dept_Staff__findAllStaffMembers__gqlv_action {
 
 type rich__university_dept_Staff__findAllStaffMembers__gqlv_action_invoke {
   results: [rich__university_dept_StaffMember]
+  target: String
 }
 
 "Staff member of a university department, responsible for delivering lectures, 
tutorials, exam invigilation and candidate interviews"
@@ -4051,6 +4102,7 @@ type 
rich__university_dept_Staff__findStaffMemberByName__gqlv_action_invoke {
   "Arguments used to invoke this action"
   args: rich__university_dept_Staff__findStaffMemberByName__gqlv_action_args
   results: rich__university_dept_StaffMember
+  target: String
 }
 
 type rich__university_dept_Staff__findStaffMemberByName__gqlv_action_params {

Reply via email to