aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/faultApp/src/actions/statusActions.ts
blob: 48f501ba8b08c02e06c0bf3d6a35cf8c6dbe16e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { FaultApplicationBaseAction } from './notificationActions';
import { getFaultStateFromDatabase } from '../services/faultStatusService';
import { Dispatch } from '../../../../framework/src/flux/store';


export class SetFaultStatusAction extends FaultApplicationBaseAction {
  constructor (public criticalFaults: number, public majorFaults: number, public minorFaults: number, public warnings: number) {
    super();
  }
}


export const refreshFaultStatusAsyncAction = async (dispatch: Dispatch ) => {
  const result = await getFaultStateFromDatabase().catch(_=>null);
  if (result) {
    const statusAction = new SetFaultStatusAction(
      result["Critical"] || 0,
      result["Major"] || 0,
      result["Minor"] || 0,
      result["Warning"] || 0
    );
    dispatch(statusAction);
    return;
  }
  dispatch(new SetFaultStatusAction(0, 0, 0, 0));
}