From cb776147b948b4e66e671a75fe5b49e256cb4caa Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Wed, 27 Jun 2018 19:41:30 +0100 Subject: [PATCH] redirect to login upon ticket expiry --- src/app/common/services/profile.resolver.ts | 24 +++++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/app/common/services/profile.resolver.ts b/src/app/common/services/profile.resolver.ts index 85508f005..429bd3c44 100644 --- a/src/app/common/services/profile.resolver.ts +++ b/src/app/common/services/profile.resolver.ts @@ -25,7 +25,7 @@ import { Store } from '@ngrx/store'; import { Injectable } from '@angular/core'; -import { Resolve } from '@angular/router'; +import { Resolve, Router } from '@angular/router'; import { Person } from 'alfresco-js-api'; import { Observable } from 'rxjs/Observable'; import { AppStore } from '../../store/states/app.state'; @@ -36,16 +36,26 @@ import { ContentApiService } from '../../services/content-api.service'; export class ProfileResolver implements Resolve { constructor( private store: Store, - private contentApi: ContentApiService + private contentApi: ContentApiService, + private router: Router ) {} resolve(): Observable { return new Observable(observer => { - this.contentApi.getPerson('-me-').subscribe(person => { - this.store.dispatch(new SetUserAction(person.entry)); - observer.next(person.entry); - observer.complete(); - }); + this.contentApi.getPerson('-me-').subscribe( + person => { + this.store.dispatch(new SetUserAction(person.entry)); + observer.next(person.entry); + observer.complete(); + }, + err => { + if (err && err.status === 401) { + observer.next(null); + observer.complete(); + this.router.navigate(['login']); + } + } + ); }); } }