Move router creation logic to service

This commit is contained in:
litoral05
2026-05-05 10:16:48 +01:00
parent a6364839f5
commit d0fd8d9774
2 changed files with 42 additions and 18 deletions
@@ -3,38 +3,25 @@ package com.litoralregas.openvpn.router;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.UUID;
@RestController @RestController
@RequestMapping("/api/routers") @RequestMapping("/api/routers")
public class RouterController { public class RouterController {
private final RouterRepository repository; private final RouterService service;
public RouterController(RouterRepository repository) { public RouterController(RouterService service) {
this.repository = repository; this.service = service;
} }
@GetMapping @GetMapping
public List<Router> getAll() { public List<Router> getAll() {
return repository.findAll(); return service.findAll();
} }
@PostMapping @PostMapping
public Router create(@Valid @RequestBody CreateRouterRequest request) { public Router create(@Valid @RequestBody CreateRouterRequest request) {
Router router = new Router(); return service.create(request);
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);
} }
} }
@@ -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<Router> 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);
}
}