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 command Java/Rest APIs #4333

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 4 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,49 @@
<#macro endpoint_macro docsUrl="">
{
<@lib.endpointInfo
id = "deleteProcessInstanceComments"
tag = "Process Instance Comment"
summary = "Delete ProcessInstance Comments"
desc = "Deletes all comments of a processIntance by processInstance id." />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔧 Improve wording:

Suggested change
summary = "Delete ProcessInstance Comments"
desc = "Deletes all comments of a processIntance by processInstance id." />
summary = "Delete Process Instance 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 = "401"
dto = "ExceptionDto"
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 = "403"
dto = "AuthorizationExceptionDto"
desc = "The history of the engine is disabled. See the [Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format." />

<@lib.response
code = "500"
dto = "ExceptionDto"
last = true
desc = "Comments of a process instance could not be deleted successfully.
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,73 @@
<#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 some of the query parameters are invalid, for example if
the value of `commentId` parameter is supplied as null. See the
[Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format." />

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

<@lib.response
code = "403"
dto = "AuthorizationExceptionDto"
desc = "The history of the engine is disabled. See the [Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format." />

<@lib.response
code = "500"
dto = "ExceptionDto"
last = true
desc = "The comment of a process instance could not be updated successfully.
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,59 @@
<#macro endpoint_macro docsUrl="">
{

<@lib.endpointInfo
id = "deleteProcessInstanceComment"
tag = "Process Instance Comment"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔧 Could you improve also the tag of /camunda-bpm-platform/engine-rest/engine-rest-openapi/src/main/templates/paths/process-instance/{id}/comment/get.ftl to be the same?

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 processInstance." />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔧

Suggested change
desc = "The id of the processInstance." />
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 = "401"
dto = "ExceptionDto"
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 = "403"
dto = "AuthorizationExceptionDto"
desc = "The history of the engine is disabled. See the [Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format." />

<@lib.response
code = "500"
dto = "ExceptionDto"
last = true
desc = "The comment of a process instance could not be deleted successfully.
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,49 @@
<#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 = "401"
dto = "ExceptionDto"
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 = "403"
dto = "AuthorizationExceptionDto"
desc = "The history of the engine is disabled. See the [Introduction](/reference/rest/overview/#error-handling)
for the error response format." />

<@lib.response
code = "500"
dto = "ExceptionDto"
last = true
desc = "Comments of a task could not be deleted successfully.
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,64 @@
<#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 = "401"
dto = "ExceptionDto"
desc = "The authenticated user is unauthorized to update this resource. See the
[Introduction](${docsUrl}/reference/rest/overview/#error-handling)
for the error response format."/>

<@lib.response
code = "403"
dto = "AuthorizationExceptionDto"
desc = "The history of the engine is disabled. See the [Introduction](/reference/rest/overview/#error-handling)
for the error response format." />

<@lib.response
code = "500"
dto = "ExceptionDto"
last = true
desc = "The comment of a task could not be updated successfully.
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,59 @@
<#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 = "401"
dto = "ExceptionDto"
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 = "403"
dto = "AuthorizationExceptionDto"
desc = "The history of the engine is disabled. See the [Introduction](/reference/rest/overview/#error-handling)
for the error response format." />

<@lib.response
code = "500"
dto = "ExceptionDto"
last = true
desc = "The comment of a task could not be deleted successfully.
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