Create wt-odlux directory
[ccsdk/features.git] / sdnr / wt-odlux / odlux / apps / faultApp / src / actions / statusActions.ts
1 /**
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt odlux
4  * =================================================================================================
5  * Copyright (C) 2019 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 { Dispatch } from '../../../../framework/src/flux/store';
19
20 import { getFaultStateFromDatabase } from '../services/faultStatusService';
21 import { FaultApplicationBaseAction } from './notificationActions';
22
23
24 export class SetFaultStatusAction extends FaultApplicationBaseAction {
25   constructor(public criticalFaults: number, public majorFaults: number, public minorFaults: number, public warnings: number,
26     public isLoadingAlarmStatusChart: boolean, public ConnectedCount: number, public ConnectingCount: number, public DisconnectedCount: number,
27     public MountedCount: number, public UnableToConnectCount: number, public UndefinedCount: number, public UnmountedCount: number,
28     public totalCount: number, public isLoadingConnectionStatusChart: boolean) {
29     super();
30   }
31 }
32
33
34 export const refreshFaultStatusAsyncAction = async (dispatch: Dispatch) => {
35
36   // dispatch(new SetFaultStatusAction(0, 0, 0, 0, true, 0, 0, 0, 0, 0, 0, 0, 0, true));
37   const result = await getFaultStateFromDatabase().catch(_ => null);
38   if (result) {
39     const statusAction = new SetFaultStatusAction(
40       result.Critical || 0,
41       result.Major || 0,
42       result.Minor || 0,
43       result.Warning || 0,
44       false,
45       result.Connected || 0,
46       result.Connecting || 0,
47       result.Disconnected || 0,
48       result.Mounted || 0,
49       result.UnableToConnect || 0,
50       result.Undefined || 0,
51       result.Unmounted || 0,
52       result.total || 0,
53       false,
54     );
55     dispatch(statusAction);
56     return;
57   } else {
58     dispatch(new SetFaultStatusAction(0, 0, 0, 0, false, 0, 0, 0, 0, 0, 0, 0, 0, false));
59   }
60 };