Create wt-odlux directory
[ccsdk/features.git] / sdnr / wt-odlux / odlux / apps / connectApp / src / handlers / tlsKeyHandler.ts
1 /**
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt odlux
4  * =================================================================================================
5  * Copyright (C) 2021 highstreet technologies GmbH Intellectual Property. All rights reserved.
6  * =================================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software distributed under the License
13  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14  * or implied. See the License for the specific language governing permissions and limitations under
15  * the License.
16  * ============LICENSE_END==========================================================================
17  */
18 import { IActionHandler } from '../../../../framework/src/flux/action';
19
20 import { AllTlsKeyListLoadedAction, LoadAllTlsKeyListAction } from '../actions/tlsKeyActions';
21 import { TlsKeys } from '../models/networkElementConnection';
22
23 export interface IAvailableTlsKeysState {
24   tlsKeysList: TlsKeys[];
25   busy: boolean;
26 }
27
28 const tlsKeysStateInit: IAvailableTlsKeysState = {
29   tlsKeysList: [],
30   busy: false,
31 };
32
33 export const availableTlsKeysActionHandler: IActionHandler<IAvailableTlsKeysState> = (state = tlsKeysStateInit, action) => {
34   if (action instanceof LoadAllTlsKeyListAction) {
35     state = {
36       ...state,
37       busy: true,
38     };
39
40   } else if (action instanceof AllTlsKeyListLoadedAction) {
41     if (!action.error && action.tlsList) {
42       state = {
43         ...state,
44         tlsKeysList: action.tlsList,
45         busy: false,
46       };
47     } else {
48       state = {
49         ...state,
50         busy: false,
51       };
52     }
53   }
54   return state;
55 };