in trusty/trusty-service/trusty-service-common/src/main/java/org/kie/kogito/trusty/service/common/api/ExecutionsApiV1.java [91:137]
public Response getExecutions(
@Parameter(
name = "from",
description = "Start datetime for the lookup. Date in the format \"yyyy-MM-dd'T'HH:mm:ssZ\"",
required = false,
schema = @Schema(implementation = String.class)) @DefaultValue("yesterday") @QueryParam("from") String from,
@Parameter(
name = "to",
description = "End datetime for the lookup. Date in the format \"yyyy-MM-dd'T'HH:mm:ssZ\"",
required = false,
schema = @Schema(implementation = String.class)) @DefaultValue("now") @QueryParam("to") String to,
@Parameter(
name = "limit",
description = "Maximum number of results to return.",
required = false,
schema = @Schema(implementation = Integer.class)) @DefaultValue("100") @QueryParam("limit") int limit,
@Parameter(
name = "offset",
description = "Offset for the pagination.",
required = false,
schema = @Schema(implementation = Integer.class)) @DefaultValue("0") @QueryParam("offset") int offset,
@Parameter(
name = "search",
description = "Execution ID prefix to be matched",
required = false,
schema = @Schema(implementation = String.class)) @DefaultValue("") @QueryParam("search") String prefix) {
if (limit < 0 || offset < 0) {
return Response.status(Response.Status.BAD_REQUEST.getStatusCode(), "Pagination parameters can not have negative values.").build();
}
OffsetDateTime fromDate;
OffsetDateTime toDate;
try {
fromDate = parseParameterDate(from, true);
toDate = parseParameterDate(to, false);
} catch (DateTimeParseException e) {
LOGGER.warn("Invalid date", e);
return Response.status(Response.Status.BAD_REQUEST.getStatusCode(), "Date format should be yyyy-MM-dd'T'HH:mm:ssZ").build();
}
MatchedExecutionHeaders result = trustyService.getExecutionHeaders(fromDate, toDate, limit, offset, prefix);
List<ExecutionHeaderResponse> headersResponses = new ArrayList<>();
result.getExecutions().forEach(x -> headersResponses.add(ResponseUtils.executionHeaderResponseFrom(x)));
return Response.ok(new ExecutionsResponse(result.getAvailableResults(), limit, offset, headersResponses)).build();
}