softcannery / camunda-formio-accelerator

Camunda Platform Accelerator for Form.io
https://www.softcannery.com/camunda-platform-acc-for-formio
Other
5 stars 3 forks source link

Expose submissions via Spring Data Rest Resource Api #99

Closed softcannery-ltd closed 8 months ago

softcannery-ltd commented 8 months ago

Expose submissions Rest resource via Spring Data Rest Api support with paging, sort and search methods: https://docs.spring.io/spring-data/rest/reference/

Get submissions resource metadata: GET /profile/submissions

{
  "alps" : {
    "version" : "1.0",
    "descriptor" : [ {
      "id" : "submission-representation",
      "href" : "http://localhost:8080/profile/submissions",
      "descriptor" : [ {
        "name" : "submissionId",
        "type" : "SEMANTIC"
      }, {
        "name" : "instanceId",
        "type" : "SEMANTIC"
      }, {
        "name" : "taskId",
        "type" : "SEMANTIC"
      }, {
        "name" : "loopCounter",
        "type" : "SEMANTIC"
      }, {
        "name" : "activityInstanceId",
        "type" : "SEMANTIC"
      }, {
        "name" : "submissionName",
        "type" : "SEMANTIC"
      }, {
        "name" : "value",
        "type" : "SEMANTIC"
      }, {
        "name" : "createdOn",
        "type" : "SEMANTIC"
      }, {
        "name" : "createdBy",
        "type" : "SEMANTIC"
      }, {
        "name" : "createdFrom",
        "type" : "SEMANTIC"
      } ]
    }, {
      "id" : "get-submissions",
      "name" : "submissions",
      "type" : "SAFE",
      "descriptor" : [ {
        "name" : "page",
        "type" : "SEMANTIC",
        "doc" : {
        "doc" : {
          "format" : "TEXT",
          "value" : "The sorting criteria to use to calculate the content of the page."
        }
      } ],
      "rt" : "#submission-representation"
    }, {
      "name" : "activity-instance",
      "type" : "SAFE",
      "descriptor" : [ {
        "name" : "id",
        "type" : "SEMANTIC"
      } ]
    } ]
  }
}

Get first page: GET /submissions

Paged: curl -v "localhost:8080/submissions?page=2&size=2"

Sorted: curl -v "localhost:8080/submissions?sort=createdOn"

Paged and sorted: curl -v "localhost:8080/submissions?page=2&size=2&sort=createdOn"

Search by Activiti Instance Id: curl -v localhost:8080/submissions/search/activity-instance?id=Activity_15s4e00:4f41efbd-61ff-11ee-94f3-0242ac150002