Create UseTemplate Action and Reducer to update state with template from BE.
[vid.git] / vid-webpack-master / src / app / shared / storeUtil / utils / useTemplate / useTemplate.reducer.ts
1 import {ServiceState} from "../main.reducer";
2 import {Action} from "redux";
3 import {
4   createServiceInstanceFromTemplate,
5   CreateServiceInstanceFromTemplate,
6   UseTemplateActions
7 } from "./useTemplate.action";
8 import * as _ from "lodash";
9
10 export function useTemplateReducer(state: ServiceState, action: Action) : ServiceState {
11    switch (action.type) {
12      case UseTemplateActions.CREATE_SERVICE_INSTANCE_FROM_TEMPLATE : {
13         const updateServiceInstanceFromTemplateAction = <CreateServiceInstanceFromTemplate>action;
14         const uuid = updateServiceInstanceFromTemplateAction.serviceModelId;
15         let newState = _.cloneDeep(state);
16         newState.serviceInstance[uuid] = updateServiceInstanceFromTemplateAction.serviceInstantiationTemplate;
17         return newState;
18      }
19    }
20 }