From 32a5c79cc82776399461e96552557ef42b4982d0 Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Mon, 1 Sep 2025 15:33:55 +0300 Subject: [PATCH] SUPPORT-9363: refactor --- .../permission.interceptor.service.ts | 29 +++++++++---------- .../interceptor/token.interceptor.service.ts | 18 ++++++------ 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/frontend/src/ts/modules/app/interceptor/permission.interceptor.service.ts b/frontend/src/ts/modules/app/interceptor/permission.interceptor.service.ts index faf17827..7d3a8aa4 100644 --- a/frontend/src/ts/modules/app/interceptor/permission.interceptor.service.ts +++ b/frontend/src/ts/modules/app/interceptor/permission.interceptor.service.ts @@ -9,20 +9,19 @@ export class PermissionInterceptor implements HttpInterceptor { } intercept(request: HttpRequest, next: HttpHandler): Observable> { - return from(this.handlePermissions(request, next)); - } - - private async handlePermissions(request: HttpRequest, - next: HttpHandler): Promise> { - const permissions = await this.permissionProvider.getUserPermissions(); - if (permissions.length > 0) { - request = request.clone({ - setHeaders: { - 'X-User-Permissions': permissions.join(',') - } - }); - } - - return next.handle(request).toPromise(); + return from( + this.permissionProvider.getUserPermissions() + .then(permissions => { + if (permissions.length > 0) { + return request.clone({ + setHeaders: { + 'X-User-Permissions': permissions.join(','), + }, + }); + } + return request; + }) + .then(modifiedRequest => next.handle(modifiedRequest).toPromise()) + ); } } \ No newline at end of file diff --git a/frontend/src/ts/modules/app/interceptor/token.interceptor.service.ts b/frontend/src/ts/modules/app/interceptor/token.interceptor.service.ts index 3462c2e6..11cd5676 100644 --- a/frontend/src/ts/modules/app/interceptor/token.interceptor.service.ts +++ b/frontend/src/ts/modules/app/interceptor/token.interceptor.service.ts @@ -8,14 +8,14 @@ export class TokenInterceptor implements HttpInterceptor{ constructor(protected tokenProvider: TokenProvider) { } intercept(request: HttpRequest, next: HttpHandler): Observable> { - return from(this.handle(request, next)) - } - - private async handle(request: HttpRequest, next: HttpHandler): Promise> { - const token = await this.tokenProvider.getToken(); - request = request.clone({ - setHeaders: {Authorization: `Bearer ${token}`} - }); - return next.handle(request).toPromise(); + return from( + this.tokenProvider.getToken() + .then(token => { + return request.clone({ + setHeaders: {Authorization: `Bearer ${token}`} + }); + }) + .then(modifiedRequest => next.handle(modifiedRequest).toPromise()) + ); } } \ No newline at end of file