Fix Bug 2048:The VCA Status for an NS with both a KNF and a VNF does not provide...
[osm/NG-UI.git] / src / services / AuthenticationService.ts
index a8950e5..9b0f525 100644 (file)
@@ -18,7 +18,6 @@
 /**
  * @file Auth service
  */
-import { isNullOrUndefined } from 'util';
 import { HttpHeaders } from '@angular/common/http';
 import { Injectable, Injector } from '@angular/core';
 import { Router } from '@angular/router';
@@ -28,6 +27,7 @@ import { APIURLHEADER, ERRORDATA } from 'CommonModel';
 import { environment } from 'environment';
 import { BehaviorSubject, Observable } from 'rxjs';
 import { map } from 'rxjs/operators';
+import { isNullOrUndefined } from 'SharedService';
 import { SharedService } from 'SharedService';
 import { ProjectModel } from '../models/VNFDModel';
 import { RestService } from './RestService';
@@ -65,6 +65,9 @@ export class AuthenticationService {
     /** Holds the change password in condition of type BehaviorSubject<boolean> @private */
     private changePassword: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
 
+    /** Holds the forgotpassword in condition of type BehaviorSubject<string> @public */
+    public forgotPassword: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
+
     /** Hold Rest Service Objects */
     private restService: RestService;
 
@@ -115,6 +118,13 @@ export class AuthenticationService {
         return this.changePassword.asObservable();
     }
 
+    /**
+     * Get method for  Observable forgotssword
+     */
+    get isForgotPassword(): Observable<boolean> {
+        return this.forgotPassword.asObservable();
+    }
+
     /**
      * Get method for Observable Username
      */
@@ -179,6 +189,9 @@ export class AuthenticationService {
 
     /** set local storage on auth process @public */
     public setLocalStorage(data: ProjectModel): void {
+        if (!isNullOrUndefined(data.timeout)) {
+            sessionStorage.setItem('timeout', data.timeout);
+        }
         sessionStorage.setItem('id_token', data.id);
         sessionStorage.setItem('expires', data.expires.toString());
         sessionStorage.setItem('username', data.username);
@@ -200,11 +213,13 @@ export class AuthenticationService {
         const langCode: string = sessionStorage.getItem('languageCode');
         const redirecturl: string = isNullOrUndefined(sessionStorage.getItem('returnUrl')) ? '/' : sessionStorage.getItem('returnUrl');
         const osmVersion: string = isNullOrUndefined(sessionStorage.getItem('osmVersion')) ? '' : sessionStorage.getItem('osmVersion');
+        const timeOut: string = isNullOrUndefined(sessionStorage.getItem('timeout')) ? '1200' : sessionStorage.getItem('timeout');
         sessionStorage.clear();
         sessionStorage.setItem('languageCode', langCode);
         sessionStorage.setItem('returnUrl', redirecturl);
         sessionStorage.setItem('token_state', null);
         sessionStorage.setItem('osmVersion', osmVersion);
+        sessionStorage.setItem('timeout', timeOut);
         this.idle.stop();
         this.router.navigate(['login']).catch((): void => {
             // Catch Navigation Error