From 75add469f778ecf92e9bf4dc0159657006287215 Mon Sep 17 00:00:00 2001 From: Artur Oliveira Date: Tue, 16 Dec 2025 12:53:56 -0300 Subject: [PATCH] =?UTF-8?q?feat(servers):=20expor=20contagem=20por=20tipo?= =?UTF-8?q?=20-=20adiciona=20endpoint=20GET=20/api/servers/type=20na=20con?= =?UTF-8?q?troller=20-=20implementa=20servi=C3=A7o=20para=20agregar=20tota?= =?UTF-8?q?is=20por=20ServersType=20-=20inclui=20m=C3=A9todo=20countAllByT?= =?UTF-8?q?ype=20no=20reposit=C3=B3rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../servermanager/controllers/ServersController.java | 6 ++++++ .../repositories/ServersRepository.java | 1 + .../servermanager/services/ServersService.java | 12 ++++++++++++ 3 files changed, 19 insertions(+) diff --git a/backend/src/main/java/com/hitcommunications/servermanager/controllers/ServersController.java b/backend/src/main/java/com/hitcommunications/servermanager/controllers/ServersController.java index d564653..9450626 100644 --- a/backend/src/main/java/com/hitcommunications/servermanager/controllers/ServersController.java +++ b/backend/src/main/java/com/hitcommunications/servermanager/controllers/ServersController.java @@ -11,6 +11,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; @RestController @RequestMapping("/api/servers") @@ -39,6 +40,11 @@ public class ServersController { return ResponseEntity.ok().body(serversService.getByType(type)); } + @GetMapping("/type") + public ResponseEntity> countAllByType() { + return ResponseEntity.ok().body(serversService.countAllByType()); + } + @GetMapping("/application/{application}") public ResponseEntity> getByApplication(@PathVariable Applications application) { return ResponseEntity.ok().body(serversService.getByApplication(application)); diff --git a/backend/src/main/java/com/hitcommunications/servermanager/repositories/ServersRepository.java b/backend/src/main/java/com/hitcommunications/servermanager/repositories/ServersRepository.java index d0797ae..baa0110 100644 --- a/backend/src/main/java/com/hitcommunications/servermanager/repositories/ServersRepository.java +++ b/backend/src/main/java/com/hitcommunications/servermanager/repositories/ServersRepository.java @@ -13,5 +13,6 @@ public interface ServersRepository extends JpaRepository { List findByType(ServersType type); List findByApplication(Applications application); Optional findByIpAndPort(String ip, Integer port); + Integer countAllByType(ServersType type); } diff --git a/backend/src/main/java/com/hitcommunications/servermanager/services/ServersService.java b/backend/src/main/java/com/hitcommunications/servermanager/services/ServersService.java index c5ffe13..9e0da7b 100644 --- a/backend/src/main/java/com/hitcommunications/servermanager/services/ServersService.java +++ b/backend/src/main/java/com/hitcommunications/servermanager/services/ServersService.java @@ -10,7 +10,9 @@ import com.hitcommunications.servermanager.repositories.ServersRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service @RequiredArgsConstructor @@ -48,6 +50,16 @@ public class ServersService { .toList(); } + public Map countAllByType() { + Map response = new HashMap<>(); + + for(ServersType type : ServersType.values()) { + response.put(type, repo.countAllByType(type)); + } + + return response; + } + public List getByApplication(Applications application) { return repo.findByApplication(application) .stream()