SUPPORT-9363: refactor

This commit is contained in:
adel.ka 2025-09-01 16:01:16 +03:00
parent 32a5c79cc8
commit 8ad26e4337
2 changed files with 24 additions and 23 deletions

View file

@ -2,6 +2,7 @@ import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from "@angular/com
import {from, Observable} from "rxjs";
import { Injectable } from "@angular/core";
import {PermissionProvider} from "../provider/permission.provider";
import {switchMap} from "rxjs/operators";
@Injectable({ providedIn: 'root' })
export class PermissionInterceptor implements HttpInterceptor {
@ -9,19 +10,18 @@ export class PermissionInterceptor implements HttpInterceptor {
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
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())
return from(this.permissionProvider.getUserPermissions()).pipe(
switchMap(permissions => {
const modifiedRequest = permissions.length > 0
? request.clone({
setHeaders: {
'X-User-Permissions': permissions.join(',')
}
})
: request;
return next.handle(modifiedRequest);
})
);
}
}

View file

@ -2,20 +2,21 @@ import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from "@angular/com
import {from, Observable} from "rxjs";
import {TokenProvider} from "../provider/token.provider";
import {Injectable} from "@angular/core";
import {switchMap} from "rxjs/operators";
@Injectable({providedIn: 'root'})
export class TokenInterceptor implements HttpInterceptor{
constructor(protected tokenProvider: TokenProvider) { }
export class TokenInterceptor implements HttpInterceptor {
constructor(protected tokenProvider: TokenProvider) {
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return from(
this.tokenProvider.getToken()
.then(token => {
return request.clone({
setHeaders: {Authorization: `Bearer ${token}`}
});
})
.then(modifiedRequest => next.handle(modifiedRequest).toPromise())
return from(this.tokenProvider.getToken()).pipe(
switchMap(token => {
const modifiedRequest = request.clone({
setHeaders: {Authorization: `Bearer ${token}`}
});
return next.handle(modifiedRequest);
})
);
}
}