diff options
author | Aijana Schumann <aijana.schumann@highstreet-technologies.com> | 2021-12-06 15:09:15 +0100 |
---|---|---|
committer | Aijana Schumann <aijana.schumann@highstreet-technologies.com> | 2021-12-06 15:12:24 +0100 |
commit | 152cb381ea2c915c762416092337ce1d8589d1c6 (patch) | |
tree | 63b71c8343f9292281f5d7f5eac14342fec06402 /sdnr/wt/odlux/framework/src/models | |
parent | 8ea94e1210671b941f84abfe16e248cfa086fe49 (diff) |
Update ODLUX
Update login view, add logout after user session ends, add user settings, several bugfixes
Issue-ID: CCSDK-3540
Signed-off-by: Aijana Schumann <aijana.schumann@highstreet-technologies.com>
Change-Id: I21137756b204287e25766a9646bf2faf7bad9d35
Diffstat (limited to 'sdnr/wt/odlux/framework/src/models')
-rw-r--r-- | sdnr/wt/odlux/framework/src/models/applicationInfo.ts | 3 | ||||
-rw-r--r-- | sdnr/wt/odlux/framework/src/models/authentication.ts | 28 | ||||
-rw-r--r-- | sdnr/wt/odlux/framework/src/models/settings.ts | 27 |
3 files changed, 57 insertions, 1 deletions
diff --git a/sdnr/wt/odlux/framework/src/models/applicationInfo.ts b/sdnr/wt/odlux/framework/src/models/applicationInfo.ts index 0b33777dc..ff07b7d7b 100644 --- a/sdnr/wt/odlux/framework/src/models/applicationInfo.ts +++ b/sdnr/wt/odlux/framework/src/models/applicationInfo.ts @@ -20,6 +20,7 @@ import { IconType } from './iconDefinition'; import { IActionHandler } from '../flux/action'; import { Middleware } from '../flux/middleware'; +import { SettingsComponentProps } from './settings'; /** Represents the information needed about an application to integrate. */ export class ApplicationInfo { @@ -47,6 +48,8 @@ export class ApplicationInfo { statusBarElement?: React.ComponentType; /** Optional: A component to be shown in the dashboardview. If undefiened the name will be used. */ dashbaordElement?: React.ComponentType; + /** Optional: A component shown in the settings view */ + settingsElement?: React.ComponentType<SettingsComponentProps>; /** Optional: The pasth for this application. If undefined the name will be use as path. */ path?: string; } diff --git a/sdnr/wt/odlux/framework/src/models/authentication.ts b/sdnr/wt/odlux/framework/src/models/authentication.ts index b6840a0ce..f56538184 100644 --- a/sdnr/wt/odlux/framework/src/models/authentication.ts +++ b/sdnr/wt/odlux/framework/src/models/authentication.ts @@ -20,7 +20,19 @@ export type AuthToken = { username: string; access_token: string; token_type: string; + /*** + * datetime the token should expire in unix timestamp + * + * must be in seconds + */ expires: number; + /*** + * time the token was issued in unix timestamp + * + * must be in seconds + * + */ + issued: number; } export type AuthPolicy = { @@ -52,8 +64,22 @@ export class User { return this._bearerToken && this._bearerToken.token_type; } + /*** + * Time the user should be logged out, in unix timestamp in seconds + */ + public get logoutAt(): number{ + return this._bearerToken && this._bearerToken.expires; + } + + /*** + * Time the user logged in, in unix timestamp in seconds + */ + public get loginAt(): number{ + return this._bearerToken && this._bearerToken.issued; + } + public get isValid(): boolean { - return (this._bearerToken && (new Date().valueOf()) < this._bearerToken.expires) || false; + return (this._bearerToken && (new Date().valueOf()) < this._bearerToken.expires*1000) || false; } public toString() { diff --git a/sdnr/wt/odlux/framework/src/models/settings.ts b/sdnr/wt/odlux/framework/src/models/settings.ts new file mode 100644 index 000000000..6d01a34e5 --- /dev/null +++ b/sdnr/wt/odlux/framework/src/models/settings.ts @@ -0,0 +1,27 @@ +/** + * ============LICENSE_START======================================================================== + * ONAP : ccsdk feature sdnr wt odlux + * ================================================================================================= + * Copyright (C) 2021 highstreet technologies GmbH Intellectual Property. All rights reserved. + * ================================================================================================= + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + * ============LICENSE_END========================================================================== + */ + +export type GeneralSettings = { + general:{ + areNotificationsEnabled: boolean | null + } +}; + +export type SettingsComponentProps = { + onClose(): void +};
\ No newline at end of file |