Skip to content
Snippets Groups Projects
Commit abb8fc16 authored by Giuseppe Digilio's avatar Giuseppe Digilio
Browse files

Added comment

parent 564f148e
Branches
Tags
No related merge requests found
...@@ -16,12 +16,6 @@ export class AuthRequestService extends HALEndpointService { ...@@ -16,12 +16,6 @@ export class AuthRequestService extends HALEndpointService {
protected linkName = 'authn'; protected linkName = 'authn';
protected browseEndpoint = ''; protected browseEndpoint = '';
/**
* True if authenticated
* @type
*/
private _authenticated = false;
constructor(protected responseCache: ResponseCacheService, constructor(protected responseCache: ResponseCacheService,
protected requestService: RequestService, protected requestService: RequestService,
@Inject(GLOBAL_CONFIG) protected EnvConfig: GlobalConfig) { @Inject(GLOBAL_CONFIG) protected EnvConfig: GlobalConfig) {
...@@ -31,6 +25,7 @@ export class AuthRequestService extends HALEndpointService { ...@@ -31,6 +25,7 @@ export class AuthRequestService extends HALEndpointService {
protected fetchRequest(request: RestRequest): Observable<any> { protected fetchRequest(request: RestRequest): Observable<any> {
const [successResponse, errorResponse] = this.responseCache.get(request.href) const [successResponse, errorResponse] = this.responseCache.get(request.href)
.map((entry: ResponseCacheEntry) => entry.response) .map((entry: ResponseCacheEntry) => entry.response)
// TODO to review when https://github.com/DSpace/dspace-angular/issues/217 will be fixed
.do(() => this.responseCache.remove(request.href)) .do(() => this.responseCache.remove(request.href))
.partition((response: RestResponse) => response.isSuccessful); .partition((response: RestResponse) => response.isSuccessful);
return Observable.merge( return Observable.merge(
......
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable'; import { Observable } from 'rxjs/Observable';
import { filter, map, withLatestFrom } from 'rxjs/operators'; import { map, withLatestFrom } from 'rxjs/operators';
import { Eperson } from '../eperson/models/eperson.model'; import { Eperson } from '../eperson/models/eperson.model';
import { AuthRequestService } from './auth-request.service'; import { AuthRequestService } from './auth-request.service';
...@@ -20,6 +20,7 @@ import { Router } from '@angular/router'; ...@@ -20,6 +20,7 @@ import { Router } from '@angular/router';
import { CookieAttributes } from 'js-cookie'; import { CookieAttributes } from 'js-cookie';
export const LOGIN_ROUTE = '/login'; export const LOGIN_ROUTE = '/login';
/** /**
* The auth service. * The auth service.
*/ */
...@@ -43,7 +44,7 @@ export class AuthService { ...@@ -43,7 +44,7 @@ export class AuthService {
// If current route is different from the one setted in authentication guard // If current route is different from the one setted in authentication guard
// and is not the login route, clear redirect url and messages // and is not the login route, clear redirect url and messages
const routeUrlObs = this.store.select(routerStateSelector) const routeUrlObs = this.store.select(routerStateSelector)
.filter((routerState: RouterReducerState) => isNotUndefined(routerState) && isNotUndefined(routerState.state) ) .filter((routerState: RouterReducerState) => isNotUndefined(routerState) && isNotUndefined(routerState.state))
.filter((routerState: RouterReducerState) => (routerState.state.url !== LOGIN_ROUTE)) .filter((routerState: RouterReducerState) => (routerState.state.url !== LOGIN_ROUTE))
.map((routerState: RouterReducerState) => routerState.state.url); .map((routerState: RouterReducerState) => routerState.state.url);
const redirectUrlObs = this.getRedirectUrl(); const redirectUrlObs = this.getRedirectUrl();
...@@ -52,8 +53,8 @@ export class AuthService { ...@@ -52,8 +53,8 @@ export class AuthService {
map(([routeUrl, redirectUrl]) => [routeUrl, redirectUrl]) map(([routeUrl, redirectUrl]) => [routeUrl, redirectUrl])
).filter(([routeUrl, redirectUrl]) => isNotEmpty(redirectUrl) && (routeUrl !== redirectUrl)) ).filter(([routeUrl, redirectUrl]) => isNotEmpty(redirectUrl) && (routeUrl !== redirectUrl))
.subscribe(() => { .subscribe(() => {
this.setRedirectUrl(''); this.setRedirectUrl('');
}); });
} }
/** /**
...@@ -202,7 +203,7 @@ export class AuthService { ...@@ -202,7 +203,7 @@ export class AuthService {
} }
/** /**
* Check if a token is about to expire * Check if a token is next to be expired
* @returns {boolean} * @returns {boolean}
*/ */
public isTokenExpiring(): Observable<boolean> { public isTokenExpiring(): Observable<boolean> {
...@@ -226,6 +227,7 @@ export class AuthService { ...@@ -226,6 +227,7 @@ export class AuthService {
const token = this.getToken(); const token = this.getToken();
return token && token.expires < Date.now(); return token && token.expires < Date.now();
} }
/** /**
* Save authentication token info * Save authentication token info
* *
...@@ -234,7 +236,7 @@ export class AuthService { ...@@ -234,7 +236,7 @@ export class AuthService {
*/ */
public storeToken(token: AuthTokenInfo) { public storeToken(token: AuthTokenInfo) {
const expires = new Date(token.expires); const expires = new Date(token.expires);
const options: CookieAttributes = { expires: expires }; const options: CookieAttributes = {expires: expires};
return this.storage.set(TOKENITEM, token, options); return this.storage.set(TOKENITEM, token, options);
} }
......
...@@ -67,6 +67,7 @@ export class RequestService { ...@@ -67,6 +67,7 @@ export class RequestService {
.flatMap((uuid: string) => this.getByUUID(uuid)); .flatMap((uuid: string) => this.getByUUID(uuid));
} }
// TODO to review "overrideRequest" param when https://github.com/DSpace/dspace-angular/issues/217 will be fixed
configure<T extends CacheableObject>(request: RestRequest, overrideRequest: boolean = false): void { configure<T extends CacheableObject>(request: RestRequest, overrideRequest: boolean = false): void {
if (request.method !== RestRequestMethod.Get || !this.isCachedOrPending(request) || overrideRequest) { if (request.method !== RestRequestMethod.Get || !this.isCachedOrPending(request) || overrideRequest) {
this.dispatchRequest(request, overrideRequest); this.dispatchRequest(request, overrideRequest);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment