From ef4d9072ca7cd36df0ef38ac33884f509d0d51b7 Mon Sep 17 00:00:00 2001 From: gulnaz Date: Wed, 3 Sep 2025 12:10:39 +0300 Subject: [PATCH] SUPPORT-9362: save traceId to local storage --- .../component/button/UserManagementService.ts | 4 ++++ frontend/src/ts/modules/app/service/authorization.service.ts | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/frontend/src/ts/account_applications/component/button/UserManagementService.ts b/frontend/src/ts/account_applications/component/button/UserManagementService.ts index f0a1e567..2cfbda39 100644 --- a/frontend/src/ts/account_applications/component/button/UserManagementService.ts +++ b/frontend/src/ts/account_applications/component/button/UserManagementService.ts @@ -181,6 +181,10 @@ export class UserManagementService extends Behavior { let code = response.code; if (code === '200') { + localStorage.setItem(response.traceId, appNumber.toString()); + setTimeout(() => { + localStorage.removeItem(response.traceId); + }, 30 * 60 * 1000); this.rpc.saveTraceId(response.traceId, appNumber); } else { diff --git a/frontend/src/ts/modules/app/service/authorization.service.ts b/frontend/src/ts/modules/app/service/authorization.service.ts index 0c68170f..427253bd 100644 --- a/frontend/src/ts/modules/app/service/authorization.service.ts +++ b/frontend/src/ts/modules/app/service/authorization.service.ts @@ -3,6 +3,7 @@ import {Subject} from "rxjs"; import {HttpClient} from "@angular/common/http"; import {WebsocketService} from "../websocket/websocket.service"; import {StatusUpdateService} from "./status-update.service"; +import {ErvuPermission} from "../enum/ErvuRole"; export interface UserSession { userId: string, @@ -30,12 +31,14 @@ export class AuthorizationService implements OnDestroy { this.session = session; this.onSessionUpdate.next(session); - if (this.hasPermission('security_administrator')) { + if (this.hasPermission(ErvuPermission.APPROVER)) { this.websocketService.subscribe(({data}) => { let parsedObj = JSON.parse(data); if (parsedObj && parsedObj.traceId) { if (parsedObj.className === 'update' || parsedObj.className === 'processError') { + parsedObj.appNumber = localStorage.getItem(parsedObj.traceId); + localStorage.removeItem(parsedObj.traceId); this.statusUpdateService.update(parsedObj); } }