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 {
