aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/storeUtil/utils/vnfGroup/vnfGroup.actions.ts
blob: 4ed377b7d2d0fad6f40e9be5dc60c31e88c4dbfa (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import {Action, ActionCreator} from "redux";
import {VnfGroupInstance} from "../../../models/vnfGroupInstance";
import {VnfMember} from "../../../models/VnfMember";

export enum VnfGroupActions {
  CREATE_VNF_GROUP_INSTANCE = "CREATE_VNF_GROUP_INSTANCE",
  UPDATE_VNF_GROUP_INSTANCE = "UPDATE_VNF_GROUP_INSTANCE",
  DELETE_ACTION_VNF_GROUP_INSTANCE = "DELETE_VNF_GROUP_INSTANCE",
  UNDO_DELETE_ACTION_VNF_GROUP_INSTANCE = "UNDO_DELETE_VNF_GROUP_INSTANCE",
  SET_OPTIONAL_MEMBERS_VNF_GROUP_INSTANCE = "SET_OPTIONAL_MEMBERS_VNF_GROUP_INSTANCE"
}


export interface CreateVnfGroupInstanceAction extends Action {
  vnfGroupInstance?: VnfGroupInstance;
  vnfGroupModelName?: string;
  serviceUuid?: string;
  vnfGroupStoreKey?:string;
}

export interface UpdateVnfGroupInstanceAction extends Action {
  vnfGroupInstance?: VnfGroupInstance;
  vnfGroupModelName?: string;
  serviceUuid?: string;
  vnfGroupStoreKey?:string;
}

export interface DeleteActionVnfGroupInstanceAction extends Action {
  vnfGroupStoreKey: string;
  serviceId?: string;
}

export interface UndoDeleteActionVnfGroupInstanceAction extends Action {
  vnfGroupStoreKey: string;
  serviceId?: string;
}

export interface SetOptionalMembersVnfGroupInstanceAction extends Action{
  path?: string;
  serviceId?: string;
  vnfMembers?: VnfMember[]
}

export const createVnfGroupInstance: ActionCreator<CreateVnfGroupInstanceAction> = (vnfGroupInstance, vnfGroupModelName, serviceUuid, vnfGroupStoreKey) => ({
  type: VnfGroupActions.CREATE_VNF_GROUP_INSTANCE,
  vnfGroupInstance: vnfGroupInstance,
  vnfGroupModelName: vnfGroupModelName,
  serviceUuid: serviceUuid,
  vnfGroupStoreKey : vnfGroupStoreKey
});


export const updateVnfGroupInstance: ActionCreator<UpdateVnfGroupInstanceAction> = (vnfGroupInstance, vnfGroupModelName, serviceUuid, vnfGroupStoreKey) => ({
  type: VnfGroupActions.UPDATE_VNF_GROUP_INSTANCE,
  vnfGroupInstance: vnfGroupInstance,
  vnfGroupModelName: vnfGroupModelName,
  serviceUuid: serviceUuid,
  vnfGroupStoreKey : vnfGroupStoreKey
});

export const deleteActionVnfGroupInstance: ActionCreator<DeleteActionVnfGroupInstanceAction> = (vnfGroupStoreKey, serviceId) => ({
  type: VnfGroupActions.DELETE_ACTION_VNF_GROUP_INSTANCE,
  vnfGroupStoreKey: vnfGroupStoreKey,
  serviceId: serviceId
});

export const undoDeleteActionVnfGroupInstance: ActionCreator<UndoDeleteActionVnfGroupInstanceAction> = (vnfGroupStoreKey, serviceId) => ({
  type: VnfGroupActions.UNDO_DELETE_ACTION_VNF_GROUP_INSTANCE,
  vnfGroupStoreKey: vnfGroupStoreKey,
  serviceId: serviceId
});

export const setOptionalMembersVnfGroupInstance: ActionCreator<SetOptionalMembersVnfGroupInstanceAction> = ( serviceId: string, path: string, vnfMembers: VnfMember[]) => ({
  type: VnfGroupActions.SET_OPTIONAL_MEMBERS_VNF_GROUP_INSTANCE,
  path: path,
  serviceId: serviceId,
  vnfMembers: vnfMembers
});