Compare commits
3 Commits
41547d6034
...
5ed8494db7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5ed8494db7 | ||
|
|
6a46a1a379 | ||
|
|
ec342f77a6 |
@@ -1,9 +1,11 @@
|
|||||||
package br.com.stackpanel.api.controller;
|
package br.com.stackpanel.api.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import br.com.stackpanel.api.entity.CoolifyPersistence;
|
||||||
import br.com.stackpanel.api.entity.dto.CoolifyResponse;
|
import br.com.stackpanel.api.entity.dto.CoolifyResponse;
|
||||||
import br.com.stackpanel.api.entity.dto.CoolifyResponseProjects;
|
import br.com.stackpanel.api.entity.dto.CoolifyResponseProjects;
|
||||||
import br.com.stackpanel.api.service.CoolifyService;
|
import br.com.stackpanel.api.service.CoolifyService;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -21,8 +23,8 @@ public class CoolifyController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/buscar")
|
@GetMapping("/buscar")
|
||||||
public List<CoolifyResponse> buscarProjects(){
|
public ResponseEntity<List<CoolifyPersistence>> buscarProjects(){
|
||||||
return coolifyService.buscarProjects();
|
return ResponseEntity.ok(coolifyService.buscarProjects());
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/buscarProject")
|
@GetMapping("/buscarProject")
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ public class CoolifyPersistence {
|
|||||||
@Column(name = "NAMPRT")
|
@Column(name = "NAMPRT")
|
||||||
private String nameProject;
|
private String nameProject;
|
||||||
|
|
||||||
@Column(name = "UUID")
|
@Column(name = "UUID", unique = true)
|
||||||
private String uudi;
|
private String uuid;
|
||||||
|
|
||||||
@Column(name = "DSCPRT")
|
@Column(name = "DSCPRT")
|
||||||
private String description;
|
private String description;
|
||||||
@@ -23,10 +23,9 @@ public class CoolifyPersistence {
|
|||||||
public CoolifyPersistence() {
|
public CoolifyPersistence() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public CoolifyPersistence(Long sequence, String nameProject, String uudi, String description) {
|
public CoolifyPersistence(String nameProject, String uuid, String description) {
|
||||||
this.sequence = sequence;
|
|
||||||
this.nameProject = nameProject;
|
this.nameProject = nameProject;
|
||||||
this.uudi = uudi;
|
this.uuid = uuid;
|
||||||
this.description = description;
|
this.description = description;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,12 +45,12 @@ public class CoolifyPersistence {
|
|||||||
this.nameProject = nameProject;
|
this.nameProject = nameProject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUudi() {
|
public String getUuid() {
|
||||||
return uudi;
|
return uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUudi(String uudi) {
|
public void setUuid(String uuid) {
|
||||||
this.uudi = uudi;
|
this.uuid = uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
@@ -61,4 +60,14 @@ public class CoolifyPersistence {
|
|||||||
public void setDescription(String description) {
|
public void setDescription(String description) {
|
||||||
this.description = description;
|
this.description = description;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "CoolifyPersistence{" +
|
||||||
|
"sequence=" + sequence +
|
||||||
|
", nameProject='" + nameProject + '\'' +
|
||||||
|
", uuid='" + uuid + '\'' +
|
||||||
|
", description='" + description + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package br.com.stackpanel.api.entity.dto;
|
||||||
|
|
||||||
|
public record ApplicationResponse(String name, String uuid) {
|
||||||
|
}
|
||||||
@@ -5,5 +5,5 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public record CoolifyResponseProjects(List<MysqlResponse> mysqls, List<ServiceResponse> services) {
|
public record CoolifyResponseProjects(List<MysqlResponse> mysqls, List<ServiceResponse> services, List<ApplicationResponse> applications, List<PostgreResponse> postgresqls) {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package br.com.stackpanel.api.entity.dto;
|
||||||
|
|
||||||
|
public record PostgreResponse(String name, String uuid, String image) {
|
||||||
|
}
|
||||||
@@ -16,7 +16,6 @@ public class CoolifyMapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return new CoolifyPersistence(
|
return new CoolifyPersistence(
|
||||||
response.id(),
|
|
||||||
response.name(),
|
response.name(),
|
||||||
response.uuid(),
|
response.uuid(),
|
||||||
response.description()
|
response.description()
|
||||||
|
|||||||
@@ -5,10 +5,15 @@ import org.springframework.data.jpa.repository.JpaRepository;
|
|||||||
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.jpa.repository.Query;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface CoolifyRepository extends JpaRepository<CoolifyPersistence, Long> {
|
public interface CoolifyRepository extends JpaRepository<CoolifyPersistence, Long> {
|
||||||
|
|
||||||
@Query(value = "SELECT col FROM CoolifyPersistence col WHERE col.uudi in (:uuid)")
|
@Query(value = "SELECT col.uuid FROM CoolifyPersistence col")
|
||||||
CoolifyPersistence buscarProjectsUUIDs(String uuid);
|
List<String> buscarListaUuids();
|
||||||
|
|
||||||
|
@Query(value = "SELECT col FROM CoolifyPersistence col")
|
||||||
|
List<CoolifyPersistence> buscarProjects();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package br.com.stackpanel.api.service;
|
package br.com.stackpanel.api.service;
|
||||||
|
|
||||||
|
import br.com.stackpanel.api.entity.CoolifyPersistence;
|
||||||
import br.com.stackpanel.api.entity.dto.CoolifyResponse;
|
import br.com.stackpanel.api.entity.dto.CoolifyResponse;
|
||||||
import br.com.stackpanel.api.entity.dto.CoolifyResponseProjects;
|
import br.com.stackpanel.api.entity.dto.CoolifyResponseProjects;
|
||||||
|
|
||||||
@@ -7,7 +8,7 @@ import java.util.List;
|
|||||||
|
|
||||||
public interface CoolifyService {
|
public interface CoolifyService {
|
||||||
|
|
||||||
List<CoolifyResponse> buscarProjects();
|
List<CoolifyPersistence> buscarProjects();
|
||||||
|
|
||||||
CoolifyResponseProjects buscarProjetosUuid(String uuid);
|
CoolifyResponseProjects buscarProjetosUuid(String uuid);
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,18 @@
|
|||||||
package br.com.stackpanel.api.service.impl;
|
package br.com.stackpanel.api.service.impl;
|
||||||
|
|
||||||
import br.com.stackpanel.api.entity.CoolifyPersistence;
|
import br.com.stackpanel.api.entity.CoolifyPersistence;
|
||||||
import br.com.stackpanel.api.entity.dto.CoolifyResponse;
|
import br.com.stackpanel.api.entity.dto.*;
|
||||||
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.mapper.CoolifyMapper;
|
import br.com.stackpanel.api.entity.mapper.CoolifyMapper;
|
||||||
import br.com.stackpanel.api.integration.CoolifyClient;
|
import br.com.stackpanel.api.integration.CoolifyClient;
|
||||||
import br.com.stackpanel.api.repository.CoolifyRepository;
|
import br.com.stackpanel.api.repository.CoolifyRepository;
|
||||||
import br.com.stackpanel.api.service.CoolifyService;
|
import br.com.stackpanel.api.service.CoolifyService;
|
||||||
|
import jakarta.transaction.Transactional;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collector;
|
import java.util.stream.Collector;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -30,22 +29,35 @@ public class CoolifyServiceImpl implements CoolifyService {
|
|||||||
this.mapper = mapper;
|
this.mapper = mapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<CoolifyResponse> buscarProjects(){
|
@Override
|
||||||
return coolifyClient.buscarProjects();
|
@Transactional
|
||||||
|
public List<CoolifyPersistence> buscarProjects(){
|
||||||
|
|
||||||
|
List<CoolifyResponse> projects = coolifyClient.buscarProjects();
|
||||||
|
|
||||||
|
List<String> dbProjects = repository.buscarListaUuids();
|
||||||
|
|
||||||
|
|
||||||
|
if (!projects.isEmpty()) {
|
||||||
|
projects.stream()
|
||||||
|
.filter(item -> !dbProjects.contains(item.uuid()))
|
||||||
|
.map(mapper::toDomain)
|
||||||
|
.map(this::salvarProjects)
|
||||||
|
.forEach(System.out::println);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// public List<CoolifyPersistence> salvarProjetos(){
|
|
||||||
// List<CoolifyResponse> response = coolifyClient.buscarProjects();
|
return repository.buscarProjects().stream()
|
||||||
//
|
.toList();
|
||||||
// List<String> uuids = new ArrayList<>();
|
|
||||||
//
|
|
||||||
// for (CoolifyResponse unique: response) {
|
}
|
||||||
// uuids.add(unique.uuid());
|
|
||||||
// }
|
|
||||||
//
|
private CoolifyPersistence salvarProjects(CoolifyPersistence coolifyPersistence){
|
||||||
// return uuids;
|
return repository.save(coolifyPersistence);
|
||||||
//
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CoolifyResponseProjects buscarProjetosUuid(String uuid){
|
public CoolifyResponseProjects buscarProjetosUuid(String uuid){
|
||||||
@@ -67,7 +79,15 @@ public class CoolifyServiceImpl implements CoolifyService {
|
|||||||
.flatMap(flat -> flat.services().stream())
|
.flatMap(flat -> flat.services().stream())
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
return new CoolifyResponseProjects(listaDeMysqls, listaDeServices);
|
List<ApplicationResponse> listaDeApplications = buscarPorUuids.stream()
|
||||||
|
.flatMap(item -> item.applications().stream())
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
List<PostgreResponse> listaDePostgreSql = buscarPorUuids.stream()
|
||||||
|
.flatMap(item -> item.postgresqls().stream())
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
return new CoolifyResponseProjects(listaDeMysqls, listaDeServices, listaDeApplications, listaDePostgreSql);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ spring.config.activate.on-profile=local
|
|||||||
|
|
||||||
spring.datasource.password=SnLcLToyTLVlTmODy9X8WkJLxD5M6i7rFJEQPUgnrIqwH9zYpkX7rczfH8wcPSD1
|
spring.datasource.password=SnLcLToyTLVlTmODy9X8WkJLxD5M6i7rFJEQPUgnrIqwH9zYpkX7rczfH8wcPSD1
|
||||||
spring.datasource.username=nexus
|
spring.datasource.username=nexus
|
||||||
spring.datasource.url=jdbc:postgresql://129.153.206.118:5676/nexusdb
|
spring.datasource.url=jdbc:postgresql://db.stackpanel.com.br/nexusdb
|
||||||
spring.datasource.driver-class-name=org.postgresql.Driver
|
spring.datasource.driver-class-name=org.postgresql.Driver
|
||||||
spring.jpa.hibernate.ddl-auto=update
|
spring.jpa.hibernate.ddl-auto=update
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user