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

pefernan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-apps.git


The following commit(s) were added to refs/heads/main by this push:
     new 2e4211a9b [incubator-kie-issue # 2114 ]Update UserTaskInstances 
GraphQL schema to allow filter based on rootProcessInstanceId (#2270)
2e4211a9b is described below

commit 2e4211a9b3738bc078e4711b37b071e0d4d1e05a
Author: Christine-Jose <[email protected]>
AuthorDate: Wed Oct 1 14:12:28 2025 +0530

    [incubator-kie-issue # 2114 ]Update UserTaskInstances GraphQL schema to 
allow filter based on rootProcessInstanceId (#2270)
    
    * Update UserTaskInstances GraphQL Query
    
    * updating the space issue
---
 .../src/main/resources/graphql/basic.schema.graphqls     |  4 ++++
 .../kogito/index/service/AbstractIndexingServiceIT.java  | 12 ++++++++----
 .../java/org/kie/kogito/index/service/GraphQLUtils.java  | 10 ++++++++++
 .../src/test/resources/graphql_queries.json              | 16 ++++++++++++++++
 4 files changed, 38 insertions(+), 4 deletions(-)

diff --git 
a/data-index/data-index-graphql/src/main/resources/graphql/basic.schema.graphqls
 
b/data-index/data-index-graphql/src/main/resources/graphql/basic.schema.graphqls
index 4a255acd4..48a63228e 100644
--- 
a/data-index/data-index-graphql/src/main/resources/graphql/basic.schema.graphqls
+++ 
b/data-index/data-index-graphql/src/main/resources/graphql/basic.schema.graphqls
@@ -437,6 +437,10 @@ input UserTaskInstanceArgument {
     comments: CommentArgument
     attachments: AttachmentArgument
     slaDueDate: DateArgument
+    rootProcessInstanceId: StringArgument
+    rootProcessId: StringArgument
+    externalReferenceId: StringArgument
+    endpoint: StringArgument
 }
 
 input CommentArgument {
diff --git 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/AbstractIndexingServiceIT.java
 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/AbstractIndexingServiceIT.java
index 86f65e0aa..410053189 100644
--- 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/AbstractIndexingServiceIT.java
+++ 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/AbstractIndexingServiceIT.java
@@ -405,8 +405,10 @@ public abstract class AbstractIndexingServiceIT {
         String state = "InProgress";
         String processId = "deals";
         String processInstanceId = UUID.randomUUID().toString();
+        String rootProcessId = "hiring";
+        String rootProcessInstanceId = UUID.randomUUID().toString();
 
-        UserTaskInstanceStateDataEvent event = getUserTaskCloudEvent(taskId, 
processId, processInstanceId, null, null, state);
+        UserTaskInstanceStateDataEvent event = getUserTaskCloudEvent(taskId, 
processId, processInstanceId, rootProcessInstanceId, rootProcessId, state);
         indexUserTaskCloudEvent(event);
 
         validateUserTaskInstance(getUserTaskInstanceById(taskId), event);
@@ -418,18 +420,18 @@ public abstract class AbstractIndexingServiceIT {
                 event);
 
         state = "Completed";
-        event = getUserTaskCloudEvent(taskId, processId, processInstanceId, 
null, null, state, "kogito", "Completed");
+        event = getUserTaskCloudEvent(taskId, processId, processInstanceId, 
rootProcessInstanceId, rootProcessId, state, "kogito", "Completed");
         indexUserTaskCloudEvent(event);
 
         validateUserTaskInstance(
                 getUserTaskInstanceByIdAndCompleted(taskId, 
formatDateTime(event.getData().getEventDate())), event);
 
-        event = getUserTaskCloudEvent(taskId, processId, processInstanceId, 
null, null, state, "admin", "Completed");
+        event = getUserTaskCloudEvent(taskId, processId, processInstanceId, 
rootProcessInstanceId, rootProcessId, state, "admin", "Completed");
         indexUserTaskCloudEvent(event);
 
         validateUserTaskInstance(getUserTaskInstanceByIdAndActualOwner(taskId, 
"admin"), event);
 
-        event = getUserTaskCloudEvent(taskId, processId, processInstanceId, 
null, null, state, null, "Completed");
+        event = getUserTaskCloudEvent(taskId, processId, processInstanceId, 
rootProcessInstanceId, rootProcessId, state, null, "Completed");
         LOGGER.info("event {}", event);
         indexUserTaskCloudEvent(event);
 
@@ -496,6 +498,8 @@ public abstract class AbstractIndexingServiceIT {
                         .body("data.UserTaskInstances[0].actualOwner", 
event.getData().getActualOwner() != null ? is(event.getData().getActualOwner()) 
: anything())
                         .body("data.UserTaskInstances[0].started", anything())
                         .body("data.UserTaskInstances[0].lastUpdate", 
anything())
+                        .body("data.UserTaskInstances[0].rootProcessId", 
is(event.getKogitoRootProcessId()))
+                        
.body("data.UserTaskInstances[0].rootProcessInstanceId", 
is(event.getKogitoRootProcessInstanceId()))
                         .body("data.UserTaskInstances[0].endpoint",
                                 is(event.getSource().toString() + "/" + 
event.getData().getProcessInstanceId() + "/" + 
event.getData().getUserTaskName() + "/"
                                         + 
event.getData().getExternalReferenceId())));
diff --git 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/GraphQLUtils.java
 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/GraphQLUtils.java
index 2acd6a573..cb9d147f2 100644
--- 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/GraphQLUtils.java
+++ 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/GraphQLUtils.java
@@ -68,6 +68,8 @@ public class GraphQLUtils {
     private static final String COMPLETED = "completed";
     private static final String POTENTIAL_GROUPS = "potentialGroups";
     private static final String POTENTIAL_USERS = "potentialUsers";
+    private static final String ROOT_PROCESS_INSTANCE_ID = 
"rootProcessInstanceId";
+    private static final String ROOT_PROCESS_ID = "rootProcessId";
 
     private static final Logger LOGGER = 
LoggerFactory.getLogger(GraphQLUtils.class);
     private static final Map<Class<?>, String> QUERY_FIELDS = new HashMap<>();
@@ -202,6 +204,14 @@ public class GraphQLUtils {
         return 
getUserTaskInstanceWithArray("UserTaskInstanceByIdAndPotentialUsers", 
potentialUsers, POTENTIAL_USERS, Map.of(ID, id));
     }
 
+    public static String 
getUserTaskInstanceByIdAndRootProcessInstanceId(String id, String 
rootProcessInstanceId) {
+        return 
getUserTaskInstanceQuery("UserTaskInstanceByIdAndRootProcessInstanceId", 
Map.of(ID, id, ROOT_PROCESS_INSTANCE_ID, rootProcessInstanceId));
+    }
+
+    public static String getUserTaskInstanceByIdAndRootProcessId(String id, 
String rootProcessId) {
+        return 
getUserTaskInstanceQuery("UserTaskInstanceByIdAndRootProcessId", Map.of(ID, id, 
ROOT_PROCESS_ID, rootProcessId));
+    }
+
     public static String getJobById(String id) {
         return getJobQuery("JobById", Map.of(ID, id));
     }
diff --git 
a/data-index/data-index-service/data-index-service-common/src/test/resources/graphql_queries.json
 
b/data-index/data-index-service/data-index-service-common/src/test/resources/graphql_queries.json
index 543f91bc4..2a23f17b5 100644
--- 
a/data-index/data-index-service/data-index-service-common/src/test/resources/graphql_queries.json
+++ 
b/data-index/data-index-service/data-index-service-common/src/test/resources/graphql_queries.json
@@ -107,6 +107,22 @@
     "query": "query ( $id: String, $potentialUsers: [String!] ) { 
UserTaskInstances( where: {  id: {  equal : $id }, potentialUsers: { 
containsAny: $potentialUsers } } ){ %s } }",
     "variables": {}
   },
+  "UserTaskInstanceByIdAndRootProcessInstanceId": {
+    "query": "query ( $id: String, $rootProcessInstanceId: String ) { 
UserTaskInstances( where: {  id: {  equal : $id }, rootProcessInstanceId: { 
equal: $rootProcessInstanceId } } ){ %s } }",
+    "variables": {}
+  },
+  "UserTaskInstanceByIdAndRootProcessId": {
+    "query": "query ( $id: String, $rootProcessId: String ) { 
UserTaskInstances( where: {  id: {  equal : $id }, rootProcessId: { equal: 
$rootProcessId } } ){ %s } }",
+    "variables": {}
+  },
+  "UserTaskInstanceByIdAndEndpoint": {
+    "query": "query ( $id: String, $endpoint: String ) { UserTaskInstances( 
where: {  id: {  equal : $id }, endpoint: { equal: $endpoint } } ){ %s } }",
+    "variables": {}
+  },
+  "UserTaskInstanceByIdAndExternalReferenceId": {
+    "query": "query ( $id: String, $externalReferenceId: String ) { 
UserTaskInstances( where: {  id: {  equal : $id }, externalReferenceId: { 
equal: $externalReferenceId } } ){ %s } }",
+    "variables": {}
+  },
   "JobById": {
     "query": "query ( $id: String ) { Jobs( where: {  id: {  equal : $id } } 
){ %s } }",
     "variables": {}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to