From 53fe4a96aed8199e5fe60902ffbdfbd4f48f5965 Mon Sep 17 00:00:00 2001 From: Karol Bakas Date: Sun, 26 Jun 2022 11:08:57 +0200 Subject: [PATCH] #166 delete supports connections which have been created with and without the DIDentity app Signed-off-by: Karol Bakas --- .../controller/ConnectionController.java | 6 +++--- .../repository/UserRepository.java | 1 + .../services/DIConnectionService.java | 18 ++++++++++++++++++ .../DIOverview-page.component.ts | 4 +--- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/controller/ConnectionController.java b/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/controller/ConnectionController.java index c51d0766..87b975c5 100644 --- a/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/controller/ConnectionController.java +++ b/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/controller/ConnectionController.java @@ -82,14 +82,14 @@ public class ConnectionController { } @PostMapping(path = "/remove") - public @ResponseBody ResponseEntity remove(@RequestParam Integer id, + public @ResponseBody ResponseEntity remove( + @RequestParam String connectionId, @RequestParam(required = false) String authorization) { if (authenticationService.authentication(authorization) == false) { return authenticationService.getError(); } - return diConnectionService.remove(id); + return diConnectionService.remove(connectionId); } - } \ No newline at end of file diff --git a/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/repository/UserRepository.java b/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/repository/UserRepository.java index e1c8f45b..49711c5a 100644 --- a/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/repository/UserRepository.java +++ b/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/repository/UserRepository.java @@ -10,4 +10,5 @@ @Repository public interface UserRepository extends CrudRepository { public Optional findByEmail(String email); + public Optional findByconnectionId(String connectionId); } \ No newline at end of file diff --git a/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/services/DIConnectionService.java b/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/services/DIConnectionService.java index 164ea036..4d186a43 100644 --- a/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/services/DIConnectionService.java +++ b/src/digitalIdentity-backend/src/main/java/didentity/amos/digitalIdentity/services/DIConnectionService.java @@ -237,6 +237,15 @@ public ResponseEntity remove(Integer id) { } } + public ResponseEntity remove(String connectionId) { + Optional user = userRepository.findByconnectionId(connectionId); + if (user.isPresent()) { + return remove(user.get()); + } else { + return removeByConnectionId(connectionId); + } + } + public ResponseEntity remove(User user) { // TODO: revoking credentials and proofs is not implemented within the lissi // universe @@ -259,4 +268,13 @@ private ResponseEntity remove(User user, boolean removeCreds, boolean re return ResponseEntity.status(200).body("Successfully removed connection."); } + public ResponseEntity removeByConnectionId(String connectionId) { + ResponseEntity response = lissiApiService.removeConnection(connectionId, false, + false); + if (response == null) { + return ResponseEntity.status(500).body("Could not remove the connection on the lissi legder."); + } + return ResponseEntity.status(200).body("Successfully removed connection."); + } + } diff --git a/src/digitalIdentity-frontend/src/app/pages/DI/DIOverview-page/DIOverview-page.component.ts b/src/digitalIdentity-frontend/src/app/pages/DI/DIOverview-page/DIOverview-page.component.ts index 4c9ab847..dc8a8115 100644 --- a/src/digitalIdentity-frontend/src/app/pages/DI/DIOverview-page/DIOverview-page.component.ts +++ b/src/digitalIdentity-frontend/src/app/pages/DI/DIOverview-page/DIOverview-page.component.ts @@ -59,10 +59,8 @@ export class DIOverviewComponent implements OnInit { } deleteDiConnection(id: number, connectionId: any) { - // alert('deleteConnection: ' + id); var params = new HttpParams(); params = params.append('authorization', 'passing'); - params = params.append('id', id); params = params.append('connectionId', connectionId); const request = this.httpService @@ -77,7 +75,7 @@ export class DIOverviewComponent implements OnInit { // if (response.ok) { if (response.status == 200) { - alert('Delete ' + id + ' done!'); + alert('Delete id:' + id + ' connectionID:' + connectionId + ' done!'); window.location.reload(); } })