Extend Modern UI for pnf usecase
[vid.git] / vid-webpack-master / src / app / shared / storeUtil / utils / pnf / pnf.actions.ts
1 import {Action, ActionCreator} from "redux";
2 import {PnfInstance} from "../../../models/pnfInstance";
3 import {ActionOnFirstLevel} from "../firstLevel/firstLevel.actions";
4
5 export enum PNFActions {
6   CREATE_PNF_INSTANCE = "CREATE_PNF_INSTANCE",
7   UPDATE_PNF_INSTANCE = "UPDATE_PNF_INSTANCE",
8   REMOVE_PNF_INSTANCE = "REMOVE_PNF_INSTANCE",
9   DELETE_ACTION_PNF_INSTANCE = "DELETE_PNF_INSTANCE",
10   UNDO_DELETE_ACTION_PNF_INSTANCE = "UNDO_DELETE_PNF_INSTANCE",
11   UPDATE_PNF_POSITION = "UPDATE_PNF_POISTION"
12 }
13
14 export enum PNFMethods{
15   UPGRADE = "upgrade",
16   UNDO_UPGRADE = "undoUpgrade"
17 }
18
19
20 export interface CreatePnfInstanceAction extends Action {
21   pnfInstance?: PnfInstance;
22   pnfModelName?: string;
23   serviceUuid?: string;
24   pnfStoreKey?:string;
25 }
26
27 export interface UpdatePnfPosition extends Action {
28   node: any,
29   instanceId : string,
30   pnfStoreKey?: string;
31 }
32
33 export interface UpdatePnfInstanceAction extends Action {
34   pnfInstance?: PnfInstance;
35   pnfModelName?: string;
36   serviceUuid?: string;
37   pnfStoreKey?:string;
38 }
39
40 export interface RemovePnfInstanceAction extends Action {
41   pnfStoreKey: string;
42   serviceId?: string;
43 }
44
45 export const createPNFInstance: ActionCreator<CreatePnfInstanceAction> = (pnfInstance, pnfModelName, serviceUuid, pnfStoreKey) => ({
46   type: PNFActions.CREATE_PNF_INSTANCE,
47   pnfInstance: pnfInstance,
48   pnfModelName: pnfModelName,
49   serviceUuid: serviceUuid,
50   pnfStoreKey : pnfStoreKey
51 });
52
53
54 export const updatePNFInstance: ActionCreator<UpdatePnfInstanceAction> = (pnfInstance, pnfModelName, serviceUuid, pnfStoreKey) => ({
55   type: PNFActions.UPDATE_PNF_INSTANCE,
56   pnfInstance: pnfInstance,
57   pnfModelName: pnfModelName,
58   serviceUuid: serviceUuid,
59   pnfStoreKey : pnfStoreKey
60 });
61
62
63 export const deleteActionPnfInstance: ActionCreator<ActionOnFirstLevel> = (pnfStoreKey, serviceId) => ({
64   type: PNFActions.DELETE_ACTION_PNF_INSTANCE,
65   firstLevelName: 'pnfs',
66   storeKey: pnfStoreKey,
67   serviceId: serviceId
68 });
69
70 export const undoDeleteActionPnfInstance: ActionCreator<ActionOnFirstLevel> = (pnfStoreKey, serviceId) => ({
71   type: PNFActions.UNDO_DELETE_ACTION_PNF_INSTANCE,
72   firstLevelName: 'pnfs',
73   storeKey: pnfStoreKey,
74   serviceId: serviceId
75 });
76
77 export const removePnfInstance: ActionCreator<RemovePnfInstanceAction> = (pnfStoreKey, serviceId) => ({
78   type: PNFActions.REMOVE_PNF_INSTANCE,
79   pnfStoreKey: pnfStoreKey,
80   serviceId: serviceId
81 });
82
83 export const updatePnfPosition: ActionCreator<UpdatePnfPosition> = (node, instanceId, pnfStoreKey) => ({
84   type: PNFActions.UPDATE_PNF_POSITION,
85   node: node,
86   instanceId: instanceId,
87   pnfStoreKey : pnfStoreKey
88 });