import {NodeModel, NodeModelResponseInterface} from "./nodeModel"; import * as _ from "lodash"; export interface ServiceModelResponseInterface extends NodeModelResponseInterface{ serviceType: string; serviceRole: string; serviceEcompNaming: boolean; vidNotions: any; } export class ServiceModel extends NodeModel{ serviceType: string; serviceRole: string; servicesQty: number; isEcompGeneratedNaming: boolean; isMultiStepDesign: boolean; vidNotions?: any; constructor(serviceModelJson?: any){ super(serviceModelJson.service); if (serviceModelJson) { const service: ServiceModelResponseInterface = serviceModelJson.service; this.serviceType = service.serviceType; this.serviceRole = service.serviceRole; this.vidNotions= service.vidNotions; this.isEcompGeneratedNaming = this.getServiceEcompNaming(service); this.isMultiStepDesign = this.getIsMultiStepDesign(serviceModelJson); } } private getServiceEcompNaming(serviceJson): boolean { return serviceJson.serviceEcompNaming === "true"; }; private getIsMultiStepDesign(serviceModel): boolean { for (let key in serviceModel.vnfs) { const vnf = serviceModel.vnfs[key]; if (vnf.properties.multi_stage_design === "true") { return true } } return false; } }