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 b021da9d6d31a49d7f19ac2352c7c44cffc8971c Author: danhaywood <[email protected]> AuthorDate: Tue Feb 13 00:45:38 2024 +0000 CAUSEWAY-3676: completes saveAs; adds description to metamodel --- .../core/config/CausewayConfiguration.java | 2 +- .../viewer/graphql/model/domain/GqlvAction.java | 35 ++- .../graphql/model/domain/GqlvDomainObject.java | 17 +- .../viewer/graphql/model/domain/GqlvMember.java | 2 + .../viewer/graphql/model/domain/GqlvMeta.java | 4 + .../graphql/model/domain/GqlvMetaSaveAs.java | 5 +- .../model/domain/GqlvMutationForAction.java | 8 +- .../model/domain/GqlvMutationForProperty.java | 8 +- .../viewer/test/domain/dept/Department.java | 2 + .../graphql/viewer/test/domain/dept/DeptHead.java | 2 + .../viewer/test/domain/dept/StaffMember.java | 4 +- ...tegTest.change_department_name_visibility._.gql | 2 +- ...change_department_name_visibility.approved.json | 2 +- ...IntegTest.find_department_and_change_name._.gql | 23 +- ...t.find_department_and_change_name.approved.json | 25 +- viewers/graphql/test/src/test/resources/schema.gql | 282 +++++++++++++-------- 16 files changed, 243 insertions(+), 180 deletions(-) diff --git a/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java b/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java index 4e3f88f79d..760fe7baed 100644 --- a/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java +++ b/core/config/src/main/java/org/apache/causeway/core/config/CausewayConfiguration.java @@ -2398,7 +2398,7 @@ public class CausewayConfiguration { /** * Lookup field prefix */ - private String fieldNamePrefix = "_gqlv_lookup__"; + private String fieldNamePrefix = ""; /** * Lookup field suffix */ diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java index 2f31c22090..9bc0cf1eee 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvAction.java @@ -41,6 +41,7 @@ import org.apache.causeway.core.metamodel.spec.feature.ObjectAction; import org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter; import org.apache.causeway.core.metamodel.spec.feature.OneToManyActionParameter; import org.apache.causeway.core.metamodel.spec.feature.OneToOneActionParameter; +import org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo; import org.apache.causeway.viewer.graphql.model.types.TypeMapper; import org.apache.causeway.viewer.graphql.model.context.Context; @@ -115,16 +116,16 @@ public class GqlvAction /** * - * @param dataFetchingEnvironment + * @param environment * @param objectAction * @param context * @return */ public static Can<ManagedObject> argumentManagedObjectsFor( - final DataFetchingEnvironment dataFetchingEnvironment, + final DataFetchingEnvironment environment, final ObjectAction objectAction, final Context context) { - Map<String, Object> argumentPojos = dataFetchingEnvironment.getArguments(); + Map<String, Object> argumentPojos = environment.getArguments(); Can<ObjectActionParameter> parameters = objectAction.getParameters(); return parameters .map(oap -> { @@ -144,12 +145,12 @@ public class GqlvAction if (argumentValue instanceof List) { val argumentValueList = (List<Object>) argumentValue; pojoOrPojoList = argumentValueList.stream() - .map(value -> asPojo(oap.getElementType(), value, context.bookmarkService)) + .map(value -> asPojo(oap.getElementType(), value, context.bookmarkService, environment)) .filter(Optional::isPresent) .map(Optional::get) .collect(Collectors.toList()); } else { - pojoOrPojoList = asPojo(oap.getElementType(), argumentValue, context.bookmarkService).orElse(null); + pojoOrPojoList = asPojo(oap.getElementType(), argumentValue, context.bookmarkService, environment).orElse(null); } return ManagedObject.adaptParameter(oap, pojoOrPojoList); @@ -185,15 +186,25 @@ public class GqlvAction public static Optional<Object> asPojo( final ObjectSpecification elementType, final Object argumentValueObj, - final BookmarkService bookmarkService) { + final BookmarkService bookmarkService, + final DataFetchingEnvironment environment) { val argumentValue = (Map<String, String>) argumentValueObj; String idValue = argumentValue.get("id"); - Class<?> paramClass = elementType.getCorrespondingClass(); - Optional<Bookmark> bookmarkIfAny = bookmarkService.bookmarkFor(paramClass, idValue); - return bookmarkIfAny - .map(bookmarkService::lookup) - .filter(Optional::isPresent) - .map(Optional::get); + if (idValue != null) { + Class<?> paramClass = elementType.getCorrespondingClass(); + Optional<Bookmark> bookmarkIfAny = bookmarkService.bookmarkFor(paramClass, idValue); + return bookmarkIfAny + .map(bookmarkService::lookup) + .filter(Optional::isPresent) + .map(Optional::get); + } + String refValue = argumentValue.get("ref"); + if (refValue != null) { + String key = GqlvMetaSaveAs.keyFor(refValue); + BookmarkedPojo value = environment.getGraphQlContext().get(key); + return Optional.of(value).map(BookmarkedPojo::getTargetPojo); + } + throw new IllegalArgumentException("Either 'id' or 'ref' must be specified for a DomainObject input type"); } public void addGqlArguments( diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java index 2508aecdf0..e4f895fd26 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvDomainObject.java @@ -31,7 +31,6 @@ import graphql.schema.GraphQLInputObjectType; import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition; import static graphql.schema.GraphQLInputObjectField.newInputObjectField; import static graphql.schema.GraphQLInputObjectType.newInputObject; -import static graphql.schema.GraphQLNonNull.nonNull; import org.apache.causeway.core.metamodel.spec.ActionScope; import org.apache.causeway.core.metamodel.spec.ObjectSpecification; @@ -73,6 +72,7 @@ public class GqlvDomainObject super(TypeNames.objectTypeNameFor(objectSpecification), context); this.objectSpecification = objectSpecification; + gqlObjectTypeBuilder.description(objectSpecification.getDescription()); this.meta = new GqlvMeta(this, context); addChildField(meta.getField()); @@ -81,8 +81,15 @@ public class GqlvDomainObject inputTypeBuilder .field(newInputObjectField() .name("id") - .type(nonNull(Scalars.GraphQLID)) - .build()); + .type(Scalars.GraphQLID) + .build() + ) + .field(newInputObjectField() + .name("ref") + .type(Scalars.GraphQLString) + .build() + ) + ; gqlInputObjectType = inputTypeBuilder.build(); setField(buildFieldDefinition(gqlInputObjectType)); @@ -96,7 +103,7 @@ public class GqlvDomainObject } - private GraphQLFieldDefinition buildFieldDefinition(GraphQLInputObjectType gqlInputObjectType) { + private GraphQLFieldDefinition buildFieldDefinition(final GraphQLInputObjectType gqlInputObjectType) { val lookupConfig = this.context.causewayConfiguration.getViewer().getGraphql().getLookup(); val objectSpec = getObjectSpecification(); val fieldName = String.format("%s%s%s", @@ -161,7 +168,7 @@ public class GqlvDomainObject @Override protected Object fetchData(DataFetchingEnvironment environment) { Object target = environment.getArgument("object"); - return GqlvAction.asPojo(getObjectSpecification(), target, this.context.bookmarkService) + return GqlvAction.asPojo(getObjectSpecification(), target, this.context.bookmarkService, environment) .orElse(null); } diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java index 9aabeb5195..be1ab35bcb 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMember.java @@ -42,6 +42,8 @@ public abstract class GqlvMember<T extends ObjectMember, H extends GqlvMember.Ho super(typeName, context); this.holder = holder; this.objectMember = objectMember; + + objectMember.getCanonicalDescription().ifPresent(gqlObjectTypeBuilder::description); } public String getId() { diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java index 8b51c01f2c..39e11d64c9 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMeta.java @@ -134,6 +134,10 @@ public class GqlvMeta extends GqlvAbstractCustom { .orElse(null); } + public Bookmark bookmark() { + return bookmark; + } + } public interface Holder diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaSaveAs.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaSaveAs.java index c095689b01..9f2e019396 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaSaveAs.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMetaSaveAs.java @@ -45,11 +45,12 @@ public class GqlvMetaSaveAs extends GqlvAbstract { @Override protected Object fetchData(DataFetchingEnvironment environment) { String ref = environment.getArgument("ref"); - environment.getGraphQlContext().put(keyFor(ref), BookmarkedPojo.sourceFrom(environment)); + GqlvMeta.Fetcher source = environment.getSource(); + environment.getGraphQlContext().put(keyFor(ref), new BookmarkedPojo(source.bookmark(), context.bookmarkService)); return ref; } - private static String keyFor(String ref) { + public static String keyFor(String ref) { return GqlvMetaSaveAs.class.getName() + "#" + ref; } diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java index 81274cac1a..017e25ad38 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForAction.java @@ -116,7 +116,7 @@ public class GqlvMutationForAction extends GqlvAbstract { } @Override - protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) { + protected Object fetchData(final DataFetchingEnvironment environment) { val isService = objectSpec.getBeanSort().isManagedBeanContributing(); @@ -124,8 +124,8 @@ public class GqlvMutationForAction extends GqlvAbstract { if (isService) { sourcePojo = context.serviceRegistry.lookupServiceElseFail(objectSpec.getCorrespondingClass()); } else { - Object target = dataFetchingEnvironment.getArgument(argumentName); - sourcePojo = GqlvAction.asPojo(objectSpec, target, context.bookmarkService) + Object target = environment.getArgument(argumentName); + sourcePojo = GqlvAction.asPojo(objectSpec, target, context.bookmarkService, environment) .orElseThrow(); // TODO: better error handling if no such object found. } @@ -142,7 +142,7 @@ public class GqlvMutationForAction extends GqlvAbstract { } val head = objectAction.interactionHead(managedObject); - val argumentManagedObjects = argumentManagedObjectsFor(dataFetchingEnvironment, objectAction); + val argumentManagedObjects = argumentManagedObjectsFor(environment, objectAction); val validityConsent = objectAction.isArgumentSetValid(head, argumentManagedObjects, InteractionInitiatedBy.USER); if (validityConsent.isVetoed()) { diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java index 358f68d88c..75fb1e5450 100644 --- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java +++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/GqlvMutationForProperty.java @@ -76,16 +76,16 @@ public class GqlvMutationForProperty extends GqlvAbstract { } @Override - protected Object fetchData(final DataFetchingEnvironment dataFetchingEnvironment) { + protected Object fetchData(final DataFetchingEnvironment environment) { - Object target = dataFetchingEnvironment.getArgument(argumentName); - Object sourcePojo = GqlvAction.asPojo(objectSpec, target, context.bookmarkService) + Object target = environment.getArgument(argumentName); + Object sourcePojo = GqlvAction.asPojo(objectSpec, target, context.bookmarkService, environment) .orElseThrow(); // TODO: better error handling if no such object found. val managedObject = ManagedObject.adaptSingular(objectSpec, sourcePojo); - Map<String, Object> arguments = dataFetchingEnvironment.getArguments(); + Map<String, Object> arguments = environment.getArguments(); Object argumentValue = arguments.get(oneToOneAssociation.getId()); ManagedObject argumentManagedObject = ManagedObject.adaptProperty(oneToOneAssociation, argumentValue); diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/Department.java b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/Department.java index 9233736c00..2bd105a4d5 100644 --- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/Department.java +++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/Department.java @@ -40,6 +40,7 @@ import org.apache.causeway.applib.annotation.ActionLayout; import org.apache.causeway.applib.annotation.Bounding; import org.apache.causeway.applib.annotation.Collection; import org.apache.causeway.applib.annotation.DomainObject; +import org.apache.causeway.applib.annotation.DomainObjectLayout; import org.apache.causeway.applib.annotation.Editing; import org.apache.causeway.applib.annotation.Nature; import org.apache.causeway.applib.annotation.Property; @@ -59,6 +60,7 @@ import lombok.val; @javax.inject.Named("university.dept.Department") @NoArgsConstructor @DomainObject(nature = Nature.ENTITY, bounding = Bounding.BOUNDED) +@DomainObjectLayout(describedAs = "University department specializing in a field of study") public class Department implements Comparable<Department> { diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/DeptHead.java b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/DeptHead.java index 5d7b602736..12ed53631a 100644 --- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/DeptHead.java +++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/DeptHead.java @@ -34,6 +34,7 @@ import javax.persistence.Transient; import org.apache.causeway.applib.annotation.Action; import org.apache.causeway.applib.annotation.DomainObject; +import org.apache.causeway.applib.annotation.DomainObjectLayout; import org.apache.causeway.applib.annotation.Nature; import org.apache.causeway.applib.annotation.Property; import org.apache.causeway.applib.annotation.SemanticsOf; @@ -55,6 +56,7 @@ import lombok.Setter; autoCompleteRepository = DeptHeadRepository.class, autoCompleteMethod = "findByNameContaining" ) +@DomainObjectLayout(describedAs = "Departmental head, responsible for curriculum, research, funding and staff") @NoArgsConstructor public class DeptHead implements Comparable<DeptHead> { diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/StaffMember.java b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/StaffMember.java index 0298469d8e..a8e471699c 100644 --- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/StaffMember.java +++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/domain/dept/StaffMember.java @@ -32,6 +32,7 @@ import javax.persistence.ManyToOne; import javax.persistence.Table; import org.apache.causeway.applib.annotation.DomainObject; +import org.apache.causeway.applib.annotation.DomainObjectLayout; import org.apache.causeway.applib.annotation.Editing; import org.apache.causeway.applib.annotation.Nature; import org.apache.causeway.applib.annotation.Optionality; @@ -50,8 +51,9 @@ import lombok.Setter; name = "StaffMember" ) @javax.inject.Named("university.dept.StaffMember") -@NoArgsConstructor @DomainObject(nature = Nature.ENTITY, autoCompleteRepository = StaffMemberRepository.class, autoCompleteMethod = "findByNameMatching") +@DomainObjectLayout(describedAs = "Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews") +@NoArgsConstructor public class StaffMember implements Comparable<StaffMember> { public StaffMember( diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql index 41a7cf7c38..bdb740382f 100644 --- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql +++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility._.gql @@ -1,5 +1,5 @@ { - _gqlv_lookup__university_dept_Department(object: {id: "$departmentId"}) { + university_dept_Department(object: {id: "$departmentId"}) { changeName { hidden } diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json index cb35165718..e9d6798864 100644 --- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json +++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/query_and_mutations/DepartmentMutating_IntegTest.change_department_name_visibility.approved.json @@ -1,6 +1,6 @@ { "data" : { - "_gqlv_lookup__university_dept_Department" : { + "university_dept_Department" : { "changeName" : { "hidden" : false } diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name._.gql b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name._.gql index 5bb0283dd3..351faedeb6 100644 --- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name._.gql +++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name._.gql @@ -1,6 +1,7 @@ { Scenario(name: "Find department and change its name"){ Name + Given { university_dept_Departments { findDepartmentByName { @@ -12,25 +13,11 @@ } } } + When { - university_dept_Departments { - findDepartmentByName { - invoke(name: "Classics") { - changeName { - invokeIdempotent(newName: "Ancient History") { - name { - get - } - } - } - } - } - } - } - Then { - university_dept_Departments { - findDepartmentByName { - invoke(name: "Ancient History") { + university_dept_Department(object: {ref: "classics_dept"}) { + changeName { + invokeIdempotent(newName: "Ancient History") { name { get } diff --git a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name.approved.json b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name.approved.json index fbc3a7ca8f..8f6b6c89f8 100644 --- a/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name.approved.json +++ b/viewers/graphql/test/src/test/java/org/apache/causeway/viewer/graphql/viewer/test/e2e/scenario/Department_IntegTest.find_department_and_change_name.approved.json @@ -6,32 +6,17 @@ "university_dept_Departments" : { "findDepartmentByName" : { "invoke" : { - "name" : { - "get" : "Classics" + "_gqlv_meta" : { + "saveAs" : "classics_dept" } } } } }, "When" : { - "university_dept_Departments" : { - "findDepartmentByName" : { - "invoke" : { - "changeName" : { - "invokeIdempotent" : { - "name" : { - "get" : "Ancient History" - } - } - } - } - } - } - }, - "Then" : { - "university_dept_Departments" : { - "findDepartmentByName" : { - "invoke" : { + "university_dept_Department" : { + "changeName" : { + "invokeIdempotent" : { "name" : { "get" : "Ancient History" } diff --git a/viewers/graphql/test/src/test/resources/schema.gql b/viewers/graphql/test/src/test/resources/schema.gql index 8920b0eae9..9e0889217c 100644 --- a/viewers/graphql/test/src/test/resources/schema.gql +++ b/viewers/graphql/test/src/test/resources/schema.gql @@ -24,51 +24,51 @@ directive @specifiedBy( type Query { Scenario(name: String): Scenario - _gqlv_lookup__causeway_applib_DomainObjectList(object: causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList - _gqlv_lookup__causeway_applib_FacetGroupNode(object: causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode - _gqlv_lookup__causeway_applib_ParameterNode(object: causeway_applib_ParameterNode__gqlv_input): causeway_applib_ParameterNode - _gqlv_lookup__causeway_applib_PropertyNode(object: causeway_applib_PropertyNode__gqlv_input): causeway_applib_PropertyNode - _gqlv_lookup__causeway_applib_RoleMemento(object: causeway_applib_RoleMemento__gqlv_input): causeway_applib_RoleMemento - _gqlv_lookup__causeway_applib_TypeNode(object: causeway_applib_TypeNode__gqlv_input): causeway_applib_TypeNode - _gqlv_lookup__causeway_applib_UserMemento(object: causeway_applib_UserMemento__gqlv_input): causeway_applib_UserMemento - _gqlv_lookup__causeway_applib_node_ActionNode(object: causeway_applib_node_ActionNode__gqlv_input): causeway_applib_node_ActionNode - _gqlv_lookup__causeway_applib_node_CollectionNode(object: causeway_applib_node_CollectionNode__gqlv_input): causeway_applib_node_CollectionNode - _gqlv_lookup__causeway_applib_node_FacetAttrNode(object: causeway_applib_node_FacetAttrNode__gqlv_input): causeway_applib_node_FacetAttrNode - _gqlv_lookup__causeway_applib_node_FacetNode(object: causeway_applib_node_FacetNode__gqlv_input): causeway_applib_node_FacetNode - _gqlv_lookup__causeway_conf_ConfigurationProperty(object: causeway_conf_ConfigurationProperty__gqlv_input): causeway_conf_ConfigurationProperty - _gqlv_lookup__causeway_conf_ConfigurationViewmodel(object: causeway_conf_ConfigurationViewmodel__gqlv_input): causeway_conf_ConfigurationViewmodel - _gqlv_lookup__causeway_feat_ApplicationFeatureViewModel(object: causeway_feat_ApplicationFeatureViewModel__gqlv_input): causeway_feat_ApplicationFeatureViewModel - _gqlv_lookup__causeway_feat_ApplicationNamespace(object: causeway_feat_ApplicationNamespace__gqlv_input): causeway_feat_ApplicationNamespace - _gqlv_lookup__causeway_feat_ApplicationType(object: causeway_feat_ApplicationType__gqlv_input): causeway_feat_ApplicationType - _gqlv_lookup__causeway_feat_ApplicationTypeAction(object: causeway_feat_ApplicationTypeAction__gqlv_input): causeway_feat_ApplicationTypeAction - _gqlv_lookup__causeway_feat_ApplicationTypeCollection(object: causeway_feat_ApplicationTypeCollection__gqlv_input): causeway_feat_ApplicationTypeCollection - _gqlv_lookup__causeway_feat_ApplicationTypeMember(object: causeway_feat_ApplicationTypeMember__gqlv_input): causeway_feat_ApplicationTypeMember - _gqlv_lookup__causeway_feat_ApplicationTypeProperty(object: causeway_feat_ApplicationTypeProperty__gqlv_input): causeway_feat_ApplicationTypeProperty - _gqlv_lookup__causeway_schema_metamodel_v2_DomainClassDto(object: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): causeway_schema_metamodel_v2_DomainClassDto - _gqlv_lookup__causeway_security_LoginRedirect(object: causeway_security_LoginRedirect__gqlv_input): causeway_security_LoginRedirect - _gqlv_lookup__causeway_testing_fixtures_FixtureResult(object: causeway_testing_fixtures_FixtureResult__gqlv_input): causeway_testing_fixtures_FixtureResult - _gqlv_lookup__java_lang_Runnable(object: java_lang_Runnable__gqlv_input): java_lang_Runnable - _gqlv_lookup__java_util_Map(object: java_util_Map__gqlv_input): java_util_Map - _gqlv_lookup__java_util_SortedMap(object: java_util_SortedMap__gqlv_input): java_util_SortedMap - _gqlv_lookup__java_util_concurrent_Callable(object: java_util_concurrent_Callable__gqlv_input): java_util_concurrent_Callable - _gqlv_lookup__java_util_function_BiFunction(object: java_util_function_BiFunction__gqlv_input): java_util_function_BiFunction - _gqlv_lookup__java_util_function_Consumer(object: java_util_function_Consumer__gqlv_input): java_util_function_Consumer - _gqlv_lookup__java_util_function_Function(object: java_util_function_Function__gqlv_input): java_util_function_Function - _gqlv_lookup__java_util_stream_Stream(object: java_util_stream_Stream__gqlv_input): java_util_stream_Stream - _gqlv_lookup__org_apache_causeway_core_metamodel_inspect_model_MMNode(object: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MMNode - _gqlv_lookup__org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MemberNode - _gqlv_lookup__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript - _gqlv_lookup__university_dept_Department(object: university_dept_Department__gqlv_input): university_dept_Department - _gqlv_lookup__university_dept_DeptHead(object: university_dept_DeptHead__gqlv_input): university_dept_DeptHead - _gqlv_lookup__university_dept_StaffMember(object: university_dept_StaffMember__gqlv_input): university_dept_StaffMember + causeway_applib_DomainObjectList(object: causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList + causeway_applib_FacetGroupNode(object: causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode + causeway_applib_ParameterNode(object: causeway_applib_ParameterNode__gqlv_input): causeway_applib_ParameterNode + causeway_applib_PropertyNode(object: causeway_applib_PropertyNode__gqlv_input): causeway_applib_PropertyNode + causeway_applib_RoleMemento(object: causeway_applib_RoleMemento__gqlv_input): causeway_applib_RoleMemento + causeway_applib_TypeNode(object: causeway_applib_TypeNode__gqlv_input): causeway_applib_TypeNode + causeway_applib_UserMemento(object: causeway_applib_UserMemento__gqlv_input): causeway_applib_UserMemento causeway_applib_UserMenu: causeway_applib_UserMenu + causeway_applib_node_ActionNode(object: causeway_applib_node_ActionNode__gqlv_input): causeway_applib_node_ActionNode + causeway_applib_node_CollectionNode(object: causeway_applib_node_CollectionNode__gqlv_input): causeway_applib_node_CollectionNode + causeway_applib_node_FacetAttrNode(object: causeway_applib_node_FacetAttrNode__gqlv_input): causeway_applib_node_FacetAttrNode + causeway_applib_node_FacetNode(object: causeway_applib_node_FacetNode__gqlv_input): causeway_applib_node_FacetNode causeway_conf_ConfigurationMenu: causeway_conf_ConfigurationMenu + causeway_conf_ConfigurationProperty(object: causeway_conf_ConfigurationProperty__gqlv_input): causeway_conf_ConfigurationProperty + causeway_conf_ConfigurationViewmodel(object: causeway_conf_ConfigurationViewmodel__gqlv_input): causeway_conf_ConfigurationViewmodel + causeway_feat_ApplicationFeatureViewModel(object: causeway_feat_ApplicationFeatureViewModel__gqlv_input): causeway_feat_ApplicationFeatureViewModel + causeway_feat_ApplicationNamespace(object: causeway_feat_ApplicationNamespace__gqlv_input): causeway_feat_ApplicationNamespace + causeway_feat_ApplicationType(object: causeway_feat_ApplicationType__gqlv_input): causeway_feat_ApplicationType + causeway_feat_ApplicationTypeAction(object: causeway_feat_ApplicationTypeAction__gqlv_input): causeway_feat_ApplicationTypeAction + causeway_feat_ApplicationTypeCollection(object: causeway_feat_ApplicationTypeCollection__gqlv_input): causeway_feat_ApplicationTypeCollection + causeway_feat_ApplicationTypeMember(object: causeway_feat_ApplicationTypeMember__gqlv_input): causeway_feat_ApplicationTypeMember + causeway_feat_ApplicationTypeProperty(object: causeway_feat_ApplicationTypeProperty__gqlv_input): causeway_feat_ApplicationTypeProperty + causeway_schema_metamodel_v2_DomainClassDto(object: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): causeway_schema_metamodel_v2_DomainClassDto + causeway_security_LoginRedirect(object: causeway_security_LoginRedirect__gqlv_input): causeway_security_LoginRedirect causeway_security_LogoutMenu: causeway_security_LogoutMenu + causeway_testing_fixtures_FixtureResult(object: causeway_testing_fixtures_FixtureResult__gqlv_input): causeway_testing_fixtures_FixtureResult + java_lang_Runnable(object: java_lang_Runnable__gqlv_input): java_lang_Runnable + java_util_Map(object: java_util_Map__gqlv_input): java_util_Map + java_util_SortedMap(object: java_util_SortedMap__gqlv_input): java_util_SortedMap + java_util_concurrent_Callable(object: java_util_concurrent_Callable__gqlv_input): java_util_concurrent_Callable + java_util_function_BiFunction(object: java_util_function_BiFunction__gqlv_input): java_util_function_BiFunction + java_util_function_Consumer(object: java_util_function_Consumer__gqlv_input): java_util_function_Consumer + java_util_function_Function(object: java_util_function_Function__gqlv_input): java_util_function_Function + java_util_stream_Stream(object: java_util_stream_Stream__gqlv_input): java_util_stream_Stream + org_apache_causeway_core_metamodel_inspect_model_MMNode(object: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MMNode + org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MemberNode + org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript university_admin_AdminMenu: university_admin_AdminMenu university_calc_Calculator: university_calc_Calculator + university_dept_Department(object: university_dept_Department__gqlv_input): university_dept_Department university_dept_Departments: university_dept_Departments + university_dept_DeptHead(object: university_dept_DeptHead__gqlv_input): university_dept_DeptHead university_dept_DeptHeads: university_dept_DeptHeads university_dept_Staff: university_dept_Staff + university_dept_StaffMember(object: university_dept_StaffMember__gqlv_input): university_dept_StaffMember } type Scenario { @@ -79,51 +79,51 @@ type Scenario { } type ScenarioStep { - _gqlv_lookup__causeway_applib_DomainObjectList(object: causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList - _gqlv_lookup__causeway_applib_FacetGroupNode(object: causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode - _gqlv_lookup__causeway_applib_ParameterNode(object: causeway_applib_ParameterNode__gqlv_input): causeway_applib_ParameterNode - _gqlv_lookup__causeway_applib_PropertyNode(object: causeway_applib_PropertyNode__gqlv_input): causeway_applib_PropertyNode - _gqlv_lookup__causeway_applib_RoleMemento(object: causeway_applib_RoleMemento__gqlv_input): causeway_applib_RoleMemento - _gqlv_lookup__causeway_applib_TypeNode(object: causeway_applib_TypeNode__gqlv_input): causeway_applib_TypeNode - _gqlv_lookup__causeway_applib_UserMemento(object: causeway_applib_UserMemento__gqlv_input): causeway_applib_UserMemento - _gqlv_lookup__causeway_applib_node_ActionNode(object: causeway_applib_node_ActionNode__gqlv_input): causeway_applib_node_ActionNode - _gqlv_lookup__causeway_applib_node_CollectionNode(object: causeway_applib_node_CollectionNode__gqlv_input): causeway_applib_node_CollectionNode - _gqlv_lookup__causeway_applib_node_FacetAttrNode(object: causeway_applib_node_FacetAttrNode__gqlv_input): causeway_applib_node_FacetAttrNode - _gqlv_lookup__causeway_applib_node_FacetNode(object: causeway_applib_node_FacetNode__gqlv_input): causeway_applib_node_FacetNode - _gqlv_lookup__causeway_conf_ConfigurationProperty(object: causeway_conf_ConfigurationProperty__gqlv_input): causeway_conf_ConfigurationProperty - _gqlv_lookup__causeway_conf_ConfigurationViewmodel(object: causeway_conf_ConfigurationViewmodel__gqlv_input): causeway_conf_ConfigurationViewmodel - _gqlv_lookup__causeway_feat_ApplicationFeatureViewModel(object: causeway_feat_ApplicationFeatureViewModel__gqlv_input): causeway_feat_ApplicationFeatureViewModel - _gqlv_lookup__causeway_feat_ApplicationNamespace(object: causeway_feat_ApplicationNamespace__gqlv_input): causeway_feat_ApplicationNamespace - _gqlv_lookup__causeway_feat_ApplicationType(object: causeway_feat_ApplicationType__gqlv_input): causeway_feat_ApplicationType - _gqlv_lookup__causeway_feat_ApplicationTypeAction(object: causeway_feat_ApplicationTypeAction__gqlv_input): causeway_feat_ApplicationTypeAction - _gqlv_lookup__causeway_feat_ApplicationTypeCollection(object: causeway_feat_ApplicationTypeCollection__gqlv_input): causeway_feat_ApplicationTypeCollection - _gqlv_lookup__causeway_feat_ApplicationTypeMember(object: causeway_feat_ApplicationTypeMember__gqlv_input): causeway_feat_ApplicationTypeMember - _gqlv_lookup__causeway_feat_ApplicationTypeProperty(object: causeway_feat_ApplicationTypeProperty__gqlv_input): causeway_feat_ApplicationTypeProperty - _gqlv_lookup__causeway_schema_metamodel_v2_DomainClassDto(object: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): causeway_schema_metamodel_v2_DomainClassDto - _gqlv_lookup__causeway_security_LoginRedirect(object: causeway_security_LoginRedirect__gqlv_input): causeway_security_LoginRedirect - _gqlv_lookup__causeway_testing_fixtures_FixtureResult(object: causeway_testing_fixtures_FixtureResult__gqlv_input): causeway_testing_fixtures_FixtureResult - _gqlv_lookup__java_lang_Runnable(object: java_lang_Runnable__gqlv_input): java_lang_Runnable - _gqlv_lookup__java_util_Map(object: java_util_Map__gqlv_input): java_util_Map - _gqlv_lookup__java_util_SortedMap(object: java_util_SortedMap__gqlv_input): java_util_SortedMap - _gqlv_lookup__java_util_concurrent_Callable(object: java_util_concurrent_Callable__gqlv_input): java_util_concurrent_Callable - _gqlv_lookup__java_util_function_BiFunction(object: java_util_function_BiFunction__gqlv_input): java_util_function_BiFunction - _gqlv_lookup__java_util_function_Consumer(object: java_util_function_Consumer__gqlv_input): java_util_function_Consumer - _gqlv_lookup__java_util_function_Function(object: java_util_function_Function__gqlv_input): java_util_function_Function - _gqlv_lookup__java_util_stream_Stream(object: java_util_stream_Stream__gqlv_input): java_util_stream_Stream - _gqlv_lookup__org_apache_causeway_core_metamodel_inspect_model_MMNode(object: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MMNode - _gqlv_lookup__org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MemberNode - _gqlv_lookup__org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript - _gqlv_lookup__university_dept_Department(object: university_dept_Department__gqlv_input): university_dept_Department - _gqlv_lookup__university_dept_DeptHead(object: university_dept_DeptHead__gqlv_input): university_dept_DeptHead - _gqlv_lookup__university_dept_StaffMember(object: university_dept_StaffMember__gqlv_input): university_dept_StaffMember + causeway_applib_DomainObjectList(object: causeway_applib_DomainObjectList__gqlv_input): causeway_applib_DomainObjectList + causeway_applib_FacetGroupNode(object: causeway_applib_FacetGroupNode__gqlv_input): causeway_applib_FacetGroupNode + causeway_applib_ParameterNode(object: causeway_applib_ParameterNode__gqlv_input): causeway_applib_ParameterNode + causeway_applib_PropertyNode(object: causeway_applib_PropertyNode__gqlv_input): causeway_applib_PropertyNode + causeway_applib_RoleMemento(object: causeway_applib_RoleMemento__gqlv_input): causeway_applib_RoleMemento + causeway_applib_TypeNode(object: causeway_applib_TypeNode__gqlv_input): causeway_applib_TypeNode + causeway_applib_UserMemento(object: causeway_applib_UserMemento__gqlv_input): causeway_applib_UserMemento causeway_applib_UserMenu: causeway_applib_UserMenu + causeway_applib_node_ActionNode(object: causeway_applib_node_ActionNode__gqlv_input): causeway_applib_node_ActionNode + causeway_applib_node_CollectionNode(object: causeway_applib_node_CollectionNode__gqlv_input): causeway_applib_node_CollectionNode + causeway_applib_node_FacetAttrNode(object: causeway_applib_node_FacetAttrNode__gqlv_input): causeway_applib_node_FacetAttrNode + causeway_applib_node_FacetNode(object: causeway_applib_node_FacetNode__gqlv_input): causeway_applib_node_FacetNode causeway_conf_ConfigurationMenu: causeway_conf_ConfigurationMenu + causeway_conf_ConfigurationProperty(object: causeway_conf_ConfigurationProperty__gqlv_input): causeway_conf_ConfigurationProperty + causeway_conf_ConfigurationViewmodel(object: causeway_conf_ConfigurationViewmodel__gqlv_input): causeway_conf_ConfigurationViewmodel + causeway_feat_ApplicationFeatureViewModel(object: causeway_feat_ApplicationFeatureViewModel__gqlv_input): causeway_feat_ApplicationFeatureViewModel + causeway_feat_ApplicationNamespace(object: causeway_feat_ApplicationNamespace__gqlv_input): causeway_feat_ApplicationNamespace + causeway_feat_ApplicationType(object: causeway_feat_ApplicationType__gqlv_input): causeway_feat_ApplicationType + causeway_feat_ApplicationTypeAction(object: causeway_feat_ApplicationTypeAction__gqlv_input): causeway_feat_ApplicationTypeAction + causeway_feat_ApplicationTypeCollection(object: causeway_feat_ApplicationTypeCollection__gqlv_input): causeway_feat_ApplicationTypeCollection + causeway_feat_ApplicationTypeMember(object: causeway_feat_ApplicationTypeMember__gqlv_input): causeway_feat_ApplicationTypeMember + causeway_feat_ApplicationTypeProperty(object: causeway_feat_ApplicationTypeProperty__gqlv_input): causeway_feat_ApplicationTypeProperty + causeway_schema_metamodel_v2_DomainClassDto(object: causeway_schema_metamodel_v2_DomainClassDto__gqlv_input): causeway_schema_metamodel_v2_DomainClassDto + causeway_security_LoginRedirect(object: causeway_security_LoginRedirect__gqlv_input): causeway_security_LoginRedirect causeway_security_LogoutMenu: causeway_security_LogoutMenu + causeway_testing_fixtures_FixtureResult(object: causeway_testing_fixtures_FixtureResult__gqlv_input): causeway_testing_fixtures_FixtureResult + java_lang_Runnable(object: java_lang_Runnable__gqlv_input): java_lang_Runnable + java_util_Map(object: java_util_Map__gqlv_input): java_util_Map + java_util_SortedMap(object: java_util_SortedMap__gqlv_input): java_util_SortedMap + java_util_concurrent_Callable(object: java_util_concurrent_Callable__gqlv_input): java_util_concurrent_Callable + java_util_function_BiFunction(object: java_util_function_BiFunction__gqlv_input): java_util_function_BiFunction + java_util_function_Consumer(object: java_util_function_Consumer__gqlv_input): java_util_function_Consumer + java_util_function_Function(object: java_util_function_Function__gqlv_input): java_util_function_Function + java_util_stream_Stream(object: java_util_stream_Stream__gqlv_input): java_util_stream_Stream + org_apache_causeway_core_metamodel_inspect_model_MMNode(object: org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MMNode + org_apache_causeway_core_metamodel_inspect_model_MemberNode(object: org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input): org_apache_causeway_core_metamodel_inspect_model_MemberNode + org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript(object: org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input): org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript university_admin_AdminMenu: university_admin_AdminMenu university_calc_Calculator: university_calc_Calculator + university_dept_Department(object: university_dept_Department__gqlv_input): university_dept_Department university_dept_Departments: university_dept_Departments + university_dept_DeptHead(object: university_dept_DeptHead__gqlv_input): university_dept_DeptHead university_dept_DeptHeads: university_dept_DeptHeads university_dept_Staff: university_dept_Staff + university_dept_StaffMember(object: university_dept_StaffMember__gqlv_input): university_dept_StaffMember } type causeway_applib_DomainObjectList { @@ -470,6 +470,7 @@ type causeway_applib_UserMenu { me: causeway_applib_UserMenu__me__gqlv_action } +"Returns your user account details" type causeway_applib_UserMenu__me__gqlv_action { disabled: String hidden: Boolean @@ -2009,6 +2010,7 @@ type university_calc_Calculator__plusJodaDays__numDays__gqlv_action_parameter { validity: String } +"University department specializing in a field of study" type university_dept_Department { _gqlv_meta: university_dept_Department__gqlv_meta addStaffMember: university_dept_Department__addStaffMember__gqlv_action @@ -2021,6 +2023,7 @@ type university_dept_Department { staffMembers: university_dept_Department__staffMembers__gqlv_collection } +"University department specializing in a field of study" type university_dept_Department__addStaffMember__gqlv_action { disabled: String hidden: Boolean @@ -2040,6 +2043,7 @@ type university_dept_Department__addStaffMember__staffMember__gqlv_action_parame validity: String } +"University department specializing in a field of study" type university_dept_Department__addStaffMembers__gqlv_action { disabled: String hidden: Boolean @@ -2059,6 +2063,7 @@ type university_dept_Department__addStaffMembers__staffMembers__gqlv_action_para validity: String } +"University department specializing in a field of study" type university_dept_Department__changeDeptHead__gqlv_action { disabled: String hidden: Boolean @@ -2079,6 +2084,7 @@ type university_dept_Department__changeDeptHead__newDeptHead__gqlv_action_parame validity: String } +"University department specializing in a field of study" type university_dept_Department__changeName__gqlv_action { disabled: String hidden: Boolean @@ -2098,6 +2104,7 @@ type university_dept_Department__changeName__newName__gqlv_action_parameter { validity: String } +"Departmental head, responsible for curriculum, research, funding and staff" type university_dept_Department__deptHead__gqlv_property { autoComplete(search: String!): [university_dept_DeptHead] disabled: String @@ -2122,6 +2129,7 @@ type university_dept_Department__name__gqlv_property { validate(name: String): String } +"University department specializing in a field of study" type university_dept_Department__removeStaffMember__gqlv_action { disabled: String hidden: Boolean @@ -2141,6 +2149,7 @@ type university_dept_Department__removeStaffMember__staffMember__gqlv_action_par validity: String } +"Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews" type university_dept_Department__staffMembers__gqlv_collection { disabled: String get: [university_dept_StaffMember] @@ -2160,6 +2169,7 @@ type university_dept_Departments__createDepartment__deptHead__gqlv_action_parame validity: String } +"University department specializing in a field of study" type university_dept_Departments__createDepartment__gqlv_action { disabled: String hidden: Boolean @@ -2179,6 +2189,7 @@ type university_dept_Departments__createDepartment__name__gqlv_action_parameter validity: String } +"University department specializing in a field of study" type university_dept_Departments__findAllDepartments__gqlv_action { disabled: String hidden: Boolean @@ -2186,6 +2197,7 @@ type university_dept_Departments__findAllDepartments__gqlv_action { validate: String } +"University department specializing in a field of study" type university_dept_Departments__findDepartmentByName__gqlv_action { disabled: String hidden: Boolean @@ -2204,6 +2216,7 @@ type university_dept_Departments__findDepartmentByName__name__gqlv_action_parame validity: String } +"Departmental head, responsible for curriculum, research, funding and staff" type university_dept_DeptHead { _gqlv_meta: university_dept_DeptHead__gqlv_meta changeDepartment: university_dept_DeptHead__changeDepartment__gqlv_action @@ -2219,6 +2232,7 @@ type university_dept_DeptHead__changeDepartment__department__gqlv_action_paramet validity: String } +"Departmental head, responsible for curriculum, research, funding and staff" type university_dept_DeptHead__changeDepartment__gqlv_action { disabled: String hidden: Boolean @@ -2231,6 +2245,7 @@ type university_dept_DeptHead__changeDepartment__gqlv_action_params { department: university_dept_DeptHead__changeDepartment__department__gqlv_action_parameter } +"Departmental head, responsible for curriculum, research, funding and staff" type university_dept_DeptHead__changeName__gqlv_action { disabled: String hidden: Boolean @@ -2250,6 +2265,7 @@ type university_dept_DeptHead__changeName__newName__gqlv_action_parameter { validity: String } +"University department specializing in a field of study" type university_dept_DeptHead__department__gqlv_property { choices(department: university_dept_Department__gqlv_input): [university_dept_Department] disabled: String @@ -2279,6 +2295,7 @@ type university_dept_DeptHeads { findHeadByName: university_dept_DeptHeads__findHeadByName__gqlv_action } +"Departmental head, responsible for curriculum, research, funding and staff" type university_dept_DeptHeads__findAllHeads__gqlv_action { disabled: String hidden: Boolean @@ -2286,6 +2303,7 @@ type university_dept_DeptHeads__findAllHeads__gqlv_action { validate: String } +"Departmental head, responsible for curriculum, research, funding and staff" type university_dept_DeptHeads__findHeadByName__gqlv_action { disabled: String hidden: Boolean @@ -2310,6 +2328,7 @@ type university_dept_Staff { findStaffMemberByName: university_dept_Staff__findStaffMemberByName__gqlv_action } +"Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews" type university_dept_StaffMember { _gqlv_meta: university_dept_StaffMember__gqlv_meta department: university_dept_StaffMember__department__gqlv_property @@ -2318,6 +2337,7 @@ type university_dept_StaffMember { photo: university_dept_StaffMember__photo__gqlv_property } +"University department specializing in a field of study" type university_dept_StaffMember__department__gqlv_property { choices(department: university_dept_Department__gqlv_input): [university_dept_Department] disabled: String @@ -2366,6 +2386,7 @@ type university_dept_Staff__createStaffMember__department__gqlv_action_parameter validity: String } +"Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews" type university_dept_Staff__createStaffMember__gqlv_action { disabled: String hidden: Boolean @@ -2385,6 +2406,7 @@ type university_dept_Staff__createStaffMember__name__gqlv_action_parameter { validity: String } +"Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews" type university_dept_Staff__findAllStaffMembers__gqlv_action { disabled: String hidden: Boolean @@ -2392,6 +2414,7 @@ type university_dept_Staff__findAllStaffMembers__gqlv_action { validate: String } +"Staff member of a university department, responsible for delivering lectures, tutorials, exam invigilation and candidate interviews" type university_dept_Staff__findStaffMemberByName__gqlv_action { disabled: String hidden: Boolean @@ -2411,149 +2434,186 @@ type university_dept_Staff__findStaffMemberByName__name__gqlv_action_parameter { } input causeway_applib_DomainObjectList__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_applib_FacetGroupNode__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_applib_ParameterNode__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_applib_PropertyNode__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_applib_RoleMemento__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_applib_TypeNode__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_applib_UserMemento__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_applib_node_ActionNode__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_applib_node_CollectionNode__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_applib_node_FacetAttrNode__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_applib_node_FacetNode__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_conf_ConfigurationProperty__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_conf_ConfigurationViewmodel__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_feat_ApplicationFeatureViewModel__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_feat_ApplicationNamespace__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_feat_ApplicationTypeAction__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_feat_ApplicationTypeCollection__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_feat_ApplicationTypeMember__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_feat_ApplicationTypeProperty__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_feat_ApplicationType__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_schema_metamodel_v2_DomainClassDto__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_security_LoginRedirect__gqlv_input { - id: ID! + id: ID + ref: String } input causeway_testing_fixtures_FixtureResult__gqlv_input { - id: ID! + id: ID + ref: String } input java_lang_Runnable__gqlv_input { - id: ID! + id: ID + ref: String } input java_util_Map__gqlv_input { - id: ID! + id: ID + ref: String } input java_util_SortedMap__gqlv_input { - id: ID! + id: ID + ref: String } input java_util_concurrent_Callable__gqlv_input { - id: ID! + id: ID + ref: String } input java_util_function_BiFunction__gqlv_input { - id: ID! + id: ID + ref: String } input java_util_function_Consumer__gqlv_input { - id: ID! + id: ID + ref: String } input java_util_function_Function__gqlv_input { - id: ID! + id: ID + ref: String } input java_util_stream_Stream__gqlv_input { - id: ID! + id: ID + ref: String } input org_apache_causeway_core_metamodel_inspect_model_MMNode__gqlv_input { - id: ID! + id: ID + ref: String } input org_apache_causeway_core_metamodel_inspect_model_MemberNode__gqlv_input { - id: ID! + id: ID + ref: String } input org_apache_causeway_testing_fixtures_applib_fixturescripts_FixtureScript__gqlv_input { - id: ID! + id: ID + ref: String } input university_dept_Department__gqlv_input { - id: ID! + id: ID + ref: String } input university_dept_DeptHead__gqlv_input { - id: ID! + id: ID + ref: String } input university_dept_StaffMember__gqlv_input { - id: ID! + id: ID + ref: String }
