optimize code, add interfaces

This commit is contained in:
mirrerror
2023-10-23 16:38:09 +03:00
parent e47f2f8df6
commit 0afa1b2b7c
13 changed files with 87 additions and 46 deletions

View File

@@ -20,7 +20,7 @@ public class ExpenseMapper {
}
public ExpenseDTO toDto(Expense expense) {
return new ExpenseDTO(expense.getExpenseId(), userMapper.toDto(expense.getUser()),
return new ExpenseDTO(expense.getId(), userMapper.toDto(expense.getUser()),
expense.getCategory(), expense.getDate(), expense.getAmount());
}

View File

@@ -2,7 +2,6 @@ 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;
@@ -21,7 +20,7 @@ public class IncomeMapper {
}
public IncomeDTO toDto(Income income) {
return new IncomeDTO(income.getIncomeId(), userMapper.toDto(income.getUser()),
return new IncomeDTO(income.getId(), userMapper.toDto(income.getUser()),
income.getCategory(), income.getDate(), income.getAmount());
}

View File

@@ -1,35 +1,35 @@
package com.faf223.expensetrackerfaf.model;
package com.faf223.expensetrackerfaf.model;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Entity(name = "credentials")
@NoArgsConstructor
@AllArgsConstructor
public class Credential {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long credentialId;
@Data
@Entity(name = "credentials")
@NoArgsConstructor
@AllArgsConstructor
public class Credential {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long credentialId;
@ManyToOne
@JoinColumn(name = "user_uuid")
private User user;
@ManyToOne
@JoinColumn(name = "user_uuid")
private User user;
private String email;
private String password;
private String email;
private String password;
@Enumerated(EnumType.STRING)
private Role role;
@Enumerated(EnumType.STRING)
private Role role;
public Credential(User user, String email, String password) {
this.user = user;
this.email = email;
this.password = password;
public Credential(User user, String email, String password) {
this.user = user;
this.email = email;
this.password = password;
this.role = Role.ROLE_USER;
}
this.role = Role.ROLE_USER;
}
}

View File

@@ -1,10 +1,7 @@
package com.faf223.expensetrackerfaf.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.ToString;
import lombok.NoArgsConstructor;
import lombok.*;
import java.math.BigDecimal;
import java.time.LocalDate;
@@ -16,6 +13,7 @@ import java.time.LocalDate;
public class Expense implements IMoneyTransaction {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter(AccessLevel.NONE)
private Long expenseId;
@ManyToOne()
@@ -30,5 +28,11 @@ public class Expense implements IMoneyTransaction {
private LocalDate date;
private BigDecimal amount;
@Override
public Long getId() {
return expenseId;
}
}

View File

@@ -4,14 +4,29 @@ import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.AccessLevel;
import lombok.Data;
import lombok.Getter;
@Data
@Entity(name = "expense_categories")
public class ExpenseCategory {
public class ExpenseCategory implements IMoneyTransactionCategory {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter(AccessLevel.NONE)
private Long categoryId;
@Getter(AccessLevel.NONE)
private String categoryName;
@Override
public Long getId() {
return categoryId;
}
@Override
public String getName() {
return categoryName;
}
}

View File

@@ -1,11 +1,14 @@
package com.faf223.expensetrackerfaf.model;
import com.faf223.expensetrackerfaf.model.User;
import java.math.BigDecimal;
import java.time.LocalDate;
public interface IMoneyTransaction {
Long getId();
LocalDate getDate();
User getUser();
int getAmount();
String getCategory();
BigDecimal getAmount();
IMoneyTransactionCategory getCategory();
}

View File

@@ -0,0 +1,6 @@
package com.faf223.expensetrackerfaf.model;
public interface IMoneyTransactionCategory {
Long getId();
String getName();
}

View File

@@ -2,10 +2,8 @@ package com.faf223.expensetrackerfaf.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.ToString;
import lombok.NoArgsConstructor;
import lombok.*;
import java.math.BigDecimal;
import java.time.LocalDate;
@@ -16,6 +14,7 @@ import java.time.LocalDate;
public class Income implements IMoneyTransaction {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter(AccessLevel.NONE)
private Long incomeId;
@ManyToOne
@@ -30,4 +29,9 @@ public class Income implements IMoneyTransaction {
private LocalDate date;
private BigDecimal amount;
@Override
public Long getId() {
return incomeId;
}
}

View File

@@ -4,15 +4,29 @@ import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.AccessLevel;
import lombok.Data;
import lombok.Getter;
@Data
@Entity(name = "income_categories")
public class IncomeCategory {
public class IncomeCategory implements IMoneyTransactionCategory {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter(AccessLevel.NONE)
private Long categoryId;
@Getter(AccessLevel.NONE)
private String categoryName;
@Override
public Long getId() {
return categoryId;
}
@Override
public String getName() {
return categoryName;
}
}

View File

@@ -1,4 +1,3 @@
package com.faf223.expensetrackerfaf.model;
public enum Role {

View File

@@ -1,4 +1,3 @@
package com.faf223.expensetrackerfaf.model;
import jakarta.persistence.*;

View File

@@ -5,7 +5,6 @@ import com.faf223.expensetrackerfaf.model.User;
import com.faf223.expensetrackerfaf.repository.ExpenseRepository;
import com.faf223.expensetrackerfaf.repository.UserRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;

View File

@@ -5,7 +5,6 @@ import com.faf223.expensetrackerfaf.model.User;
import com.faf223.expensetrackerfaf.repository.IncomeRepository;
import com.faf223.expensetrackerfaf.repository.UserRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;