From 10cd23982f021022b4b2219b3c559ee54f96c0a9 Mon Sep 17 00:00:00 2001 From: Romuald Lemesle Date: Wed, 3 Jan 2024 10:12:03 +0100 Subject: [PATCH] [backend] Add collector caldera (#268) --- openex-api/pom.xml | 5 +++++ openex-api/src/main/resources/application.properties | 7 ++++++- .../java/io/openex/service/AssetEndpointService.java | 9 +++++++++ .../src/main/java/io/openex/database/model/Endpoint.java | 2 +- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/openex-api/pom.xml b/openex-api/pom.xml index caa48b9250..a29fab0bf8 100644 --- a/openex-api/pom.xml +++ b/openex-api/pom.xml @@ -54,6 +54,11 @@ openex-collector-users 3.5.0-SNAPSHOT + + io.openex + openex-collector-caldera + 3.5.0-SNAPSHOT + diff --git a/openex-api/src/main/resources/application.properties b/openex-api/src/main/resources/application.properties index 2e15a3fc8e..6423838c14 100644 --- a/openex-api/src/main/resources/application.properties +++ b/openex-api/src/main/resources/application.properties @@ -172,4 +172,9 @@ lade.password= http.enable=true # Collectors -collector.users.enable=false \ No newline at end of file +## Collector user +collector.users.enable=false +## Collector Caldera +collector.caldera.enable=false +collector.caldera.url=http://localhost:8888 +collector.caldera.api-key=ChangeMe diff --git a/openex-framework/src/main/java/io/openex/service/AssetEndpointService.java b/openex-framework/src/main/java/io/openex/service/AssetEndpointService.java index d75c8bce15..5da2baf030 100644 --- a/openex-framework/src/main/java/io/openex/service/AssetEndpointService.java +++ b/openex-framework/src/main/java/io/openex/service/AssetEndpointService.java @@ -23,6 +23,10 @@ public Endpoint createEndpoint(@NotNull final Endpoint endpoint) { return this.endpointRepository.save(endpoint); } + public Iterable createEndpoints(@NotNull final List endpoints) { + return this.endpointRepository.saveAll(endpoints); + } + public Endpoint endpoint(@NotBlank final String endpointId) { return this.endpointRepository.findById(endpointId).orElseThrow(); } @@ -40,6 +44,11 @@ public Endpoint updateEndpoint(@NotNull final Endpoint endpoint) { return this.endpointRepository.save(endpoint); } + public Iterable updateEndpoints(@NotNull final List endpoints) { + endpoints.forEach((e) -> e.setUpdatedAt(now())); + return this.endpointRepository.saveAll(endpoints); + } + public void deleteEndpoint(@NotBlank final String endpointId) { this.endpointRepository.deleteById(endpointId); } diff --git a/openex-model/src/main/java/io/openex/database/model/Endpoint.java b/openex-model/src/main/java/io/openex/database/model/Endpoint.java index 9adec2cd70..2dee9d09ae 100644 --- a/openex-model/src/main/java/io/openex/database/model/Endpoint.java +++ b/openex-model/src/main/java/io/openex/database/model/Endpoint.java @@ -44,7 +44,7 @@ public enum OS_TYPE { @JsonProperty("endpoint_last_seen") private Instant lastSeen; - @ElementCollection(fetch = FetchType.EAGER) + @ElementCollection(fetch = FetchType.LAZY) @CollectionTable(name = "macadresses", joinColumns = @JoinColumn(name = "endpoint_id")) @Column(name = "mac_adress") @JsonProperty("endpoint_mac_adresses")