Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(core) Add update and delete comment Java/Rest APIs #4565

Merged
merged 16 commits into from
Nov 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<#macro endpoint_macro docsUrl="">
{
<@lib.endpointInfo
id = "deleteProcessInstanceComments"
tag = "Process Instance Comment"
summary = "Delete ProcessInstance Comments"
desc = "Deletes all comments of a process instance by id." />

"parameters": [

<@lib.parameter
name = "id"
location = "path"
type = "string"
required = true
last = true
desc = "The id of the process instance for which all comments are to be deleted."/>

],
"responses": {

<@lib.response
code = "204"
desc = "Request successful." />

<@lib.response
code = "403"
dto = "AuthorizationExceptionDto"
desc = "The authenticated user is unauthorized to delete this resource. See the
[Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format."/>

<@lib.response
code = "400"
dto = "ExceptionDto"
last = true
desc = "Process instance doesn't exist or history is not enabled.
See the [Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format." />

}
}
</#macro>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<@lib.endpointInfo
id = "getProcessInstanceComments"
tag = "Process Instance"
tag = "Process Instance comment"
summary = "Get Process Instance Comments"
desc = "Gets the comments for a process instance by id." />

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<#macro endpoint_macro docsUrl="">
{

<@lib.endpointInfo
id = "updateProcessInstanceComment"
tag = "Process Instance Comment"
summary = "Update"
desc = "Updates a Comment." />

"parameters" : [

<@lib.parameter
name = "id"
location = "path"
type = "string"
required = true
last = true
desc = "The id associated of a process instance of a comment to be updated."/>

],

<@lib.requestBody
mediaType = "application/json"
dto = "CommentDto"
requestDesc = "**Note:** Only the `id` and `message` properties will be used. Every other
property passed to this endpoint will be ignored."
examples = ['"example-1": {
"summary": "PUT /process-instance/aProcessInstanceId/comment",
"value": {
"id": "75bc161a-12da-11e4-7d3a-f4ccdc10a445",
"message": "a process instance comment"
}
}'] />

"responses" : {

<@lib.response
code = "204"
desc = "Request successful." />

<@lib.response
code = "400"
dto = "ExceptionDto"
desc = "Returned if a given process instance id or comment id is invalid or history is disabled in the engine.
See the [Introduction](${docsUrl}/reference/rest/overview/#error-handling) for the error response format."/>

<@lib.response
code = "404"
dto = "AuthorizationExceptionDto"
last = true
desc = "The authenticated user is unauthorized to update this resource. See the
[Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format." />

}
}

</#macro>
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<#macro endpoint_macro docsUrl="">
{

<@lib.endpointInfo
id = "deleteProcessInstanceComment"
tag = "Process Instance Comment"
summary = "Delete"
desc = "Removes a comment from a process instance by id." />

"parameters" : [

<@lib.parameter
name = "id"
location = "path"
type = "string"
required = true
desc = "The id of the process instance." />

<@lib.parameter
name = "commentId"
location = "path"
type = "string"
required = true
last = true
desc = "The id of the comment to be removed." />

],

"responses" : {

<@lib.response
code = "204"
desc = "Request successful." />

<@lib.response
code = "400"
dto = "ExceptionDto"
desc = "Returned if a given process instance id or comment id is invalid or history is disabled in the engine.
See the [Introduction](${docsUrl}/reference/rest/overview/#error-handling) for the error response format."/>

<@lib.response
code = "404"
dto = "AuthorizationExceptionDto"
last = true
desc = "The authenticated user is unauthorized to delete this resource. See the
[Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format." />

}
}

</#macro>
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<#macro endpoint_macro docsUrl="">
{
<@lib.endpointInfo
id = "deleteTaskComments"
tag = "Task Comment"
summary = "Delete Task Comments"
desc = "Deletes all comments of a task by task id." />

"parameters": [

<@lib.parameter
name = "id"
location = "path"
type = "string"
required = true
last = true
desc = "The id of the task for which all comments are to be deleted."/>

],
"responses": {

<@lib.response
code = "204"
desc = "Request successful." />

<@lib.response
code = "400"
dto = "ExceptionDto"
desc = "Returned if a given task id is invalid. Orhe history of the engine is disabled.
See the [Introduction](${docsUrl}/reference/rest/overview/#error-handling) for the error response format."/>

<@lib.response
code = "404"
dto = "AuthorizationExceptionDto"
last = true
desc = "The authenticated user is unauthorized to delete this resource. See the
[Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format."
/>

}
}
</#macro>
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<#macro endpoint_macro docsUrl="">
{

<@lib.endpointInfo
id = "updateTaskComment"
tag = "Task Comment"
summary = "Update"
desc = "Updates a Comment." />

"parameters" : [

<@lib.parameter
name = "id"
location = "path"
type = "string"
required = true
last = true
desc = "The id associated of a task of a comment to be updated."/>

],

<@lib.requestBody
mediaType = "application/json"
dto = "CommentDto"
requestDesc = "**Note:** Only the `id` and `message` properties will be used. Every other
property passed to this endpoint will be ignored."
examples = ['"example-1": {
"summary": "PUT /task/aTaskId/comment",
"value": {
"id": "86cd272a-23ea-22e5-8e4a-e5bded20a556",
"message": "a task comment"
}
}'] />

"responses" : {

<@lib.response
code = "204"
desc = "Request successful." />

<@lib.response
code = "400"
dto = "ExceptionDto"
desc = "Returned if a given task id or comment id is invalid. Or the history of the engine is disabled.
See the [Introduction](${docsUrl}/reference/rest/overview/#error-handling) for the error response format."/>

<@lib.response
code = "404"
dto = "AuthorizationExceptionDto"
last = true
desc = "The authenticated user is unauthorized to update this resource. See the
[Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format."/>

}
}

</#macro>
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<#macro endpoint_macro docsUrl="">
{

<@lib.endpointInfo
id = "deleteTaskComment"
tag = "Task Comment"
summary = "Delete"
desc = "Removes a comment from a task by id." />

"parameters" : [

<@lib.parameter
name = "id"
location = "path"
type = "string"
required = true
desc = "The id of the task." />

<@lib.parameter
name = "commentId"
location = "path"
type = "string"
required = true
last = true
desc = "The id of the comment to be removed." />

],

"responses" : {

<@lib.response
code = "204"
desc = "Request successful." />

<@lib.response
code = "400"
dto = "ExceptionDto"
desc = "Returned if a given task id or comment id is invalid. Or history of the engine is disabled.
See the [Introduction](${docsUrl}/reference/rest/overview/#error-handling) for the error response format."/>

<@lib.response
code = "404"
dto = "AuthorizationExceptionDto"
last = true
desc = "The authenticated user is unauthorized to delete this resource. See the
[Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format."/>

}
}

</#macro>
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,14 @@
package org.camunda.bpm.engine.rest.sub.runtime;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.camunda.bpm.engine.rest.dto.task.CommentDto;

public interface ProcessInstanceCommentResource {
Expand All @@ -30,4 +33,15 @@ public interface ProcessInstanceCommentResource {
@Produces(MediaType.APPLICATION_JSON)
List<CommentDto> getComments();

@DELETE
@Path("/{commentId}")
@Produces(MediaType.APPLICATION_JSON)
void deleteComment(@PathParam("commentId") String commentId);

@PUT
@Consumes(MediaType.APPLICATION_JSON)
void updateComment(CommentDto comment);

@DELETE
void deleteComments();
}
Loading