From 8be851763b0e9ff26609db10ba1710cf1da76348 Mon Sep 17 00:00:00 2001 From: Sofia Papacharalampous Date: Tue, 26 Mar 2024 15:57:59 +0200 Subject: [PATCH] user-profile > unlink account --- .../RemoveCredentialRequestPersist.java | 2 +- dmp-frontend/src/app/core/model/user/user.ts | 4 ++++ .../src/app/core/services/user/user.service.ts | 12 +++++++++++- .../app/ui/user-profile/user-profile.component.ts | 7 ++++++- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/persist/actionconfirmation/RemoveCredentialRequestPersist.java b/dmp-backend/core/src/main/java/eu/eudat/model/persist/actionconfirmation/RemoveCredentialRequestPersist.java index f3498dfbc..17b65148c 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/persist/actionconfirmation/RemoveCredentialRequestPersist.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/persist/actionconfirmation/RemoveCredentialRequestPersist.java @@ -50,7 +50,7 @@ public class RemoveCredentialRequestPersist { protected List specifications(RemoveCredentialRequestPersist item) { return Arrays.asList( this.spec() - .must(() -> !this.isValidGuid(item.getCredentialId())) + .must(() -> this.isValidGuid(item.getCredentialId())) .failOn(RemoveCredentialRequestPersist._credentialId).failWith(messageSource.getMessage("Validation_Required", new Object[]{RemoveCredentialRequestPersist._credentialId}, LocaleContextHolder.getLocale())) ); } diff --git a/dmp-frontend/src/app/core/model/user/user.ts b/dmp-frontend/src/app/core/model/user/user.ts index d920512a0..32dd67d46 100644 --- a/dmp-frontend/src/app/core/model/user/user.ts +++ b/dmp-frontend/src/app/core/model/user/user.ts @@ -79,3 +79,7 @@ export interface DmpAssociatedUser { export interface UserMergeRequestPersist { email: string; } + +export interface RemoveCredentialRequestPersist { + credentialId: Guid; +} diff --git a/dmp-frontend/src/app/core/services/user/user.service.ts b/dmp-frontend/src/app/core/services/user/user.service.ts index c0d7e6cc0..dd0e34ea1 100644 --- a/dmp-frontend/src/app/core/services/user/user.service.ts +++ b/dmp-frontend/src/app/core/services/user/user.service.ts @@ -1,7 +1,7 @@ import { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { IsActive } from '@app/core/common/enum/is-active.enum'; -import { DmpAssociatedUser, User, UserMergeRequestPersist, UserPersist, UserRolePatchPersist } from '@app/core/model/user/user'; +import { DmpAssociatedUser, RemoveCredentialRequestPersist, User, UserMergeRequestPersist, UserPersist, UserRolePatchPersist } from '@app/core/model/user/user'; import { UserLookup } from '@app/core/query/user.lookup'; import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration'; import { SingleAutoCompleteConfiguration } from '@app/library/auto-complete/single/single-auto-complete-configuration'; @@ -106,6 +106,16 @@ export class UserService { .post(url, item).pipe( catchError((error: any) => throwError(error))); } + + removeCredentialAccount(item: RemoveCredentialRequestPersist): Observable { + const url = `${this.apiBase}/mine/remove-credential-request`; + console.log(item); + console.log(url); + + return this.http + .post(url, item).pipe( + catchError((error: any) => throwError(error))); + } confirmMergeAccount(token: Guid): Observable { const url = `${this.apiBase}/mine/confirm-merge-account/token/${token}`; diff --git a/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts b/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts index c19b75f37..5cf2730ea 100644 --- a/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts +++ b/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts @@ -296,8 +296,13 @@ export class UserProfileComponent extends BaseComponent implements OnInit, OnDes .afterClosed() .subscribe(confirm => { if (confirm) { + + this.userService.removeCredentialAccount({ credentialId: userCredential.user.id }).subscribe(result => { + //TODO + }, + error => console.error(error)); + //TODO: refactor - console.log('removed!'); // const unlinkAccountModel: UnlinkAccountRequestModel = { // userId: this.currentUserId, // email: userCredential.email,