Compare commits

..

13 Commits

Author SHA1 Message Date
41547d6034 Atualizar .gitea/workflows/build.yaml
All checks were successful
Build e Deploy / build-and-deploy (push) Successful in 10m14s
2026-02-26 23:49:32 +00:00
48eab18fc8 Atualizar .gitea/workflows/build.yaml
Some checks failed
Build e Deploy Direto / build-and-deploy (push) Has been cancelled
2026-02-26 23:47:37 +00:00
0989b162f6 Atualizar .gitea/workflows/build.yaml
All checks were successful
Build e Deploy Direto / build-and-deploy (push) Successful in 52s
2026-02-26 23:44:09 +00:00
1905647822 Atualizar .gitea/workflows/build.yaml
Some checks failed
Build e Deploy Direto / build-and-deploy (push) Failing after 4s
2026-02-26 23:43:09 +00:00
583f0e5193 Atualizar .gitea/workflows/build.yaml
Some checks failed
Build e Deploy Direto / build-and-deploy (push) Failing after 4s
2026-02-26 23:41:50 +00:00
818dcd2606 Atualizar .gitea/workflows/build.yaml
Some checks failed
CI/CD Pipeline Coolify / testes (push) Failing after 16s
CI/CD Pipeline Coolify / deploy-trigger (push) Has been skipped
2026-02-26 23:38:30 +00:00
acbaeba772 Atualizado
Some checks failed
CI/CD Pipeline Coolify / testes (push) Failing after 23s
CI/CD Pipeline Coolify / deploy-trigger (push) Has been skipped
2026-02-26 23:34:49 +00:00
7db9348fa0 Versao do java mudada
Some checks failed
CI/CD Pipeline Coolify / testes (push) Failing after 52s
CI/CD Pipeline Coolify / deploy-trigger (push) Has been skipped
2026-02-26 23:32:14 +00:00
3fef8d8c15 Instalar o maven
Some checks failed
CI/CD Pipeline Coolify / testes (push) Failing after 43s
CI/CD Pipeline Coolify / deploy-trigger (push) Has been skipped
2026-02-26 23:29:54 +00:00
db532b19a6 Atualizado metodo para chamar a webhook
Some checks failed
CI/CD Pipeline Coolify / testes (push) Failing after 5m58s
CI/CD Pipeline Coolify / deploy-trigger (push) Has been skipped
2026-02-26 23:06:50 +00:00
b0a5191239 Build atualizado so para testes
Some checks failed
CI/CD Pipeline Coolify / deploy-trigger (push) Has been cancelled
CI/CD Pipeline Coolify / testes (push) Has been cancelled
2026-02-26 23:02:45 +00:00
7b9e637746 Alterado versao do java no workflow
Some checks failed
Gitea Actions Java Build / build-projeto (push) Failing after 5m57s
2026-02-26 22:50:59 +00:00
c9e4489b4e Adicionar .gitea/workflows/build.yaml
Some checks failed
Gitea Actions Java Build / build-projeto (push) Has been cancelled
2026-02-26 22:42:49 +00:00
16 changed files with 371 additions and 379 deletions

View File

@@ -0,0 +1,36 @@
name: Build e Deploy
run-name: Build & Deploy por ${{ gitea.actor }} 🚀
on:
push:
branches: [ "main", "master" ]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout do código
uses: actions/checkout@v4
- name: Configurar JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: 'maven' # Esta linha ativa o cache automático das dependências do Maven
- name: Corrigir Instalador e Instalar Maven
run: |
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get install -y maven
- name: Build do JAR (Sem Testes)
run: |
# O -DskipTests ignora os testes e foca só em gerar o arquivo
mvn clean install -DskipTests
- name: Chamar Webhook do Coolify
run: |
curl -X GET "https://coolify.stackpanel.com.br/api/v1/deploy?uuid=iwwcg08c04css0o444k08sgg&force=false" \
-H "Authorization: Bearer 6|JDmqzDFYjZbHKGEt3jjMERvvMTKNsDjsugQQkZtg28e56c42"

View File

@@ -1,11 +1,9 @@
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;
@@ -23,8 +21,8 @@ public class CoolifyController {
} }
@GetMapping("/buscar") @GetMapping("/buscar")
public ResponseEntity<List<CoolifyPersistence>> buscarProjects(){ public List<CoolifyResponse> buscarProjects(){
return ResponseEntity.ok(coolifyService.buscarProjects()); return coolifyService.buscarProjects();
} }
@GetMapping("/buscarProject") @GetMapping("/buscarProject")

View File

@@ -14,8 +14,8 @@ public class CoolifyPersistence {
@Column(name = "NAMPRT") @Column(name = "NAMPRT")
private String nameProject; private String nameProject;
@Column(name = "UUID", unique = true) @Column(name = "UUID")
private String uuid; private String uudi;
@Column(name = "DSCPRT") @Column(name = "DSCPRT")
private String description; private String description;
@@ -23,9 +23,10 @@ public class CoolifyPersistence {
public CoolifyPersistence() { public CoolifyPersistence() {
} }
public CoolifyPersistence(String nameProject, String uuid, String description) { public CoolifyPersistence(Long sequence, String nameProject, String uudi, String description) {
this.sequence = sequence;
this.nameProject = nameProject; this.nameProject = nameProject;
this.uuid = uuid; this.uudi = uudi;
this.description = description; this.description = description;
} }
@@ -45,12 +46,12 @@ public class CoolifyPersistence {
this.nameProject = nameProject; this.nameProject = nameProject;
} }
public String getUuid() { public String getUudi() {
return uuid; return uudi;
} }
public void setUuid(String uuid) { public void setUudi(String uudi) {
this.uuid = uuid; this.uudi = uudi;
} }
public String getDescription() { public String getDescription() {
@@ -60,14 +61,4 @@ 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 + '\'' +
'}';
}
} }

View File

@@ -1,4 +0,0 @@
package br.com.stackpanel.api.entity.dto;
public record ApplicationResponse(String name, String uuid) {
}

View File

@@ -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, List<ApplicationResponse> applications, List<PostgreResponse> postgresqls) { public record CoolifyResponseProjects(List<MysqlResponse> mysqls, List<ServiceResponse> services) {
} }

View File

@@ -1,4 +0,0 @@
package br.com.stackpanel.api.entity.dto;
public record PostgreResponse(String name, String uuid, String image) {
}

View File

@@ -16,6 +16,7 @@ public class CoolifyMapper {
} }
return new CoolifyPersistence( return new CoolifyPersistence(
response.id(),
response.name(), response.name(),
response.uuid(), response.uuid(),
response.description() response.description()

View File

@@ -5,15 +5,10 @@ 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.uuid FROM CoolifyPersistence col") @Query(value = "SELECT col FROM CoolifyPersistence col WHERE col.uudi in (:uuid)")
List<String> buscarListaUuids(); CoolifyPersistence buscarProjectsUUIDs(String uuid);
@Query(value = "SELECT col FROM CoolifyPersistence col")
List<CoolifyPersistence> buscarProjects();
} }

View File

@@ -1,6 +1,5 @@
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;
@@ -8,7 +7,7 @@ import java.util.List;
public interface CoolifyService { public interface CoolifyService {
List<CoolifyPersistence> buscarProjects(); List<CoolifyResponse> buscarProjects();
CoolifyResponseProjects buscarProjetosUuid(String uuid); CoolifyResponseProjects buscarProjetosUuid(String uuid);

View File

@@ -1,18 +1,19 @@
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.*; 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.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;
@@ -29,35 +30,22 @@ public class CoolifyServiceImpl implements CoolifyService {
this.mapper = mapper; this.mapper = mapper;
} }
@Override public List<CoolifyResponse> buscarProjects(){
@Transactional return coolifyClient.buscarProjects();
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(){
return repository.buscarProjects().stream() // List<CoolifyResponse> response = coolifyClient.buscarProjects();
.toList(); //
// List<String> uuids = new ArrayList<>();
//
} // for (CoolifyResponse unique: response) {
// uuids.add(unique.uuid());
// }
private CoolifyPersistence salvarProjects(CoolifyPersistence coolifyPersistence){ //
return repository.save(coolifyPersistence); // return uuids;
} //
// }
@Override @Override
public CoolifyResponseProjects buscarProjetosUuid(String uuid){ public CoolifyResponseProjects buscarProjetosUuid(String uuid){
@@ -79,15 +67,7 @@ public class CoolifyServiceImpl implements CoolifyService {
.flatMap(flat -> flat.services().stream()) .flatMap(flat -> flat.services().stream())
.toList(); .toList();
List<ApplicationResponse> listaDeApplications = buscarPorUuids.stream() return new CoolifyResponseProjects(listaDeMysqls, listaDeServices);
.flatMap(item -> item.applications().stream())
.toList();
List<PostgreResponse> listaDePostgreSql = buscarPorUuids.stream()
.flatMap(item -> item.postgresqls().stream())
.toList();
return new CoolifyResponseProjects(listaDeMysqls, listaDeServices, listaDeApplications, listaDePostgreSql);
} }
} }

View File

@@ -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://db.stackpanel.com.br/nexusdb spring.datasource.url=jdbc:postgresql://129.153.206.118:5676/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