From 4dfbaf3ad9951778c4a508eb9de156e810aa5533 Mon Sep 17 00:00:00 2001 From: Erik Tiekstra Date: Thu, 2 Dec 2021 09:54:21 +0100 Subject: [PATCH] Added idle times in environment files --- .../src/app/shared/models/environment.model.ts | 4 ++++ .../src/app/shared/services/idle.service.ts | 18 ++++++++++-------- .../src/environments/environment.acc.ts | 4 ++++ .../src/environments/environment.mock.ts | 4 ++++ .../src/environments/environment.prod.ts | 4 ++++ .../src/environments/environment.ts | 4 ++++ 6 files changed, 30 insertions(+), 8 deletions(-) diff --git a/apps/mina-sidor-fa/src/app/shared/models/environment.model.ts b/apps/mina-sidor-fa/src/app/shared/models/environment.model.ts index 64f1359..d9ac4f8 100644 --- a/apps/mina-sidor-fa/src/app/shared/models/environment.model.ts +++ b/apps/mina-sidor-fa/src/app/shared/models/environment.model.ts @@ -20,4 +20,8 @@ export interface Environment { serverUrl: string; environment?: 'DEV' | 'SYS' | 'TEST' | 'ACC' | 'PROD'; }; + idle: { + idleAfterMS: number; + logoutAfterMS: number; + }; } diff --git a/apps/mina-sidor-fa/src/app/shared/services/idle.service.ts b/apps/mina-sidor-fa/src/app/shared/services/idle.service.ts index a98111a..9c36a37 100644 --- a/apps/mina-sidor-fa/src/app/shared/services/idle.service.ts +++ b/apps/mina-sidor-fa/src/app/shared/services/idle.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; import { UnsubscribeDirective } from '@msfa-directives/unsubscribe.directive'; +import { environment } from '@msfa-environment'; import { BehaviorSubject, fromEvent, merge, Observable } from 'rxjs'; import { map } from 'rxjs/operators'; import { AuthenticationService } from './api/authentication.service'; @@ -21,10 +22,10 @@ export class IdleService extends UnsubscribeDirective { private _isIdle$ = new BehaviorSubject(false); public isIdle$: Observable = this._isIdle$.asObservable(); private _isActive$ = new BehaviorSubject(true); - private _timeLeftBeforeLogoutInSeconds$ = new BehaviorSubject(2 * 60); + private _idleAfterMS = environment.idle.idleAfterMS; + private _autoLogoutAfterMS = environment.idle.logoutAfterMS; + private _timeLeftBeforeLogoutInMS$ = new BehaviorSubject(this._autoLogoutAfterMS); - private _idleAfterMS = 10 * 60 * 1000; // 10 minutes - private _autoLogoutAfterMS = 2 * 60 * 1000; // 2 minutes private _idleTimeout; private _autoLogoutTimeout; private _autoLogoutInterval; @@ -60,8 +61,8 @@ export class IdleService extends UnsubscribeDirective { }, this._autoLogoutAfterMS); this._autoLogoutInterval = setInterval(() => { - const currentTimeLeft = this._timeLeftBeforeLogoutInSeconds$.getValue(); - this._timeLeftBeforeLogoutInSeconds$.next(currentTimeLeft - 1); + const currentTimeLeft = this._timeLeftBeforeLogoutInMS$.getValue(); + this._timeLeftBeforeLogoutInMS$.next(currentTimeLeft - 1000); }, 1000); } @@ -69,7 +70,7 @@ export class IdleService extends UnsubscribeDirective { clearTimeout(this._autoLogoutTimeout); clearTimeout(this._idleTimeout); clearInterval(this._autoLogoutInterval); - this._timeLeftBeforeLogoutInSeconds$.next(2 * 60); + this._timeLeftBeforeLogoutInMS$.next(this._autoLogoutAfterMS); } public setActive(): void { @@ -80,8 +81,9 @@ export class IdleService extends UnsubscribeDirective { } public get timeLeftBeforeLogout$(): Observable { - return this._timeLeftBeforeLogoutInSeconds$.pipe( - map(timeLeftInSeconds => { + return this._timeLeftBeforeLogoutInMS$.pipe( + map(timeLeftInMS => { + const timeLeftInSeconds = timeLeftInMS / 1000; const minutes = Math.floor(timeLeftInSeconds / 60); const seconds = timeLeftInSeconds - minutes * 60; diff --git a/apps/mina-sidor-fa/src/environments/environment.acc.ts b/apps/mina-sidor-fa/src/environments/environment.acc.ts index 5fb2e55..a20c18c 100644 --- a/apps/mina-sidor-fa/src/environments/environment.acc.ts +++ b/apps/mina-sidor-fa/src/environments/environment.acc.ts @@ -17,4 +17,8 @@ export const environment: Environment = { environment: 'ACC', }, ciam: CIAM_TEST, + idle: { + idleAfterMS: 10 * 60 * 1000, // 10 minutes + logoutAfterMS: 2 * 60 * 1000, // 2 minutes + }, }; diff --git a/apps/mina-sidor-fa/src/environments/environment.mock.ts b/apps/mina-sidor-fa/src/environments/environment.mock.ts index e01e27d..67eb5bb 100644 --- a/apps/mina-sidor-fa/src/environments/environment.mock.ts +++ b/apps/mina-sidor-fa/src/environments/environment.mock.ts @@ -13,4 +13,8 @@ export const environment: Environment = { }, activeFeatures: [...ACTIVE_FEATURES_TEST, Feature.MOCK_LOGIN], ciam: CIAM_MOCK, + idle: { + idleAfterMS: 10 * 60 * 1000, // 10 minutes + logoutAfterMS: 2 * 60 * 1000, // 2 minutes + }, }; diff --git a/apps/mina-sidor-fa/src/environments/environment.prod.ts b/apps/mina-sidor-fa/src/environments/environment.prod.ts index 69e3318..f067942 100644 --- a/apps/mina-sidor-fa/src/environments/environment.prod.ts +++ b/apps/mina-sidor-fa/src/environments/environment.prod.ts @@ -17,4 +17,8 @@ export const environment: Environment = { environment: 'PROD', }, ciam: CIAM_PROD, + idle: { + idleAfterMS: 10 * 60 * 1000, // 10 minutes + logoutAfterMS: 2 * 60 * 1000, // 2 minutes + }, }; diff --git a/apps/mina-sidor-fa/src/environments/environment.ts b/apps/mina-sidor-fa/src/environments/environment.ts index 5d75a41..9b49397 100644 --- a/apps/mina-sidor-fa/src/environments/environment.ts +++ b/apps/mina-sidor-fa/src/environments/environment.ts @@ -17,4 +17,8 @@ export const environment: Environment = { environment: 'DEV', }, ciam: CIAM_TEST, + idle: { + idleAfterMS: 60 * 60 * 1000, // 60 minutes + logoutAfterMS: 10 * 60 * 1000, // 10 minutes + }, };