diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseCreationDTO.java b/src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseCreationDTO.java index 3042800..eb3eea5 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseCreationDTO.java +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/ExpenseCreationDTO.java @@ -1,12 +1,19 @@ package com.faf223.expensetrackerfaf.dto; +import com.faf223.expensetrackerfaf.model.ExpenseCategory; import com.faf223.expensetrackerfaf.model.User; import lombok.AllArgsConstructor; import lombok.Data; +import java.math.BigDecimal; +import java.time.LocalDate; + @Data @AllArgsConstructor public class ExpenseCreationDTO { private long expenseId; private User user; + 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 index e35c522..2671bb1 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/dto/IncomeCreationDTO.java +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/IncomeCreationDTO.java @@ -1,12 +1,19 @@ package com.faf223.expensetrackerfaf.dto; +import com.faf223.expensetrackerfaf.model.IncomeCategory; import com.faf223.expensetrackerfaf.model.User; import lombok.AllArgsConstructor; import lombok.Data; +import java.math.BigDecimal; +import java.time.LocalDate; + @Data @AllArgsConstructor public class IncomeCreationDTO { private long incomeId; - private User userDTO; + private User user; + 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 index b947426..fefb21b 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/dto/UserCreationDTO.java +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/UserCreationDTO.java @@ -7,4 +7,7 @@ import lombok.Data; @AllArgsConstructor public class UserCreationDTO { 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 index 7e91e8b..74eeff7 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/ExpenseMapper.java +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/ExpenseMapper.java @@ -25,7 +25,10 @@ public class ExpenseMapper { } public Expense toExpense(ExpenseCreationDTO expenseDTO) { - return expenseService.getExpenseById(expenseDTO.getExpenseId()); + Expense expense = expenseService.getExpenseById(expenseDTO.getExpenseId()); + if(expense == null) return new Expense(expenseDTO.getExpenseId(), expenseDTO.getUser(), + expenseDTO.getExpenseCategory(), expenseDTO.getDate(), expenseDTO.getAmount()); + return expense; } } diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java index 91c08d3..32ca33e 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/IncomeMapper.java @@ -2,6 +2,7 @@ package com.faf223.expensetrackerfaf.dto.mappers; import com.faf223.expensetrackerfaf.dto.IncomeCreationDTO; import com.faf223.expensetrackerfaf.dto.IncomeDTO; +import com.faf223.expensetrackerfaf.model.Expense; import com.faf223.expensetrackerfaf.model.Income; import com.faf223.expensetrackerfaf.service.IncomeService; import org.springframework.beans.factory.annotation.Autowired; @@ -25,7 +26,10 @@ public class IncomeMapper { } public Income toIncome(IncomeCreationDTO incomeDTO) { - return incomeService.getIncomeById(incomeDTO.getIncomeId()); + Income income = incomeService.getIncomeById(incomeDTO.getIncomeId()); + if(income == null) return new Income(incomeDTO.getIncomeId(), incomeDTO.getUser(), + incomeDTO.getCategory(), incomeDTO.getDate(), incomeDTO.getAmount()); + return income; } } diff --git a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/UserMapper.java b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/UserMapper.java index a403a24..8e94aff 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/UserMapper.java +++ b/src/main/java/com/faf223/expensetrackerfaf/dto/mappers/UserMapper.java @@ -22,7 +22,10 @@ public class UserMapper { } public User toUser(UserCreationDTO userDTO) { - return userService.getUserById(userDTO.getUuid()); + User user = userService.getUserById(userDTO.getUuid()); + if(user == null) return new User(userDTO.getUuid(), userDTO.getName(), + userDTO.getSurname(), userDTO.getUsername()); + return user; } } diff --git a/src/main/java/com/faf223/expensetrackerfaf/model/Expense.java b/src/main/java/com/faf223/expensetrackerfaf/model/Expense.java index 67df9cf..cf558e7 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/model/Expense.java +++ b/src/main/java/com/faf223/expensetrackerfaf/model/Expense.java @@ -1,11 +1,15 @@ package com.faf223.expensetrackerfaf.model; import jakarta.persistence.*; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.time.LocalDate; @Data +@AllArgsConstructor +@NoArgsConstructor @Entity(name = "expenses") public class Expense { @Id diff --git a/src/main/java/com/faf223/expensetrackerfaf/model/Income.java b/src/main/java/com/faf223/expensetrackerfaf/model/Income.java index 38344a7..cd9b7bb 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/model/Income.java +++ b/src/main/java/com/faf223/expensetrackerfaf/model/Income.java @@ -1,12 +1,16 @@ package com.faf223.expensetrackerfaf.model; import jakarta.persistence.*; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.time.LocalDate; @Data +@AllArgsConstructor +@NoArgsConstructor @Entity(name = "incomes") public class Income { @Id diff --git a/src/main/java/com/faf223/expensetrackerfaf/model/User.java b/src/main/java/com/faf223/expensetrackerfaf/model/User.java index 0460db9..85b876b 100644 --- a/src/main/java/com/faf223/expensetrackerfaf/model/User.java +++ b/src/main/java/com/faf223/expensetrackerfaf/model/User.java @@ -3,9 +3,13 @@ package com.faf223.expensetrackerfaf.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; @Data +@AllArgsConstructor +@NoArgsConstructor @Entity(name = "users") public class User { @Id