diff --git a/src/main/java/br/com/stackpanel/api/entity/CoolifyPersistence.java b/src/main/java/br/com/stackpanel/api/entity/CoolifyPersistence.java index 842be07..dd7f476 100644 --- a/src/main/java/br/com/stackpanel/api/entity/CoolifyPersistence.java +++ b/src/main/java/br/com/stackpanel/api/entity/CoolifyPersistence.java @@ -60,4 +60,14 @@ public class CoolifyPersistence { public void setDescription(String description) { this.description = description; } + + @Override + public String toString() { + return "CoolifyPersistence{" + + "sequence=" + sequence + + ", nameProject='" + nameProject + '\'' + + ", uuid='" + uuid + '\'' + + ", description='" + description + '\'' + + '}'; + } } diff --git a/src/main/java/br/com/stackpanel/api/entity/dto/ApplicationResponse.java b/src/main/java/br/com/stackpanel/api/entity/dto/ApplicationResponse.java new file mode 100644 index 0000000..ba61bda --- /dev/null +++ b/src/main/java/br/com/stackpanel/api/entity/dto/ApplicationResponse.java @@ -0,0 +1,4 @@ +package br.com.stackpanel.api.entity.dto; + +public record ApplicationResponse(String name, String uuid) { +} diff --git a/src/main/java/br/com/stackpanel/api/entity/dto/CoolifyResponseProjects.java b/src/main/java/br/com/stackpanel/api/entity/dto/CoolifyResponseProjects.java index 2eeb924..6178dfc 100644 --- a/src/main/java/br/com/stackpanel/api/entity/dto/CoolifyResponseProjects.java +++ b/src/main/java/br/com/stackpanel/api/entity/dto/CoolifyResponseProjects.java @@ -5,5 +5,5 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import java.util.List; @JsonIgnoreProperties(ignoreUnknown = true) -public record CoolifyResponseProjects(List mysqls, List services) { +public record CoolifyResponseProjects(List mysqls, List services, List applications, List postgresqls) { } diff --git a/src/main/java/br/com/stackpanel/api/entity/dto/PostgreResponse.java b/src/main/java/br/com/stackpanel/api/entity/dto/PostgreResponse.java new file mode 100644 index 0000000..cc46aa5 --- /dev/null +++ b/src/main/java/br/com/stackpanel/api/entity/dto/PostgreResponse.java @@ -0,0 +1,4 @@ +package br.com.stackpanel.api.entity.dto; + +public record PostgreResponse(String name, String uuid, String image) { +} diff --git a/src/main/java/br/com/stackpanel/api/service/impl/CoolifyServiceImpl.java b/src/main/java/br/com/stackpanel/api/service/impl/CoolifyServiceImpl.java index 5e052c3..79050c7 100644 --- a/src/main/java/br/com/stackpanel/api/service/impl/CoolifyServiceImpl.java +++ b/src/main/java/br/com/stackpanel/api/service/impl/CoolifyServiceImpl.java @@ -1,10 +1,7 @@ package br.com.stackpanel.api.service.impl; import br.com.stackpanel.api.entity.CoolifyPersistence; -import br.com.stackpanel.api.entity.dto.CoolifyResponse; -import br.com.stackpanel.api.entity.dto.CoolifyResponseProjects; -import br.com.stackpanel.api.entity.dto.MysqlResponse; -import br.com.stackpanel.api.entity.dto.ServiceResponse; +import br.com.stackpanel.api.entity.dto.*; import br.com.stackpanel.api.entity.mapper.CoolifyMapper; import br.com.stackpanel.api.integration.CoolifyClient; import br.com.stackpanel.api.repository.CoolifyRepository; @@ -41,16 +38,20 @@ public class CoolifyServiceImpl implements CoolifyService { List dbProjects = repository.buscarListaUuids(); + if (!projects.isEmpty()) { + projects.stream() + .filter(item -> !dbProjects.contains(item.uuid())) + .map(mapper::toDomain) + .map(this::salvarProjects) + .forEach(System.out::println); - return projects.stream() - .filter(item -> !dbProjects.contains(item.uuid())) - .map(mapper::toDomain) - .map(this::salvarProjects) + } + + + return repository.buscarProjects().stream() .toList(); - - } @@ -78,7 +79,15 @@ public class CoolifyServiceImpl implements CoolifyService { .flatMap(flat -> flat.services().stream()) .toList(); - return new CoolifyResponseProjects(listaDeMysqls, listaDeServices); + List listaDeApplications = buscarPorUuids.stream() + .flatMap(item -> item.applications().stream()) + .toList(); + + List listaDePostgreSql = buscarPorUuids.stream() + .flatMap(item -> item.postgresqls().stream()) + .toList(); + + return new CoolifyResponseProjects(listaDeMysqls, listaDeServices, listaDeApplications, listaDePostgreSql); } }