From e1f7974f0badbd4440d5b7ea5f1b1cb2d4973818 Mon Sep 17 00:00:00 2001 From: Einat Vinouze Date: Tue, 27 Aug 2019 16:01:01 +0300 Subject: Adding feature: Replace vfmodule Issue-ID: VID-603 Change-Id: I59068a0979d6fb733e4243c8f78921f396dc9d17 Signed-off-by: Einat Vinouze Signed-off-by: Amichai Hemli Signed-off-by: Ittay Stern --- .../storeUtil/utils/vfModule/vfModule.reducers.ts | 37 +++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.ts') diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.ts index 05319c0fb..a7aadba41 100644 --- a/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.ts +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.ts @@ -3,7 +3,7 @@ import * as _ from "lodash"; import { CreateVFModuleInstanceAction, DeleteActionVfModuleInstanceAction, DeleteVfModuleInstanceAction, UndoDeleteActionVfModuleInstanceAction, UpdateVFModluePosition, - UpdateVFModuleInstanceAction, + UpdateVFModuleInstanceAction, UpgradeVfModuleInstanceAction, VfModuleActions } from "./vfModule.actions"; import {ServiceInstance} from "../../../models/serviceInstance"; @@ -26,6 +26,7 @@ export function vfModuleReducer(state: ServiceState , action: Action) : ServiceS let vfModulesMap = newState.serviceInstance[serviceUuid].vnfs[vnfStoreKey].vfModules[vfModuleId] || new VfModuleMap(); let randomId = generateId(); + vfInstance.action = ServiceInstanceActions.Create; vfModulesMap[vfModuleId + randomId] = vfInstance; updateUniqueNames(null, vfInstance.instanceName, newState.serviceInstance[serviceUuid]); updateUniqueNames(null, vfInstance.volumeGroupName, newState.serviceInstance[serviceUuid]); @@ -110,6 +111,40 @@ export function vfModuleReducer(state: ServiceState , action: Action) : ServiceS newState.serviceInstance[serviceUuid].vnfs[updateVFModluePosition.vnfStoreKey].vfModules[modelName][dynamicModelName].position = updateVFModluePosition.node.position; return newState; } + + case VfModuleActions.UPGRADE_VFMODULE : { + let clonedState = _.cloneDeep(state); + const upgradeAction = (action); + let oldAction = clonedState + .serviceInstance[upgradeAction.serviceId] + .vnfs[upgradeAction.vnfStoreKey] + .vfModules[upgradeAction.modelName][upgradeAction.dynamicModelName] + .action; + if(!_.isNil(oldAction) && oldAction.includes("Upgrade")) { + return clonedState; + } + clonedState.serviceInstance[upgradeAction.serviceId] + .vnfs[upgradeAction.vnfStoreKey] + .vfModules[upgradeAction.modelName][upgradeAction.dynamicModelName] + .action = (`${oldAction}_Upgrade`) as ServiceInstanceActions; + return clonedState; + } + case VfModuleActions.UNDO_UPGRADE_VFMODULE_ACTION : { + let clonedState = _.cloneDeep(state); + const upgradeAction = (action); + let oldAction = clonedState + .serviceInstance[upgradeAction.serviceId] + .vnfs[upgradeAction.vnfStoreKey] + .vfModules[upgradeAction.modelName][upgradeAction.dynamicModelName] + .action; + if(!_.isNil(oldAction) && oldAction.includes("Upgrade")) { + clonedState.serviceInstance[upgradeAction.serviceId] + .vnfs[upgradeAction.vnfStoreKey] + .vfModules[upgradeAction.modelName][upgradeAction.dynamicModelName] + .action = ServiceInstanceActions.None; + } + return clonedState; + } } } -- cgit 1.2.3-korg