diff --git a/pom.xml b/pom.xml
index e717a1a..7b353f3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,6 +27,18 @@
test
3.1.2
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+ 3.1.3
+
+
+
+ com.microsoft.sqlserver
+ mssql-jdbc
+ 12.4.1.jre11
+
diff --git a/src/main/java/com/faf223/expensetrackerfaf/controllers/MainController.java b/src/main/java/com/faf223/expensetrackerfaf/controllers/MainController.java
index 1626d98..fe74c84 100644
--- a/src/main/java/com/faf223/expensetrackerfaf/controllers/MainController.java
+++ b/src/main/java/com/faf223/expensetrackerfaf/controllers/MainController.java
@@ -13,9 +13,9 @@ public class MainController {
return "Hello, World!";
}
- @GetMapping("/users/{id}")
+ @GetMapping("/users/get/{id}")
public User getUser(@PathVariable int id) {
- return new User(id, "Test");
+ return new User(id, "Test", null, null, null, null, null, null);
}
}
diff --git a/src/main/java/entities/Expense.java b/src/main/java/entities/Expense.java
new file mode 100644
index 0000000..606e4eb
--- /dev/null
+++ b/src/main/java/entities/Expense.java
@@ -0,0 +1,41 @@
+package entities;
+
+public class Expense extends MoneyTransaction {
+
+ private int userId;
+ private int amount;
+ private ExpensesCategory category;
+
+ public Expense(int userId, int amount, ExpensesCategory category) {
+ this.userId = userId;
+ this.amount = amount;
+ this.category = category;
+ }
+
+ @Override
+ public long getUserId() {
+ return userId;
+ }
+
+ public void setUserId(int userId) {
+ this.userId = userId;
+ }
+
+ @Override
+ public int getAmount() {
+ return amount;
+ }
+
+ public void setAmount(int amount) {
+ this.amount = amount;
+ }
+
+ @Override
+ public String getCategory() {
+ return category.toString();
+ }
+
+ public void setCategory(ExpensesCategory category) {
+ this.category = category;
+ }
+}
diff --git a/src/main/java/entities/ExpensesCategory.java b/src/main/java/entities/ExpensesCategory.java
new file mode 100644
index 0000000..bf76cc7
--- /dev/null
+++ b/src/main/java/entities/ExpensesCategory.java
@@ -0,0 +1,5 @@
+package entities;
+
+public enum ExpensesCategory {
+ MISC;
+}
diff --git a/src/main/java/entities/Income.java b/src/main/java/entities/Income.java
new file mode 100644
index 0000000..f3edc27
--- /dev/null
+++ b/src/main/java/entities/Income.java
@@ -0,0 +1,41 @@
+package entities;
+
+public class Income extends MoneyTransaction {
+
+ private long userId;
+ private int amount;
+ private IncomeCategory category;
+
+ public Income(long userId, int amount, IncomeCategory category) {
+ this.userId = userId;
+ this.amount = amount;
+ this.category = category;
+ }
+
+ @Override
+ public long getUserId() {
+ return userId;
+ }
+
+ @Override
+ public int getAmount() {
+ return amount;
+ }
+
+ @Override
+ public String getCategory() {
+ return category.toString();
+ }
+
+ public void setUserId(long userId) {
+ this.userId = userId;
+ }
+
+ public void setAmount(int amount) {
+ this.amount = amount;
+ }
+
+ public void setCategory(IncomeCategory category) {
+ this.category = category;
+ }
+}
diff --git a/src/main/java/entities/IncomeCategory.java b/src/main/java/entities/IncomeCategory.java
new file mode 100644
index 0000000..7d1666c
--- /dev/null
+++ b/src/main/java/entities/IncomeCategory.java
@@ -0,0 +1,5 @@
+package entities;
+
+public enum IncomeCategory {
+ MISC;
+}
diff --git a/src/main/java/entities/MoneyTransaction.java b/src/main/java/entities/MoneyTransaction.java
new file mode 100644
index 0000000..2232df4
--- /dev/null
+++ b/src/main/java/entities/MoneyTransaction.java
@@ -0,0 +1,9 @@
+package entities;
+
+public abstract class MoneyTransaction {
+
+ public abstract long getUserId();
+ public abstract int getAmount();
+ public abstract String getCategory();
+
+}
diff --git a/src/main/java/entities/User.java b/src/main/java/entities/User.java
index ee467a1..37f571a 100644
--- a/src/main/java/entities/User.java
+++ b/src/main/java/entities/User.java
@@ -1,19 +1,27 @@
package entities;
+import java.util.List;
+
public class User {
-
private long id;
- private String name;
- private String email;
- private String login;
- private String password;
+ private String name, email, login, password;
private Role role;
+ private List expenses;
+ private List incomes;
- public User(long id, String name) {
+ public User(long id, String name, String email, String login, String password, Role role, List expenses, List 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;
}
@@ -29,4 +37,52 @@ public class User {
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 getExpenses() {
+ return expenses;
+ }
+
+ public void setExpenses(List expenses) {
+ this.expenses = expenses;
+ }
+
+ public List getIncomes() {
+ return incomes;
+ }
+
+ public void setIncomes(List incomes) {
+ this.incomes = incomes;
+ }
}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 8b13789..637a0d4 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1 +1,3 @@
-
+spring.datasource.url=jdbc:sqlserver://DESKTOP-53DT8GT\\SQLEXPRESS:1433;databaseName=ExpensesApp;integratedSecurity=true
+spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
+spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect
\ No newline at end of file