Implemented service, repository and controller for each entity
This commit is contained in:
@@ -1,26 +0,0 @@
|
||||
package com.faf223.expensetrackerfaf.controller;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.BasicEntity;
|
||||
import com.faf223.expensetrackerfaf.repository.BasicRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/getData")
|
||||
public class BasicController {
|
||||
private final BasicRepository basicRepository;
|
||||
|
||||
@Autowired
|
||||
public BasicController(BasicRepository basicRepository) {
|
||||
this.basicRepository = basicRepository;
|
||||
}
|
||||
|
||||
@GetMapping()
|
||||
public List<BasicEntity> listDepartments() {
|
||||
return basicRepository.findAll();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.faf223.expensetrackerfaf.controller;
|
||||
|
||||
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 java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/expenses")
|
||||
public class ExpenseController {
|
||||
|
||||
@Autowired
|
||||
private ExpenseService expenseService;
|
||||
|
||||
@GetMapping("/user/{userUuid}")
|
||||
public ResponseEntity<List<Expense>> getExpensesByUser(@PathVariable String userUuid) {
|
||||
List<Expense> expenses = expenseService.getExpensesByUserId(userUuid);
|
||||
if (!expenses.isEmpty()) {
|
||||
return ResponseEntity.ok(expenses);
|
||||
} else {
|
||||
return ResponseEntity.notFound().build();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.faf223.expensetrackerfaf.controller;
|
||||
|
||||
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 java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/incomes")
|
||||
public class IncomeController {
|
||||
@Autowired
|
||||
private IncomeService incomeService;
|
||||
|
||||
@GetMapping("/user/{userUuid}")
|
||||
public ResponseEntity<List<Income>> getIncomesByUser(@PathVariable String userUuid) {
|
||||
List<Income> incomes = incomeService.getIncomesByUserId(userUuid);
|
||||
if (!incomes.isEmpty()) {
|
||||
return ResponseEntity.ok(incomes);
|
||||
} else {
|
||||
return ResponseEntity.notFound().build();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,66 +1,66 @@
|
||||
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<Expense> expenses) {
|
||||
throw new UnsupportedOperationException("Waiting for the DB.");
|
||||
}
|
||||
|
||||
@PostMapping("/users/set/{id}/incomes")
|
||||
public String setIncomes(@PathVariable int id,
|
||||
@RequestParam("incomes")List<Income> incomes) {
|
||||
throw new UnsupportedOperationException("Waiting for the DB.");
|
||||
}
|
||||
|
||||
}
|
||||
//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<Expense> expenses) {
|
||||
// throw new UnsupportedOperationException("Waiting for the DB.");
|
||||
// }
|
||||
//
|
||||
// @PostMapping("/users/set/{id}/incomes")
|
||||
// public String setIncomes(@PathVariable int id,
|
||||
// @RequestParam("incomes")List<Income> incomes) {
|
||||
// throw new UnsupportedOperationException("Waiting for the DB.");
|
||||
// }
|
||||
//
|
||||
//}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.faf223.expensetrackerfaf.controller;
|
||||
|
||||
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;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/users")
|
||||
public class UserController {
|
||||
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
|
||||
@GetMapping("/{userUuid}")
|
||||
public ResponseEntity<User> getUser(@PathVariable String userUuid) {
|
||||
User user = userService.getUserById(userUuid);
|
||||
if (user != null) {
|
||||
return ResponseEntity.ok(user);
|
||||
} else {
|
||||
return ResponseEntity.notFound().build();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
package com.faf223.expensetrackerfaf.custom;
|
||||
|
||||
import org.hibernate.boot.model.naming.Identifier;
|
||||
import org.hibernate.boot.model.naming.PhysicalNamingStrategy;
|
||||
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
|
||||
|
||||
public class UppercaseStrategy implements PhysicalNamingStrategy {
|
||||
|
||||
@Override
|
||||
public Identifier toPhysicalCatalogName(Identifier identifier, JdbcEnvironment jdbcEnvironment) {
|
||||
return identifier; // No modification for catalog name
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identifier toPhysicalSchemaName(Identifier identifier, JdbcEnvironment jdbcEnvironment) {
|
||||
return identifier; // No modification for schema name
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identifier toPhysicalTableName(Identifier name, JdbcEnvironment context) {
|
||||
String tableName = name.getText();
|
||||
return new Identifier(tableName, name.isQuoted());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identifier toPhysicalSequenceName(Identifier identifier, JdbcEnvironment jdbcEnvironment) {
|
||||
return identifier; // No modification for sequence name
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identifier toPhysicalColumnName(Identifier identifier, JdbcEnvironment jdbcEnvironment) {
|
||||
return identifier; // No modification for column name
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identifier toPhysicalTypeName(Identifier logicalName, JdbcEnvironment jdbcEnvironment) {
|
||||
return PhysicalNamingStrategy.super.toPhysicalTypeName(logicalName, jdbcEnvironment);
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
package com.faf223.expensetrackerfaf.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import java.util.Date;
|
||||
|
||||
@Entity
|
||||
@Table(name = "Department", schema = "HumanResources")
|
||||
public class BasicEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "DepartmentID")
|
||||
private Short departmentId;
|
||||
|
||||
@Column(name = "GroupName", nullable = false, length = 50)
|
||||
private String groupName;
|
||||
|
||||
@Column(name = "ModifiedDate", nullable = false)
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
private Date modifiedDate;
|
||||
|
||||
@Column(name = "Name", nullable = false, length = 50)
|
||||
private String name;
|
||||
|
||||
public Short getDepartmentId() {
|
||||
return departmentId;
|
||||
}
|
||||
public String getGroupName() {
|
||||
return groupName;
|
||||
}
|
||||
public Date getModifiedDate() {
|
||||
return modifiedDate;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
|
||||
package com.faf223.expensetrackerfaf.model;
|
||||
|
||||
public class Categories {
|
||||
|
||||
public enum ExpenseCategory {
|
||||
CREDIT, BUY, BUSINESS, ENTERTAINMENT, RESTAURANTS_AND_CAFE, COMMUNAL_PAYMENTS, SUPERMARKET, MISC;
|
||||
|
||||
public String getEffectiveName() {
|
||||
return Categories.getEffectiveName(this.name());
|
||||
}
|
||||
}
|
||||
|
||||
public enum IncomeCategory {
|
||||
P2P, SALARY, GIFT, CREDIT, MISC;
|
||||
|
||||
public String getEffectiveName() {
|
||||
return Categories.getEffectiveName(this.name());
|
||||
}
|
||||
}
|
||||
|
||||
private static String getEffectiveName(String name) {
|
||||
String[] arr = name.split("_");
|
||||
StringBuilder result = new StringBuilder();
|
||||
for(String entry : arr) {
|
||||
String[] entryArr = entry.split("");
|
||||
StringBuilder builder = new StringBuilder(entryArr[0]);
|
||||
for(int i = 1; i < entry.length(); i++) builder.append(entryArr[i].toLowerCase());
|
||||
result.append(builder).append(" ");
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.faf223.expensetrackerfaf.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Entity(name = "credentials")
|
||||
public class Credential {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long credentialId;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_uuid")
|
||||
private User user;
|
||||
|
||||
private String email;
|
||||
private String password;
|
||||
}
|
||||
|
||||
@@ -1,63 +1,26 @@
|
||||
|
||||
package com.faf223.expensetrackerfaf.model;
|
||||
import com.faf223.expensetrackerfaf.util.IMoneyTransaction;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Data;
|
||||
|
||||
@Entity
|
||||
@Table(name = "expense")
|
||||
public class Expense implements IMoneyTransaction {
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
@Entity(name = "expenses")
|
||||
public class Expense {
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private long id;
|
||||
private Long expenseId;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_id", referencedColumnName = "id")
|
||||
@JoinColumn(name = "user_uuid")
|
||||
private User user;
|
||||
private int amount;
|
||||
private Categories.ExpenseCategory category;
|
||||
|
||||
public Expense(User user, int amount, Categories.ExpenseCategory category) {
|
||||
this.user = user;
|
||||
this.amount = amount;
|
||||
this.category = category;
|
||||
}
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "category_id")
|
||||
private ExpenseCategory category;
|
||||
|
||||
public Expense() {}
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(int amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCategory() {
|
||||
return category.getEffectiveName();
|
||||
}
|
||||
|
||||
public void setCategory(Categories.ExpenseCategory category) {
|
||||
this.category = category;
|
||||
}
|
||||
private LocalDate date;
|
||||
private BigDecimal amount;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.faf223.expensetrackerfaf.model;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Entity(name = "expense_categories")
|
||||
public class ExpenseCategory {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long categoryId;
|
||||
|
||||
private String categoryName;
|
||||
}
|
||||
@@ -1,67 +1,26 @@
|
||||
package com.faf223.expensetrackerfaf.model;
|
||||
|
||||
import com.faf223.expensetrackerfaf.util.IMoneyTransaction;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Data;
|
||||
|
||||
@Entity
|
||||
@Table(name = "income")
|
||||
public class Income implements IMoneyTransaction {
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
@Entity(name = "incomes")
|
||||
public class Income {
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private long id;
|
||||
private Long incomeId;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "user_id", referencedColumnName = "id")
|
||||
@JoinColumn(name = "user_uuid")
|
||||
private User user;
|
||||
private int amount;
|
||||
private Categories.IncomeCategory category;
|
||||
|
||||
public Income(User user, int amount, Categories.IncomeCategory category) {
|
||||
this.user = user;
|
||||
this.amount = amount;
|
||||
this.category = category;
|
||||
}
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "category_id")
|
||||
private IncomeCategory category;
|
||||
|
||||
public Income() {}
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setUser(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCategory() {
|
||||
return category.getEffectiveName();
|
||||
}
|
||||
|
||||
public void setUserId(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public void setAmount(int amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public void setCategory(Categories.IncomeCategory category) {
|
||||
this.category = category;
|
||||
}
|
||||
private LocalDate date;
|
||||
private BigDecimal amount;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.faf223.expensetrackerfaf.model;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Entity(name = "income_categories")
|
||||
public class IncomeCategory {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long categoryId;
|
||||
|
||||
private String categoryName;
|
||||
}
|
||||
|
||||
@@ -1,101 +1,18 @@
|
||||
|
||||
package com.faf223.expensetrackerfaf.model;
|
||||
import jakarta.persistence.*;
|
||||
|
||||
import java.util.List;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Id;
|
||||
import lombok.Data;
|
||||
|
||||
@Entity
|
||||
@Table(name = "User")
|
||||
@Data
|
||||
@Entity(name = "users")
|
||||
public class User {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private long id;
|
||||
@Column(table = "users", name = "user_uuid")
|
||||
private String userUuid;
|
||||
|
||||
private String name;
|
||||
private String email;
|
||||
private String login;
|
||||
private String password;
|
||||
private Role role;
|
||||
|
||||
@OneToMany(mappedBy = "user")
|
||||
private List<Expense> expenses;
|
||||
|
||||
@OneToMany(mappedBy = "user")
|
||||
private List<Income> incomes;
|
||||
|
||||
public User(long id, String name, String email, String login, String password, Role role, List<Expense> expenses, List<Income> incomes) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.email = email;
|
||||
this.login = login;
|
||||
this.password = password;
|
||||
this.role = role;
|
||||
this.expenses = expenses;
|
||||
this.incomes = incomes;
|
||||
}
|
||||
|
||||
public User() {}
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getLogin() {
|
||||
return login;
|
||||
}
|
||||
|
||||
public void setLogin(String login) {
|
||||
this.login = login;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public Role getRole() {
|
||||
return role;
|
||||
}
|
||||
|
||||
public void setRole(Role role) {
|
||||
this.role = role;
|
||||
}
|
||||
|
||||
public List<Expense> getExpenses() {
|
||||
return expenses;
|
||||
}
|
||||
|
||||
public void setExpenses(List<Expense> expenses) {
|
||||
this.expenses = expenses;
|
||||
}
|
||||
|
||||
public List<Income> getIncomes() {
|
||||
return incomes;
|
||||
}
|
||||
|
||||
public void setIncomes(List<Income> incomes) {
|
||||
this.incomes = incomes;
|
||||
}
|
||||
private String surname;
|
||||
private String username;
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
package com.faf223.expensetrackerfaf.repository;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.BasicEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface BasicRepository extends JpaRepository<BasicEntity, Short> {
|
||||
// You can define custom query methods here if needed
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.faf223.expensetrackerfaf.repository;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.Credential;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface CredentialRepository extends JpaRepository<Credential, Long> {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.faf223.expensetrackerfaf.repository;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.ExpenseCategory;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface ExpenseCategoryRepository extends JpaRepository<ExpenseCategory, Long> {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.faf223.expensetrackerfaf.repository;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.Expense;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface ExpenseRepository extends JpaRepository<Expense, Long> {
|
||||
List<Expense> findByUserUserUuid(String userUuid);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.faf223.expensetrackerfaf.repository;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.IncomeCategory;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface IncomeCategoryRepository extends JpaRepository<IncomeCategory, Long> {
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.faf223.expensetrackerfaf.repository;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.Income;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface IncomeRepository extends JpaRepository<Income, Long> {
|
||||
List<Income> findByUserUserUuid(String userUuid);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.faf223.expensetrackerfaf.repository;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.User;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface UserRepository extends JpaRepository<User, String> {
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package com.faf223.expensetrackerfaf.service;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.BasicEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface BasicService {
|
||||
List<BasicEntity> getAllData();
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package com.faf223.expensetrackerfaf.service;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.BasicEntity;
|
||||
import com.faf223.expensetrackerfaf.repository.BasicRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class BasicServiceImpl implements BasicService {
|
||||
private final BasicRepository basicRepository;
|
||||
|
||||
@Autowired
|
||||
public BasicServiceImpl(BasicRepository basicRepository) {
|
||||
this.basicRepository = basicRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BasicEntity> getAllData() {
|
||||
return basicRepository.findAll();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.faf223.expensetrackerfaf.service;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.Expense;
|
||||
import com.faf223.expensetrackerfaf.repository.ExpenseRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class ExpenseService {
|
||||
|
||||
@Autowired
|
||||
private ExpenseRepository expenseRepository;
|
||||
|
||||
public List<Expense> getExpensesByUserId(String userUuid) {
|
||||
return expenseRepository.findByUserUserUuid(userUuid);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.faf223.expensetrackerfaf.service;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.Income;
|
||||
import com.faf223.expensetrackerfaf.repository.IncomeRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class IncomeService {
|
||||
@Autowired
|
||||
private IncomeRepository incomeRepository;
|
||||
|
||||
public List<Income> getIncomesByUserId(String userUuid) {
|
||||
return incomeRepository.findByUserUserUuid(userUuid);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.faf223.expensetrackerfaf.service;
|
||||
|
||||
import com.faf223.expensetrackerfaf.model.User;
|
||||
import com.faf223.expensetrackerfaf.repository.UserRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class UserService {
|
||||
|
||||
@Autowired
|
||||
private UserRepository userRepository;
|
||||
|
||||
public User getUserById(String userUuid) {
|
||||
return userRepository.findById(userUuid).orElse(null);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user