diff --git a/src/main/java/com/litoralregas/openvpn/router/RouterController.java b/src/main/java/com/litoralregas/openvpn/router/RouterController.java index 4b9a775..2c13aba 100644 --- a/src/main/java/com/litoralregas/openvpn/router/RouterController.java +++ b/src/main/java/com/litoralregas/openvpn/router/RouterController.java @@ -3,38 +3,25 @@ package com.litoralregas.openvpn.router; import jakarta.validation.Valid; import org.springframework.web.bind.annotation.*; -import java.time.LocalDateTime; import java.util.List; -import java.util.UUID; @RestController @RequestMapping("/api/routers") public class RouterController { - private final RouterRepository repository; + private final RouterService service; - public RouterController(RouterRepository repository) { - this.repository = repository; + public RouterController(RouterService service) { + this.service = service; } @GetMapping public List getAll() { - return repository.findAll(); + return service.findAll(); } @PostMapping public Router create(@Valid @RequestBody CreateRouterRequest request) { - Router router = new Router(); - - router.setId(UUID.randomUUID()); - router.setName(request.getName()); - router.setSerialNumber(request.getSerialNumber()); - router.setLanIp(request.getLanIp()); - router.setLanSubnet(request.getLanSubnet()); - router.setStatus("PENDING"); - router.setCreatedAt(LocalDateTime.now()); - router.setUpdatedAt(LocalDateTime.now()); - - return repository.save(router); + return service.create(request); } } \ No newline at end of file diff --git a/src/main/java/com/litoralregas/openvpn/router/RouterService.java b/src/main/java/com/litoralregas/openvpn/router/RouterService.java new file mode 100644 index 0000000..0730eec --- /dev/null +++ b/src/main/java/com/litoralregas/openvpn/router/RouterService.java @@ -0,0 +1,37 @@ +package com.litoralregas.openvpn.router; + +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; + +@Service +public class RouterService { + + private final RouterRepository repository; + + public RouterService(RouterRepository repository) { + this.repository = repository; + } + + public List findAll() { + return repository.findAll(); + } + + public Router create(CreateRouterRequest request) { + LocalDateTime now = LocalDateTime.now(); + + Router router = new Router(); + router.setId(UUID.randomUUID()); + router.setName(request.getName()); + router.setSerialNumber(request.getSerialNumber()); + router.setLanIp(request.getLanIp()); + router.setLanSubnet(request.getLanSubnet()); + router.setStatus("PENDING"); + router.setCreatedAt(now); + router.setUpdatedAt(now); + + return repository.save(router); + } +} \ No newline at end of file