Skip to content

Commit c97133e

Browse files
Fix finding response compatibility
1 parent d7709b1 commit c97133e

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

apiserver/src/main/java/org/dependencytrack/resources/v1/vo/FindingResponse.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919
package org.dependencytrack.resources.v1.vo;
2020

21+
import com.fasterxml.jackson.annotation.JsonInclude;
2122
import com.fasterxml.jackson.annotation.JsonProperty;
2223
import io.swagger.v3.oas.annotations.media.Schema;
2324
import org.dependencytrack.model.AnalysisState;
@@ -39,6 +40,7 @@
3940
///
4041
/// @since 5.1.0
4142
@NullMarked
43+
@JsonInclude(JsonInclude.Include.NON_NULL)
4244
@Schema(name = "Finding", description = "A vulnerability finding for a project component")
4345
public record FindingResponse(
4446
@Schema(requiredMode = Schema.RequiredMode.REQUIRED) Component component,
@@ -66,7 +68,8 @@ public static FindingResponse of(final Finding finding) {
6668
Boolean.TRUE.equals(component.get("hasOccurrences")),
6769
enumValue(component, "scope", Scope.class),
6870
value(component, "projectName", String.class),
69-
value(component, "projectVersion", String.class)),
71+
value(component, "projectVersion", String.class),
72+
value(component, "latestVersion", String.class)),
7073
new VulnerabilityDetails(
7174
value(vulnerability, "uuid", UUID.class),
7275
enumValue(vulnerability, "source", Source.class),
@@ -150,6 +153,7 @@ private static Set<Alias> aliases(final @Nullable Object value) {
150153
}
151154

152155
@Schema(name = "FindingComponent")
156+
@JsonInclude(JsonInclude.Include.NON_NULL)
153157
public record Component(
154158
@Schema(requiredMode = Schema.RequiredMode.REQUIRED) UUID uuid,
155159
@Nullable String name,
@@ -162,10 +166,12 @@ public record Component(
162166
@Schema(requiredMode = Schema.RequiredMode.REQUIRED) boolean hasOccurrences,
163167
@Nullable Scope scope,
164168
@Nullable String projectName,
165-
@Nullable String projectVersion) {
169+
@Nullable String projectVersion,
170+
@Nullable String latestVersion) {
166171
}
167172

168173
@Schema(name = "FindingVulnerability")
174+
@JsonInclude(JsonInclude.Include.NON_NULL)
169175
public record VulnerabilityDetails(
170176
@Schema(requiredMode = Schema.RequiredMode.REQUIRED) UUID uuid,
171177
@Nullable Source source,
@@ -196,12 +202,14 @@ public record VulnerabilityDetails(
196202
}
197203

198204
@Schema(name = "FindingCwe")
205+
@JsonInclude(JsonInclude.Include.NON_NULL)
199206
public record Cwe(
200207
@Schema(requiredMode = Schema.RequiredMode.REQUIRED) int cweId,
201208
@Nullable String name) {
202209
}
203210

204211
@Schema(name = "FindingVulnerabilityAlias")
212+
@JsonInclude(JsonInclude.Include.NON_NULL)
205213
public record Alias(
206214
@Nullable String cveId,
207215
@Nullable String ghsaId,
@@ -212,13 +220,15 @@ public record Alias(
212220
}
213221

214222
@Schema(name = "FindingAnalysis")
223+
@JsonInclude(JsonInclude.Include.NON_NULL)
215224
public record Analysis(
216225
@Nullable AnalysisState state,
217226
@JsonProperty("isSuppressed")
218227
@Schema(requiredMode = Schema.RequiredMode.REQUIRED) boolean isSuppressed) {
219228
}
220229

221230
@Schema(name = "FindingAttribution")
231+
@JsonInclude(JsonInclude.Include.NON_NULL)
222232
public record Attribution(
223233
@Nullable String analyzerIdentity,
224234
@Schema(type = "integer", format = "int64", description = "Attribution timestamp in milliseconds since the Unix epoch")

0 commit comments

Comments
 (0)