diff --git a/src/main/java/codes/yam/contacts/ContactController.java b/src/main/java/codes/yam/contacts/ContactController.java index 5b9fdca..c6585a7 100644 --- a/src/main/java/codes/yam/contacts/ContactController.java +++ b/src/main/java/codes/yam/contacts/ContactController.java @@ -110,6 +110,12 @@ public String validateEmail(@PathVariable String slug, @RequestParam String emai return ""; } + @GetMapping("/count") + @ResponseBody + public String count() { + return "(%d total Contacts)".formatted(contactService.count()); + } + @ExceptionHandler(ContactNotFoundException.class) @ResponseStatus(HttpStatus.NOT_FOUND) public String handleNotFound(ContactNotFoundException ex, Model model) { diff --git a/src/main/java/codes/yam/contacts/ContactService.java b/src/main/java/codes/yam/contacts/ContactService.java index 3f213d4..4b69ab8 100644 --- a/src/main/java/codes/yam/contacts/ContactService.java +++ b/src/main/java/codes/yam/contacts/ContactService.java @@ -47,6 +47,10 @@ public Contact update(String slug, Contact updated) { return contactRepository.save(contact); } + public long count() { + return contactRepository.count(); + } + private String generateSlug(Contact contact) { return (contact.getFirst().toLowerCase() + "-" + contact.getLast().toLowerCase()) .replaceAll("[^a-z0-9-]", "");