Browse Source
Merge pull request #10055 from abpframework/refactor/9952
Angular UI: Return observable from catchErrors
pull/10063/head
Bunyamin Coskuner
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
10 additions and
3 deletions
-
npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts
-
npm/ng-packs/packages/core/src/lib/utils/environment-utils.ts
|
|
|
@ -6,7 +6,7 @@ import { |
|
|
|
OAuthErrorEvent, |
|
|
|
OAuthInfoEvent, |
|
|
|
OAuthService, |
|
|
|
OAuthStorage, |
|
|
|
OAuthStorage |
|
|
|
} from 'angular-oauth2-oidc'; |
|
|
|
import { from, Observable, of, pipe } from 'rxjs'; |
|
|
|
import { filter, switchMap, tap } from 'rxjs/operators'; |
|
|
|
@ -37,7 +37,10 @@ export abstract class AuthFlowStrategy { |
|
|
|
abstract logout(queryParams?: Params): Observable<any>; |
|
|
|
abstract login(params?: LoginParams | Params): Observable<any>; |
|
|
|
|
|
|
|
private catchError = err => this.httpErrorReporter.reportError(err); |
|
|
|
private catchError = err => { |
|
|
|
this.httpErrorReporter.reportError(err); |
|
|
|
return of(null); |
|
|
|
}; |
|
|
|
|
|
|
|
constructor(protected injector: Injector) { |
|
|
|
this.httpErrorReporter = injector.get(HttpErrorReporterService); |
|
|
|
|
|
|
|
@ -1,5 +1,6 @@ |
|
|
|
import { HttpClient } from '@angular/common/http'; |
|
|
|
import { Injector } from '@angular/core'; |
|
|
|
import { of } from 'rxjs'; |
|
|
|
import { catchError, tap } from 'rxjs/operators'; |
|
|
|
import { Environment, RemoteEnv } from '../models/environment'; |
|
|
|
import { EnvironmentService } from '../services/environment.service'; |
|
|
|
@ -19,7 +20,10 @@ export function getRemoteEnv(injector: Injector, environment: Partial<Environmen |
|
|
|
return http |
|
|
|
.request<Environment>(method, url, { headers }) |
|
|
|
.pipe( |
|
|
|
catchError(err => httpErrorReporter.reportError(err)), // TODO: Condiser get handle function from a provider
|
|
|
|
catchError(err => { |
|
|
|
httpErrorReporter.reportError(err); |
|
|
|
return of(null); |
|
|
|
}), // TODO: Consider get handle function from a provider
|
|
|
|
tap(env => environmentService.setState(mergeEnvironments(environment, env, remoteEnv))), |
|
|
|
) |
|
|
|
.toPromise(); |
|
|
|
|