From 32066bb47a8250c5ea35b377621eb5a3bd21d5d2 Mon Sep 17 00:00:00 2001 From: mirrerror Date: Mon, 2 Oct 2023 08:25:41 +0300 Subject: [PATCH 1/8] optimize code --- src/main/resources/application.properties | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 src/main/resources/application.properties diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index 11854ec..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1,9 +0,0 @@ -# MySQL Connection Configuration -spring.datasource.url=jdbc:mariadb://194.195.242.137:3306/expensetracker -spring.datasource.username=root -spring.datasource.password=daniel$$$javatop -spring.datasource.driver-class-name=org.mariadb.jdbc.Driver - -# Hibernate Configuration -spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect -server.port=8081 From 336359f267fa1a535a4ae6b5e3a9792797923ce8 Mon Sep 17 00:00:00 2001 From: mirrerror Date: Mon, 2 Oct 2023 08:26:18 +0300 Subject: [PATCH 2/8] optimize code --- .../expensetrackerfaf/controller/ExpenseController.java | 6 +++++- .../expensetrackerfaf/controller/IncomeController.java | 7 ++++++- .../expensetrackerfaf/controller/UserController.java | 6 +++++- .../faf223/expensetrackerfaf/service/ExpenseService.java | 6 +++++- .../faf223/expensetrackerfaf/service/IncomeService.java | 7 ++++++- .../com/faf223/expensetrackerfaf/service/UserService.java | 6 +++++- 6 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java index 9769c9a..21bc61a 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java @@ -15,8 +15,12 @@ import java.util.List; @RequestMapping("/expenses") public class ExpenseController { + private final ExpenseService expenseService; + @Autowired - private ExpenseService expenseService; + public ExpenseController(ExpenseService expenseService) { + this.expenseService = expenseService; + } @GetMapping("/user/{userUuid}") public ResponseEntity> getExpensesByUser(@PathVariable String userUuid) { diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java index 078c65a..984afe9 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java @@ -14,8 +14,13 @@ import java.util.List; @RestController @RequestMapping("/incomes") public class IncomeController { + + private final IncomeService incomeService; + @Autowired - private IncomeService incomeService; + public IncomeController(IncomeService incomeService) { + this.incomeService = incomeService; + } @GetMapping("/user/{userUuid}") public ResponseEntity> getIncomesByUser(@PathVariable String userUuid) { diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java index a9de44e..e1afdcd 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java @@ -13,8 +13,12 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/users") public class UserController { + private final UserService userService; + @Autowired - private UserService userService; + public UserController(UserService userService) { + this.userService = userService; + } @GetMapping("/{userUuid}") public ResponseEntity getUser(@PathVariable String userUuid) { diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java b/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java index 443ca0d..43a6c14 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java @@ -10,9 +10,13 @@ import java.util.List; @Service public class ExpenseService { - @Autowired private ExpenseRepository expenseRepository; + @Autowired + public ExpenseService(ExpenseRepository expenseRepository) { + this.expenseRepository = expenseRepository; + } + public List getExpensesByUserId(String userUuid) { return expenseRepository.findByUserUserUuid(userUuid); } diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java b/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java index 5ca97d1..3544d2f 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java @@ -9,9 +9,14 @@ import java.util.List; @Service public class IncomeService { - @Autowired + private IncomeRepository incomeRepository; + @Autowired + public IncomeService(IncomeRepository incomeRepository) { + this.incomeRepository = incomeRepository; + } + public List getIncomesByUserId(String userUuid) { return incomeRepository.findByUserUserUuid(userUuid); } diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java b/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java index e9c3798..e75fc82 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java @@ -8,9 +8,13 @@ import org.springframework.stereotype.Service; @Service public class UserService { - @Autowired private UserRepository userRepository; + @Autowired + public UserService(UserRepository userRepository) { + this.userRepository = userRepository; + } + public User getUserById(String userUuid) { return userRepository.findById(userUuid).orElse(null); } From 51b5537558eb7bc4d88805f82fbfb7f24d75d77b Mon Sep 17 00:00:00 2001 From: mirrerror Date: Mon, 2 Oct 2023 08:49:01 +0300 Subject: [PATCH 3/8] update expense serivce, controller --- .../controller/ExpenseController.java | 42 +++++++++++++++---- .../service/ExpenseService.java | 8 ++++ 2 files changed, 41 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java index 21bc61a..7844642 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java @@ -4,10 +4,8 @@ import com.faf223.expensetrackerfaf.model.Expense; import com.faf223.expensetrackerfaf.service.ExpenseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -22,14 +20,40 @@ public class ExpenseController { this.expenseService = expenseService; } - @GetMapping("/user/{userUuid}") - public ResponseEntity> getExpensesByUser(@PathVariable String userUuid) { - List expenses = expenseService.getExpensesByUserId(userUuid); - if (!expenses.isEmpty()) { - return ResponseEntity.ok(expenses); + @GetMapping() + public ResponseEntity> getAllExpenses() { + List expenses = expenseService.getExpenses(); + if (!expenses.isEmpty()) return ResponseEntity.ok(expenses); + else return ResponseEntity.notFound().build(); + } + + @PostMapping() + public ResponseEntity createNewExpense(@ModelAttribute("expense") Expense expense, + BindingResult bindingResult) { + if (!bindingResult.hasErrors()) { + expenseService.createOrUpdateExpense(expense); + return ResponseEntity.ok(expense); } else { return ResponseEntity.notFound().build(); } } + + @PatchMapping() + public ResponseEntity updateExpense(@ModelAttribute("expense") Expense expense, + BindingResult bindingResult) { + if (!bindingResult.hasErrors()) { + expenseService.createOrUpdateExpense(expense); + return ResponseEntity.ok(expense); + } else { + return ResponseEntity.notFound().build(); + } + } + + @GetMapping("/user/{userUuid}") + public ResponseEntity> getExpensesByUser(@PathVariable String userUuid) { + List expenses = expenseService.getExpensesByUserId(userUuid); + if (!expenses.isEmpty()) return ResponseEntity.ok(expenses); + else return ResponseEntity.notFound().build(); + } } diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java b/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java index 43a6c14..6031011 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java @@ -17,7 +17,15 @@ public class ExpenseService { this.expenseRepository = expenseRepository; } + public void createOrUpdateExpense(Expense expense) { + expenseRepository.save(expense); + } + public List getExpensesByUserId(String userUuid) { return expenseRepository.findByUserUserUuid(userUuid); } + + public List getExpenses() { + return expenseRepository.findAll(); + } } \ No newline at end of file From 16d74c0ab64b7b3684990d53778ed32c0e95ce0a Mon Sep 17 00:00:00 2001 From: mirrerror Date: Mon, 2 Oct 2023 08:58:17 +0300 Subject: [PATCH 4/8] update controllers and services --- .../controller/ExpenseController.java | 2 +- .../controller/IncomeController.java | 42 +++++++++--- .../controller/MainController.java | 66 ------------------- .../controller/UserController.java | 42 +++++++++--- .../service/IncomeService.java | 8 +++ .../service/UserService.java | 10 +++ 6 files changed, 86 insertions(+), 84 deletions(-) delete mode 100644 src/main/java/com/faf223/expensetrackerfaf/controller/MainController.java diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java index 7844642..4086645 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java @@ -49,7 +49,7 @@ public class ExpenseController { } } - @GetMapping("/user/{userUuid}") + @GetMapping("/{userUuid}") public ResponseEntity> getExpensesByUser(@PathVariable String userUuid) { List expenses = expenseService.getExpensesByUserId(userUuid); if (!expenses.isEmpty()) return ResponseEntity.ok(expenses); diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java index 984afe9..7dc783f 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java @@ -4,10 +4,8 @@ import com.faf223.expensetrackerfaf.model.Income; import com.faf223.expensetrackerfaf.service.IncomeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -22,14 +20,40 @@ public class IncomeController { this.incomeService = incomeService; } - @GetMapping("/user/{userUuid}") - public ResponseEntity> getIncomesByUser(@PathVariable String userUuid) { - List incomes = incomeService.getIncomesByUserId(userUuid); - if (!incomes.isEmpty()) { - return ResponseEntity.ok(incomes); + @GetMapping() + public ResponseEntity> getAllIncomes() { + List incomes = incomeService.getIncomes(); + if (!incomes.isEmpty()) return ResponseEntity.ok(incomes); + else return ResponseEntity.notFound().build(); + } + + @PostMapping() + public ResponseEntity createNewIncome(@ModelAttribute("income") Income income, + BindingResult bindingResult) { + if (!bindingResult.hasErrors()) { + incomeService.createOrUpdateIncome(income); + return ResponseEntity.ok(income); } else { return ResponseEntity.notFound().build(); } } + + @PatchMapping() + public ResponseEntity updateIncome(@ModelAttribute("income") Income income, + BindingResult bindingResult) { + if (!bindingResult.hasErrors()) { + incomeService.createOrUpdateIncome(income); + return ResponseEntity.ok(income); + } else { + return ResponseEntity.notFound().build(); + } + } + + @GetMapping("/{userUuid}") + public ResponseEntity> getIncomesByUser(@PathVariable String userUuid) { + List incomes = incomeService.getIncomesByUserId(userUuid); + if (!incomes.isEmpty()) return ResponseEntity.ok(incomes); + else return ResponseEntity.notFound().build(); + } } diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/MainController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/MainController.java deleted file mode 100644 index 47ba33b..0000000 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/MainController.java +++ /dev/null @@ -1,66 +0,0 @@ -//package com.faf223.expensetrackerfaf.controller; -// -//import com.faf223.expensetrackerfaf.model.Expense; -//import com.faf223.expensetrackerfaf.model.Income; -//import com.faf223.expensetrackerfaf.model.Role; -//import com.faf223.expensetrackerfaf.model.User; -//import org.springframework.web.bind.annotation.*; -// -//import java.util.List; -// -//@RestController -//public class MainController { -// -// @GetMapping("/") -// public String helloWorld() { -// return "Hello, World!"; -// } -// -// @GetMapping("/users/get/{id}") -// public User getUser(@PathVariable int id) { -// return new User(id, "Test", null, null, null, null, null, null); -// } -// -// @PostMapping("/users/set/{id}/name") -// public String setName(@PathVariable int id, -// @RequestParam("name") String name) { -// throw new UnsupportedOperationException("Waiting for the DB."); -// } -// -// @PostMapping("/users/set/{id}/email") -// public String setEmail(@PathVariable int id, -// @RequestParam("email") String email) { -// throw new UnsupportedOperationException("Waiting for the DB."); -// } -// -// @PostMapping("/users/set/{id}/login") -// public String setLogin(@PathVariable int id, -// @RequestParam("login") String login) { -// throw new UnsupportedOperationException("Waiting for the DB."); -// } -// -// @PostMapping("/users/set/{id}/password") -// public String setPassword(@PathVariable int id, -// @RequestParam("password") String password) { -// throw new UnsupportedOperationException("Waiting for the DB."); -// } -// -// @PostMapping("/users/set/{id}/role") -// public String setRole(@PathVariable int id, -// @RequestParam("role") Role role) { -// throw new UnsupportedOperationException("Waiting for the DB."); -// } -// -// @PostMapping("/users/set/{id}/expenses") -// public String setExpenses(@PathVariable int id, -// @RequestParam("expenses") List expenses) { -// throw new UnsupportedOperationException("Waiting for the DB."); -// } -// -// @PostMapping("/users/set/{id}/incomes") -// public String setIncomes(@PathVariable int id, -// @RequestParam("incomes")List incomes) { -// throw new UnsupportedOperationException("Waiting for the DB."); -// } -// -//} diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java index e1afdcd..c486137 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java @@ -4,10 +4,10 @@ import com.faf223.expensetrackerfaf.model.User; import com.faf223.expensetrackerfaf.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import java.util.List; @RestController @RequestMapping("/users") @@ -20,14 +20,40 @@ public class UserController { this.userService = userService; } - @GetMapping("/{userUuid}") - public ResponseEntity getUser(@PathVariable String userUuid) { - User user = userService.getUserById(userUuid); - if (user != null) { + @GetMapping() + public ResponseEntity> getAllUsers() { + List users = userService.getUsers(); + if (!users.isEmpty()) return ResponseEntity.ok(users); + else return ResponseEntity.notFound().build(); + } + + @PostMapping() + public ResponseEntity createNewUser(@ModelAttribute("user") User user, + BindingResult bindingResult) { + if (!bindingResult.hasErrors()) { + userService.createOrUpdateUser(user); return ResponseEntity.ok(user); } else { return ResponseEntity.notFound().build(); } } + + @PatchMapping() + public ResponseEntity updateUser(@ModelAttribute("user") User user, + BindingResult bindingResult) { + if (!bindingResult.hasErrors()) { + userService.createOrUpdateUser(user); + return ResponseEntity.ok(user); + } else { + return ResponseEntity.notFound().build(); + } + } + + @GetMapping("/{userUuid}") + public ResponseEntity getUser(@PathVariable String userUuid) { + User user = userService.getUserById(userUuid); + if (user != null) return ResponseEntity.ok(user); + else return ResponseEntity.notFound().build(); + } } diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java b/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java index 3544d2f..4425ae7 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java @@ -17,6 +17,14 @@ public class IncomeService { this.incomeRepository = incomeRepository; } + public void createOrUpdateIncome(Income income) { + incomeRepository.save(income); + } + + public List getIncomes() { + return incomeRepository.findAll(); + } + public List getIncomesByUserId(String userUuid) { return incomeRepository.findByUserUserUuid(userUuid); } diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java b/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java index e75fc82..2330c11 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java @@ -5,6 +5,8 @@ import com.faf223.expensetrackerfaf.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class UserService { @@ -15,6 +17,14 @@ public class UserService { this.userRepository = userRepository; } + public void createOrUpdateUser(User user) { + userRepository.save(user); + } + + public List getUsers() { + return userRepository.findAll(); + } + public User getUserById(String userUuid) { return userRepository.findById(userUuid).orElse(null); } From f512c50aaf7e2b9dc9a08842575d9cd8bdcba3ce Mon Sep 17 00:00:00 2001 From: mirrerror Date: Mon, 2 Oct 2023 10:00:11 +0300 Subject: [PATCH 5/8] fix controllers --- pom.xml | 2 ++ .../expensetrackerfaf/controller/ExpenseController.java | 4 ++-- .../expensetrackerfaf/controller/IncomeController.java | 5 +++-- .../faf223/expensetrackerfaf/controller/UserController.java | 4 ++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index a41a611..4961a2c 100644 --- a/pom.xml +++ b/pom.xml @@ -38,10 +38,12 @@ spring-boot-starter-test test + org.springframework.boot spring-boot-starter-security + org.projectlombok lombok diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java index 4086645..aed21b6 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java @@ -28,7 +28,7 @@ public class ExpenseController { } @PostMapping() - public ResponseEntity createNewExpense(@ModelAttribute("expense") Expense expense, + public ResponseEntity createNewExpense(@RequestBody Expense expense, BindingResult bindingResult) { if (!bindingResult.hasErrors()) { expenseService.createOrUpdateExpense(expense); @@ -39,7 +39,7 @@ public class ExpenseController { } @PatchMapping() - public ResponseEntity updateExpense(@ModelAttribute("expense") Expense expense, + public ResponseEntity updateExpense(@RequestBody Expense expense, BindingResult bindingResult) { if (!bindingResult.hasErrors()) { expenseService.createOrUpdateExpense(expense); diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java index 7dc783f..ffc0497 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java @@ -28,7 +28,7 @@ public class IncomeController { } @PostMapping() - public ResponseEntity createNewIncome(@ModelAttribute("income") Income income, + public ResponseEntity createNewIncome(@RequestBody Income income, BindingResult bindingResult) { if (!bindingResult.hasErrors()) { incomeService.createOrUpdateIncome(income); @@ -39,9 +39,10 @@ public class IncomeController { } @PatchMapping() - public ResponseEntity updateIncome(@ModelAttribute("income") Income income, + public ResponseEntity updateIncome(@RequestBody Income income, BindingResult bindingResult) { if (!bindingResult.hasErrors()) { + System.out.println("amount: " + income.getAmount()); incomeService.createOrUpdateIncome(income); return ResponseEntity.ok(income); } else { diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java index c486137..afe8623 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java @@ -28,7 +28,7 @@ public class UserController { } @PostMapping() - public ResponseEntity createNewUser(@ModelAttribute("user") User user, + public ResponseEntity createNewUser(@RequestBody User user, BindingResult bindingResult) { if (!bindingResult.hasErrors()) { userService.createOrUpdateUser(user); @@ -39,7 +39,7 @@ public class UserController { } @PatchMapping() - public ResponseEntity updateUser(@ModelAttribute("user") User user, + public ResponseEntity updateUser(@RequestBody User user, BindingResult bindingResult) { if (!bindingResult.hasErrors()) { userService.createOrUpdateUser(user); From 5119b506b2d59988712a2a126d55c2de616f9732 Mon Sep 17 00:00:00 2001 From: mirrerror Date: Mon, 2 Oct 2023 17:23:44 +0300 Subject: [PATCH 6/8] set repositories to final --- .../com/faf223/expensetrackerfaf/service/ExpenseService.java | 2 +- .../com/faf223/expensetrackerfaf/service/IncomeService.java | 2 +- .../java/com/faf223/expensetrackerfaf/service/UserService.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java b/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java index 6031011..56ef226 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java @@ -10,7 +10,7 @@ import java.util.List; @Service public class ExpenseService { - private ExpenseRepository expenseRepository; + private final ExpenseRepository expenseRepository; @Autowired public ExpenseService(ExpenseRepository expenseRepository) { diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java b/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java index 4425ae7..65347fb 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java @@ -10,7 +10,7 @@ import java.util.List; @Service public class IncomeService { - private IncomeRepository incomeRepository; + private final IncomeRepository incomeRepository; @Autowired public IncomeService(IncomeRepository incomeRepository) { diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java b/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java index 2330c11..956dfe1 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/UserService.java @@ -10,7 +10,7 @@ import java.util.List; @Service public class UserService { - private UserRepository userRepository; + private final UserRepository userRepository; @Autowired public UserService(UserRepository userRepository) { From 46dad36166800a4497caef85043dac3ca83740c7 Mon Sep 17 00:00:00 2001 From: mirrerror Date: Tue, 3 Oct 2023 11:52:35 +0300 Subject: [PATCH 7/8] remove debugging --- .../faf223/expensetrackerfaf/controller/IncomeController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java index ffc0497..0670aa6 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java @@ -42,7 +42,6 @@ public class IncomeController { public ResponseEntity updateIncome(@RequestBody Income income, BindingResult bindingResult) { if (!bindingResult.hasErrors()) { - System.out.println("amount: " + income.getAmount()); incomeService.createOrUpdateIncome(income); return ResponseEntity.ok(income); } else { From 5350fc3adf1445f01e989802c0649d1c00ff520a Mon Sep 17 00:00:00 2001 From: mirrerror Date: Thu, 5 Oct 2023 13:13:53 +0300 Subject: [PATCH 8/8] add dto, refactor names, update controllers --- .../controller/ExpenseController.java | 26 ++++++++++------ .../controller/IncomeController.java | 26 ++++++++++------ .../controller/UserController.java | 26 ++++++++++------ .../dto/ExpenseCreationDTO.java | 12 +++++++ .../expensetrackerfaf/dto/ExpenseDTO.java | 18 +++++++++++ .../dto/IncomeCreationDTO.java | 12 +++++++ .../expensetrackerfaf/dto/IncomeDTO.java | 18 +++++++++++ .../dto/UserCreationDTO.java | 10 ++++++ .../faf223/expensetrackerfaf/dto/UserDTO.java | 13 ++++++++ .../dto/mappers/ExpenseMapper.java | 31 +++++++++++++++++++ .../dto/mappers/IncomeMapper.java | 31 +++++++++++++++++++ .../dto/mappers/UserMapper.java | 28 +++++++++++++++++ .../faf223/expensetrackerfaf/model/User.java | 2 +- .../repository/ExpenseRepository.java | 2 +- .../repository/IncomeRepository.java | 2 +- .../service/ExpenseService.java | 6 +++- .../service/IncomeService.java | 6 +++- 17 files changed, 237 insertions(+), 32 deletions(-) create mode 100644 src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseCreationDTO.java create mode 100644 src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseDTO.java create mode 100644 src/main/java/com/faf223/expensetrackerfaf/dto/IncomeCreationDTO.java create mode 100644 src/main/java/com/faf223/expensetrackerfaf/dto/IncomeDTO.java create mode 100644 src/main/java/com/faf223/expensetrackerfaf/dto/UserCreationDTO.java create mode 100644 src/main/java/com/faf223/expensetrackerfaf/dto/UserDTO.java create mode 100644 src/main/java/com/faf223/expensetrackerfaf/dto/mappers/ExpenseMapper.java create mode 100644 src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java create mode 100644 src/main/java/com/faf223/expensetrackerfaf/dto/mappers/UserMapper.java diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java index aed21b6..d2298e5 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/ExpenseController.java @@ -1,5 +1,8 @@ package com.faf223.expensetrackerfaf.controller; +import com.faf223.expensetrackerfaf.dto.ExpenseCreationDTO; +import com.faf223.expensetrackerfaf.dto.ExpenseDTO; +import com.faf223.expensetrackerfaf.dto.mappers.ExpenseMapper; import com.faf223.expensetrackerfaf.model.Expense; import com.faf223.expensetrackerfaf.service.ExpenseService; import org.springframework.beans.factory.annotation.Autowired; @@ -8,50 +11,55 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.stream.Collectors; @RestController @RequestMapping("/expenses") public class ExpenseController { private final ExpenseService expenseService; + private final ExpenseMapper expenseMapper; @Autowired - public ExpenseController(ExpenseService expenseService) { + public ExpenseController(ExpenseService expenseService, ExpenseMapper expenseMapper) { this.expenseService = expenseService; + this.expenseMapper = expenseMapper; } @GetMapping() - public ResponseEntity> getAllExpenses() { - List expenses = expenseService.getExpenses(); + public ResponseEntity> getAllExpenses() { + List expenses = expenseService.getExpenses().stream().map(expenseMapper::toDto).collect(Collectors.toList()); if (!expenses.isEmpty()) return ResponseEntity.ok(expenses); else return ResponseEntity.notFound().build(); } @PostMapping() - public ResponseEntity createNewExpense(@RequestBody Expense expense, + public ResponseEntity createNewExpense(@RequestBody ExpenseCreationDTO expenseDTO, BindingResult bindingResult) { + Expense expense = expenseMapper.toExpense(expenseDTO); if (!bindingResult.hasErrors()) { expenseService.createOrUpdateExpense(expense); - return ResponseEntity.ok(expense); + return ResponseEntity.ok(expenseMapper.toDto(expense)); } else { return ResponseEntity.notFound().build(); } } @PatchMapping() - public ResponseEntity updateExpense(@RequestBody Expense expense, + public ResponseEntity updateExpense(@RequestBody ExpenseCreationDTO expenseDTO, BindingResult bindingResult) { + Expense expense = expenseMapper.toExpense(expenseDTO); if (!bindingResult.hasErrors()) { expenseService.createOrUpdateExpense(expense); - return ResponseEntity.ok(expense); + return ResponseEntity.ok(expenseMapper.toDto(expense)); } else { return ResponseEntity.notFound().build(); } } @GetMapping("/{userUuid}") - public ResponseEntity> getExpensesByUser(@PathVariable String userUuid) { - List expenses = expenseService.getExpensesByUserId(userUuid); + public ResponseEntity> getExpensesByUser(@PathVariable String userUuid) { + List expenses = expenseService.getExpensesByUserId(userUuid).stream().map(expenseMapper::toDto).collect(Collectors.toList()); if (!expenses.isEmpty()) return ResponseEntity.ok(expenses); else return ResponseEntity.notFound().build(); } diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java index 0670aa6..ad342f7 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/IncomeController.java @@ -1,5 +1,8 @@ package com.faf223.expensetrackerfaf.controller; +import com.faf223.expensetrackerfaf.dto.IncomeCreationDTO; +import com.faf223.expensetrackerfaf.dto.IncomeDTO; +import com.faf223.expensetrackerfaf.dto.mappers.IncomeMapper; import com.faf223.expensetrackerfaf.model.Income; import com.faf223.expensetrackerfaf.service.IncomeService; import org.springframework.beans.factory.annotation.Autowired; @@ -8,50 +11,55 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.stream.Collectors; @RestController @RequestMapping("/incomes") public class IncomeController { private final IncomeService incomeService; + private final IncomeMapper incomeMapper; @Autowired - public IncomeController(IncomeService incomeService) { + public IncomeController(IncomeService incomeService, IncomeMapper incomeMapper) { this.incomeService = incomeService; + this.incomeMapper = incomeMapper; } @GetMapping() - public ResponseEntity> getAllIncomes() { - List incomes = incomeService.getIncomes(); + public ResponseEntity> getAllIncomes() { + List incomes = incomeService.getIncomes().stream().map(incomeMapper::toDto).collect(Collectors.toList()); if (!incomes.isEmpty()) return ResponseEntity.ok(incomes); else return ResponseEntity.notFound().build(); } @PostMapping() - public ResponseEntity createNewIncome(@RequestBody Income income, + public ResponseEntity createNewIncome(@RequestBody IncomeCreationDTO incomeDTO, BindingResult bindingResult) { + Income income = incomeMapper.toIncome(incomeDTO); if (!bindingResult.hasErrors()) { incomeService.createOrUpdateIncome(income); - return ResponseEntity.ok(income); + return ResponseEntity.ok(incomeMapper.toDto(income)); } else { return ResponseEntity.notFound().build(); } } @PatchMapping() - public ResponseEntity updateIncome(@RequestBody Income income, + public ResponseEntity updateIncome(@RequestBody IncomeCreationDTO incomeDTO, BindingResult bindingResult) { + Income income = incomeMapper.toIncome(incomeDTO); if (!bindingResult.hasErrors()) { incomeService.createOrUpdateIncome(income); - return ResponseEntity.ok(income); + return ResponseEntity.ok(incomeMapper.toDto(income)); } else { return ResponseEntity.notFound().build(); } } @GetMapping("/{userUuid}") - public ResponseEntity> getIncomesByUser(@PathVariable String userUuid) { - List incomes = incomeService.getIncomesByUserId(userUuid); + public ResponseEntity> getIncomesByUser(@PathVariable String userUuid) { + List incomes = incomeService.getIncomesByUserId(userUuid).stream().map(incomeMapper::toDto).collect(Collectors.toList()); if (!incomes.isEmpty()) return ResponseEntity.ok(incomes); else return ResponseEntity.notFound().build(); } diff --git a/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java b/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java index afe8623..97b3648 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java +++ b/src/main/java/com/faf223/expensetrackerfaf/controller/UserController.java @@ -1,5 +1,8 @@ package com.faf223.expensetrackerfaf.controller; +import com.faf223.expensetrackerfaf.dto.UserCreationDTO; +import com.faf223.expensetrackerfaf.dto.UserDTO; +import com.faf223.expensetrackerfaf.dto.mappers.UserMapper; import com.faf223.expensetrackerfaf.model.User; import com.faf223.expensetrackerfaf.service.UserService; import org.springframework.beans.factory.annotation.Autowired; @@ -8,51 +11,56 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.stream.Collectors; @RestController @RequestMapping("/users") public class UserController { private final UserService userService; + private final UserMapper userMapper; @Autowired - public UserController(UserService userService) { + public UserController(UserService userService, UserMapper userMapper) { this.userService = userService; + this.userMapper = userMapper; } @GetMapping() - public ResponseEntity> getAllUsers() { - List users = userService.getUsers(); + public ResponseEntity> getAllUsers() { + List users = userService.getUsers().stream().map(userMapper::toDto).collect(Collectors.toList()); if (!users.isEmpty()) return ResponseEntity.ok(users); else return ResponseEntity.notFound().build(); } @PostMapping() - public ResponseEntity createNewUser(@RequestBody User user, + public ResponseEntity createNewUser(@RequestBody UserCreationDTO userDTO, BindingResult bindingResult) { + User user = userMapper.toUser(userDTO); if (!bindingResult.hasErrors()) { userService.createOrUpdateUser(user); - return ResponseEntity.ok(user); + return ResponseEntity.ok(userMapper.toDto(user)); } else { return ResponseEntity.notFound().build(); } } @PatchMapping() - public ResponseEntity updateUser(@RequestBody User user, + public ResponseEntity updateUser(@RequestBody UserCreationDTO userDTO, BindingResult bindingResult) { + User user = userMapper.toUser(userDTO); if (!bindingResult.hasErrors()) { userService.createOrUpdateUser(user); - return ResponseEntity.ok(user); + return ResponseEntity.ok(userMapper.toDto(user)); } else { return ResponseEntity.notFound().build(); } } @GetMapping("/{userUuid}") - public ResponseEntity getUser(@PathVariable String userUuid) { + public ResponseEntity getUser(@PathVariable String userUuid) { User user = userService.getUserById(userUuid); - if (user != null) return ResponseEntity.ok(user); + if (user != null) return ResponseEntity.ok(userMapper.toDto(user)); else return ResponseEntity.notFound().build(); } } diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseCreationDTO.java b/src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseCreationDTO.java new file mode 100644 index 0000000..3042800 --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseCreationDTO.java @@ -0,0 +1,12 @@ +package com.faf223.expensetrackerfaf.dto; + +import com.faf223.expensetrackerfaf.model.User; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class ExpenseCreationDTO { + private long expenseId; + private User user; +} diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseDTO.java b/src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseDTO.java new file mode 100644 index 0000000..b18643a --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseDTO.java @@ -0,0 +1,18 @@ +package com.faf223.expensetrackerfaf.dto; + +import com.faf223.expensetrackerfaf.model.ExpenseCategory; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +@Data +@AllArgsConstructor +public class ExpenseDTO { + private long expenseId; + private UserDTO userDTO; + private ExpenseCategory expenseCategory; + private LocalDate date; + private BigDecimal amount; +} diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/IncomeCreationDTO.java b/src/main/java/com/faf223/expensetrackerfaf/dto/IncomeCreationDTO.java new file mode 100644 index 0000000..e35c522 --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/IncomeCreationDTO.java @@ -0,0 +1,12 @@ +package com.faf223.expensetrackerfaf.dto; + +import com.faf223.expensetrackerfaf.model.User; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class IncomeCreationDTO { + private long incomeId; + private User userDTO; +} diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/IncomeDTO.java b/src/main/java/com/faf223/expensetrackerfaf/dto/IncomeDTO.java new file mode 100644 index 0000000..3ee4998 --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/IncomeDTO.java @@ -0,0 +1,18 @@ +package com.faf223.expensetrackerfaf.dto; + +import com.faf223.expensetrackerfaf.model.IncomeCategory; +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +@Data +@AllArgsConstructor +public class IncomeDTO { + private long incomeId; + private UserDTO userDTO; + private IncomeCategory category; + private LocalDate date; + private BigDecimal amount; +} diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/UserCreationDTO.java b/src/main/java/com/faf223/expensetrackerfaf/dto/UserCreationDTO.java new file mode 100644 index 0000000..b947426 --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/UserCreationDTO.java @@ -0,0 +1,10 @@ +package com.faf223.expensetrackerfaf.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class UserCreationDTO { + private String uuid; +} diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/UserDTO.java b/src/main/java/com/faf223/expensetrackerfaf/dto/UserDTO.java new file mode 100644 index 0000000..9f79253 --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/UserDTO.java @@ -0,0 +1,13 @@ +package com.faf223.expensetrackerfaf.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class UserDTO { + private String uuid; + private String name; + private String surname; + private String username; +} diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/ExpenseMapper.java b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/ExpenseMapper.java new file mode 100644 index 0000000..7e91e8b --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/ExpenseMapper.java @@ -0,0 +1,31 @@ +package com.faf223.expensetrackerfaf.dto.mappers; + +import com.faf223.expensetrackerfaf.dto.ExpenseCreationDTO; +import com.faf223.expensetrackerfaf.dto.ExpenseDTO; +import com.faf223.expensetrackerfaf.model.Expense; +import com.faf223.expensetrackerfaf.service.ExpenseService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class ExpenseMapper { + + private final ExpenseService expenseService; + private final UserMapper userMapper; + + @Autowired + public ExpenseMapper(ExpenseService expenseService, UserMapper userMapper) { + this.expenseService = expenseService; + this.userMapper = userMapper; + } + + public ExpenseDTO toDto(Expense expense) { + return new ExpenseDTO(expense.getExpenseId(), userMapper.toDto(expense.getUser()), + expense.getCategory(), expense.getDate(), expense.getAmount()); + } + + public Expense toExpense(ExpenseCreationDTO expenseDTO) { + return expenseService.getExpenseById(expenseDTO.getExpenseId()); + } + +} diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java new file mode 100644 index 0000000..91c08d3 --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java @@ -0,0 +1,31 @@ +package com.faf223.expensetrackerfaf.dto.mappers; + +import com.faf223.expensetrackerfaf.dto.IncomeCreationDTO; +import com.faf223.expensetrackerfaf.dto.IncomeDTO; +import com.faf223.expensetrackerfaf.model.Income; +import com.faf223.expensetrackerfaf.service.IncomeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class IncomeMapper { + + private final IncomeService incomeService; + private final UserMapper userMapper; + + @Autowired + public IncomeMapper(IncomeService incomeService, UserMapper userMapper) { + this.incomeService = incomeService; + this.userMapper = userMapper; + } + + public IncomeDTO toDto(Income income) { + return new IncomeDTO(income.getIncomeId(), userMapper.toDto(income.getUser()), + income.getCategory(), income.getDate(), income.getAmount()); + } + + public Income toIncome(IncomeCreationDTO incomeDTO) { + return incomeService.getIncomeById(incomeDTO.getIncomeId()); + } + +} diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/UserMapper.java b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/UserMapper.java new file mode 100644 index 0000000..a403a24 --- /dev/null +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/UserMapper.java @@ -0,0 +1,28 @@ +package com.faf223.expensetrackerfaf.dto.mappers; + +import com.faf223.expensetrackerfaf.dto.UserCreationDTO; +import com.faf223.expensetrackerfaf.dto.UserDTO; +import com.faf223.expensetrackerfaf.model.User; +import com.faf223.expensetrackerfaf.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class UserMapper { + + private final UserService userService; + + @Autowired + public UserMapper(UserService userService) { + this.userService = userService; + } + + public UserDTO toDto(User user) { + return new UserDTO(user.getUuid(), user.getName(), user.getSurname(), user.getUsername()); + } + + public User toUser(UserCreationDTO userDTO) { + return userService.getUserById(userDTO.getUuid()); + } + +} diff --git a/src/main/java/com/faf223/expensetrackerfaf/model/User.java b/src/main/java/com/faf223/expensetrackerfaf/model/User.java index b5a30a9..0460db9 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/model/User.java +++ b/src/main/java/com/faf223/expensetrackerfaf/model/User.java @@ -10,7 +10,7 @@ import lombok.Data; public class User { @Id @Column(table = "users", name = "user_uuid") - private String userUuid; + private String uuid; private String name; private String surname; diff --git a/src/main/java/com/faf223/expensetrackerfaf/repository/ExpenseRepository.java b/src/main/java/com/faf223/expensetrackerfaf/repository/ExpenseRepository.java index 4cd39d0..38fb2fb 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/repository/ExpenseRepository.java +++ b/src/main/java/com/faf223/expensetrackerfaf/repository/ExpenseRepository.java @@ -8,5 +8,5 @@ import java.util.List; @Repository public interface ExpenseRepository extends JpaRepository { - List findByUserUserUuid(String userUuid); + List findByUserUuid(String userUuid); } diff --git a/src/main/java/com/faf223/expensetrackerfaf/repository/IncomeRepository.java b/src/main/java/com/faf223/expensetrackerfaf/repository/IncomeRepository.java index 9a1a592..2f199af 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/repository/IncomeRepository.java +++ b/src/main/java/com/faf223/expensetrackerfaf/repository/IncomeRepository.java @@ -8,5 +8,5 @@ import java.util.List; @Repository public interface IncomeRepository extends JpaRepository { - List findByUserUserUuid(String userUuid); + List findByUserUuid(String userUuid); } diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java b/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java index 56ef226..942c5a1 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/ExpenseService.java @@ -22,10 +22,14 @@ public class ExpenseService { } public List getExpensesByUserId(String userUuid) { - return expenseRepository.findByUserUserUuid(userUuid); + return expenseRepository.findByUserUuid(userUuid); } public List getExpenses() { return expenseRepository.findAll(); } + + public Expense getExpenseById(long id) { + return expenseRepository.findById(id).orElse(null); + } } \ No newline at end of file diff --git a/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java b/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java index 65347fb..cde77d0 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java +++ b/src/main/java/com/faf223/expensetrackerfaf/service/IncomeService.java @@ -26,6 +26,10 @@ public class IncomeService { } public List getIncomesByUserId(String userUuid) { - return incomeRepository.findByUserUserUuid(userUuid); + return incomeRepository.findByUserUuid(userUuid); + } + + public Income getIncomeById(long id) { + return incomeRepository.findById(id).orElse(null); } }