From 18aac5b8781135b3bbdc4f2befaa5358a6e24326 Mon Sep 17 00:00:00 2001
From: Viido Kaur Lutsar <ohganot@ut.ee>
Date: Sat, 11 Dec 2021 02:24:48 +0200
Subject: [PATCH] Add api endpoint for list of all accounts

---
 .../bank/api/account/AccountController.java    | 18 ++++++++++++------
 .../bank/api/account/AccountService.java       |  4 ++++
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/backend/src/main/java/ut/sysmod/bank/api/account/AccountController.java b/backend/src/main/java/ut/sysmod/bank/api/account/AccountController.java
index 6f14be2..a1a7048 100644
--- a/backend/src/main/java/ut/sysmod/bank/api/account/AccountController.java
+++ b/backend/src/main/java/ut/sysmod/bank/api/account/AccountController.java
@@ -1,16 +1,15 @@
 package ut.sysmod.bank.api.account;
 
 import lombok.RequiredArgsConstructor;
+import org.apache.catalina.connector.Response;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
 import ut.sysmod.bank.api.account.dto.AccountDTO;
 
+import java.util.List;
+
 @RestController
 @RequiredArgsConstructor
 @RequestMapping(value = "api/v1/accounts")
@@ -34,4 +33,11 @@ public class AccountController {
     public ResponseEntity<Account> addMoney(@PathVariable("id") long id, @RequestBody int amount) {
         return new ResponseEntity<>(accountService.addMoney(id, amount), HttpStatus.OK);
     }
+
+
+    @GetMapping("/")
+    @PreAuthorize("hasAuthority('ROLE_ADMIN')")
+    public ResponseEntity<List<Account>> getAccounts(){
+        return new ResponseEntity<>(accountService.getAccounts(), HttpStatus.OK);
+    }
 }
diff --git a/backend/src/main/java/ut/sysmod/bank/api/account/AccountService.java b/backend/src/main/java/ut/sysmod/bank/api/account/AccountService.java
index 67ad465..936c5ba 100644
--- a/backend/src/main/java/ut/sysmod/bank/api/account/AccountService.java
+++ b/backend/src/main/java/ut/sysmod/bank/api/account/AccountService.java
@@ -52,4 +52,8 @@ public class AccountService {
         return account;
 
     }
+
+    public List<Account> getAccounts() {
+        return accountRepository.findAll();
+    }
 }
-- 
GitLab