Merge from ecomp 718fd196 - Modern UI
[vid.git] / vid-webpack-master / src / app / shared / models / serviceModel.ts
1 import {NodeModel, NodeModelResponseInterface} from "./nodeModel";
2 import {VidNotions} from "./vidNotions";
3
4
5 export interface ServiceModelResponseInterface extends NodeModelResponseInterface{
6
7   serviceType: string;
8   serviceRole: string;
9   serviceEcompNaming: boolean;
10   vidNotions: any;
11 }
12
13 export class ServiceModel extends NodeModel{
14
15   serviceType: string;
16   serviceRole: string;
17   servicesQty: number;
18   isEcompGeneratedNaming: boolean;
19   isMultiStepDesign: boolean;
20   vidNotions?: VidNotions;
21
22   constructor(serviceModelJson?: any){
23     super(serviceModelJson.service);
24     if (serviceModelJson) {
25       const service: ServiceModelResponseInterface = serviceModelJson.service;
26       this.serviceType = service.serviceType;
27       this.serviceRole = service.serviceRole;
28       this.vidNotions= service.vidNotions;
29       this.isEcompGeneratedNaming = this.getServiceEcompNaming(service);
30       this.isMultiStepDesign = this.getIsMultiStepDesign(serviceModelJson);
31     }
32   }
33
34   private getServiceEcompNaming(serviceJson): boolean {
35     return serviceJson.serviceEcompNaming === "true";
36   };
37
38   private getIsMultiStepDesign(serviceModel): boolean {
39     for (let key in serviceModel.vnfs) {
40       const vnf = serviceModel.vnfs[key];
41       if (vnf.properties.multi_stage_design === "true") {
42         return true
43       }
44     }
45     return false;
46   }
47 }