Skip to content

Commit e331449

Browse files
committed
more controls, minor fixes on BE.
1 parent c4682dd commit e331449

File tree

7 files changed

+37
-18
lines changed

7 files changed

+37
-18
lines changed

BankApplicationBackend/src/main/java/com/demo/bankapp/configuration/DatabaseMocker.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import org.springframework.boot.CommandLineRunner;
44
import org.springframework.context.annotation.Bean;
55
import org.springframework.context.annotation.Configuration;
6+
import org.springframework.core.Ordered;
7+
import org.springframework.core.annotation.Order;
68

79
import com.demo.bankapp.controller.UserController;
810
import com.demo.bankapp.repository.UserRepository;
@@ -12,17 +14,18 @@
1214
class DatabaseMocker {
1315

1416
@Bean
17+
@Order(Ordered.HIGHEST_PRECEDENCE)
1518
CommandLineRunner initDatabase(UserRepository repository, UserController userController) {
1619
return args -> {
1720
CreateNewUserRequest cnuRequest = new CreateNewUserRequest();
1821
cnuRequest.setUsername("Mert");
1922
cnuRequest.setPassword("mert123");
20-
cnuRequest.setTcno("2141232211");
23+
cnuRequest.setTcno("21412322112");
2124

2225
CreateNewUserRequest cnuRequest2 = new CreateNewUserRequest();
2326
cnuRequest2.setUsername("Mert2");
2427
cnuRequest2.setPassword("mert1234");
25-
cnuRequest2.setTcno("2141232212");
28+
cnuRequest2.setTcno("23141232212");
2629

2730
userController.createNewUser(cnuRequest);
2831
userController.createNewUser(cnuRequest2);

BankApplicationBackend/src/main/java/com/demo/bankapp/controller/TransactionController.java

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
package com.demo.bankapp.controller;
22

3-
import java.math.BigDecimal;
43
import java.util.List;
54
import java.util.stream.Collectors;
65

76
import org.springframework.beans.factory.annotation.Autowired;
87
import org.springframework.hateoas.Resource;
98
import org.springframework.http.MediaType;
109
import org.springframework.web.bind.annotation.CrossOrigin;
11-
import org.springframework.web.bind.annotation.GetMapping;
1210
import org.springframework.web.bind.annotation.PostMapping;
1311
import org.springframework.web.bind.annotation.RequestBody;
1412
import org.springframework.web.bind.annotation.RequestMapping;
@@ -19,6 +17,7 @@
1917
import com.demo.bankapp.exception.DailyOperationLimitReachedException;
2018
import com.demo.bankapp.model.Transaction;
2119
import com.demo.bankapp.model.User;
20+
import com.demo.bankapp.request.FindAllByUserRequest;
2221
import com.demo.bankapp.request.MakeTransactionRequest;
2322
import com.demo.bankapp.service.concretions.TransactionService;
2423
import com.demo.bankapp.service.concretions.UserService;
@@ -44,11 +43,19 @@ public class TransactionController {
4443
@PostMapping("/make")
4544
public Resource<Transaction> makeTransaction(@RequestBody MakeTransactionRequest request) {
4645

47-
if (request == null || request.getUsername() == null || request.getUsername().equals("") || request.getCurrency() == null || request.getCurrency().equals("")) {
46+
if (request == null) {
4847
throw new BadRequestException();
4948
}
5049

51-
if (request.getAmount().signum() == 0 || request.getAmount().signum() == -1) {
50+
if (request.getUsername() == null || request.getUsername().equals("")) {
51+
throw new BadRequestException("Invalid username.");
52+
}
53+
54+
if (request.getCurrency() == null || request.getCurrency().equals("")) {
55+
throw new BadRequestException("Invalid currency.");
56+
}
57+
58+
if (request.getAmount() != null && request.getAmount().signum() == 0 || request.getAmount().signum() == -1) {
5259
throw new BadRequestException("Invalid amount.");
5360
}
5461

@@ -69,9 +76,19 @@ public Resource<Transaction> makeTransaction(@RequestBody MakeTransactionRequest
6976
return assembler.toResource(transaction);
7077
}
7178

72-
@GetMapping("/findAll")
73-
public List<Resource<Transaction>> findAll() {
74-
return transactionService.findAll().stream().map(assembler::toResource).collect(Collectors.toList());
79+
@PostMapping("/findAllByUsername")
80+
public List<Resource<Transaction>> findAllByUsername(@RequestBody FindAllByUserRequest request) {
81+
82+
if (request == null) {
83+
throw new BadRequestException();
84+
}
85+
86+
if (request.getUsername() == null || request.getUsername().equals("")) {
87+
throw new BadRequestException("Invalid username.");
88+
}
89+
90+
User user = userService.findByUserName(request.getUsername());
91+
return transactionService.findAllByUserId(user.getId()).stream().map(assembler::toResource).collect(Collectors.toList());
7592
}
7693

7794
}

BankApplicationBackend/src/main/java/com/demo/bankapp/controller/TransferController.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package com.demo.bankapp.controller;
22

3-
import java.math.BigDecimal;
4-
5-
import javax.validation.constraints.NotNull;
6-
73
import org.springframework.beans.factory.annotation.Autowired;
84
import org.springframework.hateoas.Resource;
95
import org.springframework.http.MediaType;
@@ -15,7 +11,6 @@
1511

1612
import com.demo.bankapp.assembler.TransferResourceAssembler;
1713
import com.demo.bankapp.exception.BadRequestException;
18-
import com.demo.bankapp.model.Transaction;
1914
import com.demo.bankapp.model.Transfer;
2015
import com.demo.bankapp.model.User;
2116
import com.demo.bankapp.request.MakeTransferRequest;

BankApplicationBackend/src/main/java/com/demo/bankapp/repository/TransactionRepository.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.demo.bankapp.repository;
22

3+
import java.util.List;
4+
35
import org.springframework.data.jpa.repository.JpaRepository;
46
import org.springframework.data.jpa.repository.Query;
57
import org.springframework.data.repository.query.Param;
@@ -12,5 +14,7 @@ public interface TransactionRepository extends JpaRepository<Transaction, Long>
1214

1315
@Query(value = "SELECT COUNT(*) FROM Transaction WHERE transactionTime >= DATEADD(day, -1, GETDATE())")
1416
int getOperationCountFromLast24Hours(@Param("userId") Long userId);
17+
18+
List<Transaction> findAllByUserId(Long userId);
1519

1620
}

BankApplicationBackend/src/main/java/com/demo/bankapp/service/abstractions/ITransactionService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ public interface ITransactionService {
1111

1212
int getOperationCountFromLast24Hours(Long userId);
1313

14-
List<Transaction> findAll();
14+
List<Transaction> findAllByUserId(Long userId);
1515

1616
}

BankApplicationBackend/src/main/java/com/demo/bankapp/service/concretions/TransactionService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ public int getOperationCountFromLast24Hours(Long userId) {
2828
}
2929

3030
@Override
31-
public List<Transaction> findAll() {
32-
return repository.findAll();
31+
public List<Transaction> findAllByUserId(Long userId) {
32+
return repository.findAllByUserId(userId);
3333
}
3434

3535
}

BankApplicationBackend/src/main/java/com/demo/bankapp/service/concretions/UserService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public User findByTcno(String tcno) {
5959
User user = repository.findByTcno(tcno);
6060

6161
if (user == null)
62-
throw new UserNotFoundException(tcno);
62+
throw new UserNotFoundException("with TC No: " + tcno);
6363
else
6464
return user;
6565
}

0 commit comments

Comments
 (0)