f, @Param("o") String o, @Param("s") String s);
+
+ /**
+ * Finds Logs
+ * Finds Logs with pagination params and filters. The search returns an array of log entries. This Web REST API is available in **Enterprise editions only**. -
+ * can filter on `action_scope`, `action_type`, `createdBy`, `message`, `severity` value - can search by text
+ * on `action_scope`, `action_type`, `createdBy`, `message`, `severity` - can order on
+ * `action_scope`, `action_type`, `creation_date`, `createdBy`, `message`, `severity`
+ * Note, this is equivalent to the other searchLogs method,
+ * but with the query parameters collected into a single Map parameter. This
+ * is convenient for services with optional query parameters, especially when
+ * used with the {@link SearchLogsQueryParams} class that allows for
+ * building up this map in a fluent style.
+ *
+ * @param queryParams Map of query parameters as name-value pairs
+ * The following elements may be specified in the query map:
+ *
+ * - p - index of the page to display (required)
+ * - c - maximum number of elements to retrieve (required)
+ * - f - can filter on attributes with the format f={filter\\_name}={filter\\_value} with the name/value pair as url encoded string.
+ * (optional)
+ * - o - can order on attributes (optional)
+ * - s - can search on attributes (optional)
+ *
+ * @return List<Log>
+ */
+ @RequestLine("GET /API/system/log?p={p}&c={c}&f={f}&o={o}&s={s}")
+ @Headers({
+ "Accept: application/json",
+ })
+ List searchLogs(@QueryMap(encoded = true) SearchLogsQueryParams queryParams);
+
+ /**
+ * Finds Logs
+ * Finds Logs with pagination params and filters. The search returns an array of log entries. This Web REST API is available in **Enterprise editions only**. -
+ * can filter on `action_scope`, `action_type`, `createdBy`, `message`, `severity` value - can search by text
+ * on `action_scope`, `action_type`, `createdBy`, `message`, `severity` - can order on
+ * `action_scope`, `action_type`, `creation_date`, `createdBy`, `message`, `severity`
+ * Note, this is equivalent to the other searchLogs that receives the query parameters as a map,
+ * but this one also exposes the Http response headers
+ *
+ * @param queryParams Map of query parameters as name-value pairs
+ * The following elements may be specified in the query map:
+ *
+ * - p - index of the page to display (required)
+ * - c - maximum number of elements to retrieve (required)
+ * - f - can filter on attributes with the format f={filter\\_name}={filter\\_value} with the name/value pair as url encoded string.
+ * (optional)
+ * - o - can order on attributes (optional)
+ * - s - can search on attributes (optional)
+ *
+ * @return List<Log>
+ */
+ @RequestLine("GET /API/system/log?p={p}&c={c}&f={f}&o={o}&s={s}")
+ @Headers({
+ "Accept: application/json",
+ })
+ ApiResponse> searchLogsWithHttpInfo(@QueryMap(encoded = true) SearchLogsQueryParams queryParams);
+
+ /**
+ * A convenience class for generating query parameters for the
+ * searchLogs method in a fluent style.
+ */
+ public static class SearchLogsQueryParams extends HashMap {
+
+ public SearchLogsQueryParams p(final Integer value) {
+ put("p", EncodingUtils.encode(value));
+ return this;
+ }
+
+ public SearchLogsQueryParams c(final Integer value) {
+ put("c", EncodingUtils.encode(value));
+ return this;
+ }
+
+ public SearchLogsQueryParams f(final List value) {
+ put("f", EncodingUtils.encodeCollection(value, "multi"));
+ return this;
+ }
+
+ public SearchLogsQueryParams o(final String value) {
+ put("o", EncodingUtils.encode(value));
+ return this;
+ }
+
+ public SearchLogsQueryParams s(final String value) {
+ put("s", EncodingUtils.encode(value));
+ return this;
+ }
+ }
+}
diff --git a/src/main/java/org/bonitasoft/web/client/model/Log.java b/src/main/java/org/bonitasoft/web/client/model/Log.java
new file mode 100644
index 00000000..5f2652c4
--- /dev/null
+++ b/src/main/java/org/bonitasoft/web/client/model/Log.java
@@ -0,0 +1,300 @@
+/**
+ * Copyright (C) 2024-2023 BonitaSoft S.A.
+ * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2.0 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.bonitasoft.web.client.model;
+
+import java.io.Serializable;
+import java.time.OffsetDateTime;
+import java.util.Objects;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+/**
+ * A log entry recorded by the Bonita Engine during execution. Logs capture actions performed on the platform such as process deployments, task executions, or
+ * configuration changes. This Web REST API is available in **Enterprise editions only**.
+ */
+@JsonPropertyOrder({
+ Log.JSON_PROPERTY_ID,
+ Log.JSON_PROPERTY_CREATION_DATE,
+ Log.JSON_PROPERTY_CREATED_BY,
+ Log.JSON_PROPERTY_SEVERITY,
+ Log.JSON_PROPERTY_MESSAGE,
+ Log.JSON_PROPERTY_ACTION_SCOPE,
+ Log.JSON_PROPERTY_ICON
+})
+@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0")
+public class Log implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ @jakarta.annotation.Nullable
+ private String id;
+
+ public static final String JSON_PROPERTY_CREATION_DATE = "creation_date";
+ @jakarta.annotation.Nullable
+ private OffsetDateTime creationDate;
+
+ public static final String JSON_PROPERTY_CREATED_BY = "createdBy";
+ @jakarta.annotation.Nullable
+ private String createdBy;
+
+ public static final String JSON_PROPERTY_SEVERITY = "severity";
+ @jakarta.annotation.Nullable
+ private LogSeverityLevel severity;
+
+ public static final String JSON_PROPERTY_MESSAGE = "message";
+ @jakarta.annotation.Nullable
+ private String message;
+
+ public static final String JSON_PROPERTY_ACTION_SCOPE = "action_scope";
+ @jakarta.annotation.Nullable
+ private String actionScope;
+
+ public static final String JSON_PROPERTY_ICON = "icon";
+ @jakarta.annotation.Nullable
+ private String icon;
+
+ public Log() {
+ }
+
+ public Log id(@jakarta.annotation.Nullable String id) {
+
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * the log id
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getId() {
+ return id;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setId(@jakarta.annotation.Nullable String id) {
+ this.id = id;
+ }
+
+ public Log creationDate(@jakarta.annotation.Nullable OffsetDateTime creationDate) {
+
+ this.creationDate = creationDate;
+ return this;
+ }
+
+ /**
+ * the UTC date and time in ISO-8601 format ('yyyy-MM-ddTHH:mm:ss.SSSZ') when this log was created, for example '2024-10-17T16:05:42.626Z'
+ *
+ * @return creationDate
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CREATION_DATE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public OffsetDateTime getCreationDate() {
+ return creationDate;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CREATION_DATE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setCreationDate(@jakarta.annotation.Nullable OffsetDateTime creationDate) {
+ this.creationDate = creationDate;
+ }
+
+ public Log createdBy(@jakarta.annotation.Nullable String createdBy) {
+
+ this.createdBy = createdBy;
+ return this;
+ }
+
+ /**
+ * the name of the user who triggered the logged action
+ *
+ * @return createdBy
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CREATED_BY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getCreatedBy() {
+ return createdBy;
+ }
+
+ @JsonProperty(JSON_PROPERTY_CREATED_BY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setCreatedBy(@jakarta.annotation.Nullable String createdBy) {
+ this.createdBy = createdBy;
+ }
+
+ public Log severity(@jakarta.annotation.Nullable LogSeverityLevel severity) {
+
+ this.severity = severity;
+ return this;
+ }
+
+ /**
+ * Get severity
+ *
+ * @return severity
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SEVERITY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public LogSeverityLevel getSeverity() {
+ return severity;
+ }
+
+ @JsonProperty(JSON_PROPERTY_SEVERITY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setSeverity(@jakarta.annotation.Nullable LogSeverityLevel severity) {
+ this.severity = severity;
+ }
+
+ public Log message(@jakarta.annotation.Nullable String message) {
+
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * the log message describing the action
+ *
+ * @return message
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_MESSAGE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getMessage() {
+ return message;
+ }
+
+ @JsonProperty(JSON_PROPERTY_MESSAGE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setMessage(@jakarta.annotation.Nullable String message) {
+ this.message = message;
+ }
+
+ public Log actionScope(@jakarta.annotation.Nullable String actionScope) {
+
+ this.actionScope = actionScope;
+ return this;
+ }
+
+ /**
+ * the scope of the logged action
+ *
+ * @return actionScope
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ACTION_SCOPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getActionScope() {
+ return actionScope;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ACTION_SCOPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setActionScope(@jakarta.annotation.Nullable String actionScope) {
+ this.actionScope = actionScope;
+ }
+
+ public Log icon(@jakarta.annotation.Nullable String icon) {
+
+ this.icon = icon;
+ return this;
+ }
+
+ /**
+ * the icon path for this log entry
+ *
+ * @return icon
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ICON)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+
+ public String getIcon() {
+ return icon;
+ }
+
+ @JsonProperty(JSON_PROPERTY_ICON)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public void setIcon(@jakarta.annotation.Nullable String icon) {
+ this.icon = icon;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Log log = (Log) o;
+ return Objects.equals(this.id, log.id) &&
+ Objects.equals(this.creationDate, log.creationDate) &&
+ Objects.equals(this.createdBy, log.createdBy) &&
+ Objects.equals(this.severity, log.severity) &&
+ Objects.equals(this.message, log.message) &&
+ Objects.equals(this.actionScope, log.actionScope) &&
+ Objects.equals(this.icon, log.icon);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(id, creationDate, createdBy, severity, message, actionScope, icon);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Log {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" creationDate: ").append(toIndentedString(creationDate)).append("\n");
+ sb.append(" createdBy: ").append(toIndentedString(createdBy)).append("\n");
+ sb.append(" severity: ").append(toIndentedString(severity)).append("\n");
+ sb.append(" message: ").append(toIndentedString(message)).append("\n");
+ sb.append(" actionScope: ").append(toIndentedString(actionScope)).append("\n");
+ sb.append(" icon: ").append(toIndentedString(icon)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
diff --git a/src/main/java/org/bonitasoft/web/client/model/LogSeverityLevel.java b/src/main/java/org/bonitasoft/web/client/model/LogSeverityLevel.java
new file mode 100644
index 00000000..c4737b75
--- /dev/null
+++ b/src/main/java/org/bonitasoft/web/client/model/LogSeverityLevel.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (C) 2024-2023 BonitaSoft S.A.
+ * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2.0 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.bonitasoft.web.client.model;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * the severity level of the log
+ */
+public enum LogSeverityLevel {
+
+ BUSINESS("BUSINESS"),
+
+ INTERNAL("INTERNAL");
+
+ private String value;
+
+ LogSeverityLevel(String value) {
+ this.value = value;
+ }
+
+ @JsonValue
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ @JsonCreator
+ public static LogSeverityLevel fromValue(String value) {
+ for (LogSeverityLevel b : LogSeverityLevel.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+}