fixed conflicts
[arvados-workbench2.git] / src / store / virtual-machines / virtual-machines-reducer.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { virtualMachinesActions, VirtualMachineActions } from '~/store/virtual-machines/virtual-machines-actions';
6 import { ListResults } from '~/services/common-service/common-resource-service';
7 import { VirtualMachinesLoginsResource } from '~/models/virtual-machines';
8
9 interface VirtualMachines {
10     date: string;
11     virtualMachines: ListResults<any>;
12     logins: VirtualMachinesLoginsResource[];
13 }
14
15 const initialState: VirtualMachines = {
16     date: '',
17     virtualMachines: {
18         kind: '',
19         offset: 0,
20         limit: 0,
21         itemsAvailable: 0,
22         items: []
23     },
24     logins: []
25 };
26
27 export const virtualMachinesReducer = (state = initialState, action: VirtualMachineActions): VirtualMachines =>
28     virtualMachinesActions.match(action, {
29         SET_REQUESTED_DATE: date => ({ ...state, date }),
30         SET_VIRTUAL_MACHINES: virtualMachines => ({ ...state, virtualMachines }),
31         SET_LOGINS: logins => ({ ...state, logins }),
32         default: () => state
33     });