diff options
author | Ittay Stern <ittay.stern@att.com> | 2019-07-07 19:23:03 +0300 |
---|---|---|
committer | Ittay Stern <ittay.stern@att.com> | 2019-07-08 16:13:43 +0300 |
commit | f792671ae247a931f34d902e9276202b5016ef9a (patch) | |
tree | 6104971e8074c9a3d720836276ff18619719ec02 /vid-webpack-master/src/app/shared/models | |
parent | fc62274e8d15964d63c62bf0e2f4abc040252ee9 (diff) |
Merge from ecomp 718fd196 - Modern UI
Issue-ID: VID-378
Change-Id: I2736b98426e324ec3aa233b034229ba84d99839f
Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-webpack-master/src/app/shared/models')
29 files changed, 336 insertions, 28 deletions
diff --git a/vid-webpack-master/src/app/shared/models/VnfMember.ts b/vid-webpack-master/src/app/shared/models/VnfMember.ts index 392f8ddf9..6eda403a6 100644 --- a/vid-webpack-master/src/app/shared/models/VnfMember.ts +++ b/vid-webpack-master/src/app/shared/models/VnfMember.ts @@ -7,5 +7,4 @@ export class VnfMember extends Level1Instance{ constructor(){ super(); } - } diff --git a/vid-webpack-master/src/app/shared/models/collectionResourceInstance.ts b/vid-webpack-master/src/app/shared/models/collectionResourceInstance.ts new file mode 100644 index 000000000..28ebb5d4e --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/collectionResourceInstance.ts @@ -0,0 +1,11 @@ +import {Level1Instance} from "./level1Instance"; + +export class CollectionResourceInstance extends Level1Instance{ + collectionResourceStoreKey : string; + statusMessage?: string; + + constructor() { + super(); + this.collectionResourceStoreKey = null; + } +} diff --git a/vid-webpack-master/src/app/shared/models/collectionResourceModel.ts b/vid-webpack-master/src/app/shared/models/collectionResourceModel.ts new file mode 100644 index 000000000..259e18633 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/collectionResourceModel.ts @@ -0,0 +1,28 @@ +import {Level1Model, Level1ModelProperties, Level1ModelResponseInterface} from "./nodeModel"; +import {NcfModelInterface} from "./ncfModel"; + +export interface CollectionResourceProperties extends Level1ModelProperties{ +} + +export interface CollectionResourceModelResponseInterface extends Level1ModelResponseInterface{ + properties: CollectionResourceProperties; + networksCollection: { [key: string]: NcfModelInterface }; +} + +export class CollectionResourceModel extends Level1Model{ + + roles: string[] = []; + properties: CollectionResourceProperties; + networksCollection: { [key: string]: NcfModelInterface }; + + constructor(collectionResourceJson?: CollectionResourceModelResponseInterface){ + super(collectionResourceJson); + if(collectionResourceJson && collectionResourceJson.properties){ + this.properties = collectionResourceJson.properties; + } + if (collectionResourceJson && collectionResourceJson.networksCollection) { + this.networksCollection = collectionResourceJson.networksCollection; + } + } + +} diff --git a/vid-webpack-master/src/app/shared/models/collectionResourceTreeNode.ts b/vid-webpack-master/src/app/shared/models/collectionResourceTreeNode.ts new file mode 100644 index 000000000..e63d63066 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/collectionResourceTreeNode.ts @@ -0,0 +1,21 @@ +import {TreeNodeModel} from "./treeNodeModel"; +import {Level1Model} from "./nodeModel"; +import {CollectionResourceInstance} from "./collectionResourceInstance"; + +export class CollectionResourceTreeNode extends TreeNodeModel { + collectionResourceStoreKey : string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + + constructor(instance: CollectionResourceInstance, collectionResourceModel: Level1Model, collectionResourceStoreKey : string){ + super(instance, collectionResourceModel); + this.name = instance.instanceName? instance.instanceName: !collectionResourceModel.isEcompGeneratedNaming ? collectionResourceModel.modelCustomizationName : '<Automatically Assigned>'; + this.modelName = collectionResourceModel.modelCustomizationName; + this.type = collectionResourceModel.type; + this.isEcompGeneratedNaming = collectionResourceModel.isEcompGeneratedNaming; + this.collectionResourceStoreKey = collectionResourceStoreKey; + } +} + diff --git a/vid-webpack-master/src/app/shared/models/firstLevelTreeNode.ts b/vid-webpack-master/src/app/shared/models/firstLevelTreeNode.ts new file mode 100644 index 000000000..5c0e46c5a --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/firstLevelTreeNode.ts @@ -0,0 +1,20 @@ +import {TreeNodeModel} from "./treeNodeModel"; +import {NetworkInstance} from "./networkInstance"; +import {Level1Model} from "./nodeModel"; + +export class FirstLevelTreeNode extends TreeNodeModel { + networkStoreKey: string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + + constructor(instance: NetworkInstance, networkModel: Level1Model, networkStoreKey: string) { + super(instance, networkModel); + this.name = instance.instanceName ? instance.instanceName : !networkModel.isEcompGeneratedNaming ? networkModel.modelCustomizationName : '<Automatically Assigned>'; + this.modelName = networkModel.modelCustomizationName; + this.type = networkModel.type; + this.isEcompGeneratedNaming = networkModel.isEcompGeneratedNaming; + this.networkStoreKey = networkStoreKey; + } +} diff --git a/vid-webpack-master/src/app/shared/models/level1Instance.ts b/vid-webpack-master/src/app/shared/models/level1Instance.ts index b7925b8bd..6f73910e0 100644 --- a/vid-webpack-master/src/app/shared/models/level1Instance.ts +++ b/vid-webpack-master/src/app/shared/models/level1Instance.ts @@ -12,6 +12,9 @@ export class Level1Instance extends ChildNodeInstance{ lineOfBusiness: string; rollbackOnFailure: string; originalName: string; + region: string; + routeTargets: any[]; + customerId: string; constructor() { super(); diff --git a/vid-webpack-master/src/app/shared/models/ncfInstance.ts b/vid-webpack-master/src/app/shared/models/ncfInstance.ts new file mode 100644 index 000000000..b2a7c461d --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/ncfInstance.ts @@ -0,0 +1,11 @@ +import {Level1Instance} from "./level1Instance"; + +export class NcfInstance extends Level1Instance{ + storeKey : string; + statusMessage?: string; + + constructor() { + super(); + this.storeKey = null; + } +} diff --git a/vid-webpack-master/src/app/shared/models/ncfModel.ts b/vid-webpack-master/src/app/shared/models/ncfModel.ts new file mode 100644 index 000000000..17d9cb41e --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/ncfModel.ts @@ -0,0 +1,10 @@ +import {NodeModelResponseInterface} from "./nodeModel"; + +export interface NcfProperties { + networkCollectionFunction: string; + networkCollectionDescription: string; +} + +export interface NcfModelInterface extends NodeModelResponseInterface { + networkCollectionProperties: NcfProperties; +} diff --git a/vid-webpack-master/src/app/shared/models/ncfTreeNode.ts b/vid-webpack-master/src/app/shared/models/ncfTreeNode.ts new file mode 100644 index 000000000..903fd2f32 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/ncfTreeNode.ts @@ -0,0 +1,29 @@ +import {TreeNodeModel} from "./treeNodeModel"; +import {Level1Model} from "./nodeModel"; +import {Level1Instance} from "./level1Instance"; + + +export class NcfTreeNode extends TreeNodeModel { + storeKey : string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + instanceGroupRole: string; + instanceGroupFunction: string; + numberOfNetworks: number; + modelVersion: string; + + constructor(instance: Level1Instance, ncfModel: Level1Model, storeKey: string, modelVersion: string) { + super(instance, ncfModel); + this.name = instance.instanceName? instance.instanceName: !ncfModel.isEcompGeneratedNaming ? ncfModel.modelCustomizationName : '<Automatically Assigned>'; + this.modelName = ncfModel.modelCustomizationName; + this.type = ncfModel.type; + this.isEcompGeneratedNaming = ncfModel.isEcompGeneratedNaming; + this.storeKey = storeKey; + this.instanceGroupRole = instance['instanceGroupRole']; + this.instanceGroupFunction = instance['instanceGroupFunction']; + this.numberOfNetworks = instance['numberOfNetworks']; + this.modelVersion = modelVersion; + } +} diff --git a/vid-webpack-master/src/app/shared/models/networkInstance.ts b/vid-webpack-master/src/app/shared/models/networkInstance.ts index ded95a787..0dad0c0ae 100644 --- a/vid-webpack-master/src/app/shared/models/networkInstance.ts +++ b/vid-webpack-master/src/app/shared/models/networkInstance.ts @@ -4,8 +4,8 @@ import {Level1Instance} from "./level1Instance"; export class NetworkInstance extends Level1Instance{ networkStoreKey : string; - isFailed: boolean; statusMessage?: string; + routeTarget: any; constructor() { super(); diff --git a/vid-webpack-master/src/app/shared/models/networkTreeNode.ts b/vid-webpack-master/src/app/shared/models/networkTreeNode.ts index d09d5e4c5..3b68a4c94 100644 --- a/vid-webpack-master/src/app/shared/models/networkTreeNode.ts +++ b/vid-webpack-master/src/app/shared/models/networkTreeNode.ts @@ -1,23 +1,15 @@ import {NetworkInstance} from "./networkInstance"; -import {TreeNodeModel} from "./treeNodeModel"; import {Level1Model} from "./nodeModel"; +import {FirstLevelTreeNode} from "./firstLevelTreeNode"; +export class NetworkTreeNode extends FirstLevelTreeNode { + routeTargetId: string; + routeTargetRole: string; -export class NetworkTreeNode extends TreeNodeModel { - networkStoreKey : string; - typeName: string; - menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; - isFailed: boolean; - statusMessage?: string; - - constructor(instance: NetworkInstance, networkModel: Level1Model, networkStoreKey : string){ - super(instance, networkModel); - this.name = instance.instanceName? instance.instanceName: !networkModel.isEcompGeneratedNaming ? networkModel.modelCustomizationName : '<Automatically Assigned>'; - this.modelName = networkModel.modelCustomizationName; - this.type = networkModel.type; - this.isEcompGeneratedNaming = networkModel.isEcompGeneratedNaming; - this.networkStoreKey = networkStoreKey; + constructor(instance: NetworkInstance, networkModel: Level1Model, networkStoreKey: string) { + super(instance, networkModel, networkStoreKey); + this.routeTargetId = instance && instance.routeTarget ? instance.routeTarget.globalRouteTarget : null; + this.routeTargetRole = instance && instance.routeTarget ? instance.routeTarget.routeTargetRole : null; } } - diff --git a/vid-webpack-master/src/app/shared/models/nodeInstance.ts b/vid-webpack-master/src/app/shared/models/nodeInstance.ts index 7656a0c2e..1967fd80d 100644 --- a/vid-webpack-master/src/app/shared/models/nodeInstance.ts +++ b/vid-webpack-master/src/app/shared/models/nodeInstance.ts @@ -3,12 +3,14 @@ import {ModelInfo} from "./modelInfo"; export class NodeInstance { instanceName: string; + instanceType?: string; orchStatus?:string; action: ServiceInstanceActions = ServiceInstanceActions.Create; originalAction : ServiceInstanceActions; modelInfo?: ModelInfo; instanceId?: string; trackById?: string; + isFailed?: boolean; } export class ChildNodeInstance extends NodeInstance { isMissingData: boolean; diff --git a/vid-webpack-master/src/app/shared/models/nodeModel.ts b/vid-webpack-master/src/app/shared/models/nodeModel.ts index ee57ec038..610522d78 100644 --- a/vid-webpack-master/src/app/shared/models/nodeModel.ts +++ b/vid-webpack-master/src/app/shared/models/nodeModel.ts @@ -87,7 +87,10 @@ export class Level1Model extends NodeModel{ } } private getIsEcompGeneratedNaming(vnfJson) { - const ecompGeneratedNaming = vnfJson.properties.ecomp_generated_naming; + let ecompGeneratedNaming; + if (vnfJson.properties) { + ecompGeneratedNaming = vnfJson.properties.ecomp_generated_naming; + } return ecompGeneratedNaming === "true"; }; } diff --git a/vid-webpack-master/src/app/shared/models/pnfInstance.ts b/vid-webpack-master/src/app/shared/models/pnfInstance.ts new file mode 100644 index 000000000..ba3679646 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/pnfInstance.ts @@ -0,0 +1,13 @@ +import {Level1Instance} from "./level1Instance"; + + +export class PnfInstance extends Level1Instance { + + pnfStoreKey : string; + statusMessage?: string; + + constructor() { + super(); + this.pnfStoreKey = null; + } +} diff --git a/vid-webpack-master/src/app/shared/models/pnfModel.ts b/vid-webpack-master/src/app/shared/models/pnfModel.ts new file mode 100644 index 000000000..14e6588d2 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/pnfModel.ts @@ -0,0 +1,28 @@ +import { + Level1Model, + Level1ModelProperties, + Level1ModelResponseInterface +} from "./nodeModel"; + + + +export interface PnfProperties extends Level1ModelProperties{ + ecomp_generated_naming: string; +} + +export interface PNFModelResponseInterface extends Level1ModelResponseInterface{ + properties: PnfProperties; +} + +export class PNFModel extends Level1Model{ + roles: string[] = []; + properties: PnfProperties; + + constructor(pnfJson?: PNFModelResponseInterface) { + super(pnfJson); + if (pnfJson && pnfJson.properties) { + this.properties = pnfJson.properties; + } + } + +} diff --git a/vid-webpack-master/src/app/shared/models/pnfTreeNode.ts b/vid-webpack-master/src/app/shared/models/pnfTreeNode.ts new file mode 100644 index 000000000..26f441ceb --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/pnfTreeNode.ts @@ -0,0 +1,21 @@ +import {Level1Model} from "./nodeModel"; +import {TreeNodeModel} from "./treeNodeModel"; +import {PnfInstance} from "./pnfInstance"; + +export class PnfTreeNode extends TreeNodeModel{ + pnfStoreKey : string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + + constructor(instance: PnfInstance, pnfModel: Level1Model, pnfStoreKey : string){ + super(instance, pnfModel); + this.type = pnfModel.type; + this.pnfStoreKey = pnfStoreKey; + + this.name = instance.instanceName? instance.instanceName: !pnfModel.isEcompGeneratedNaming ? pnfModel.modelCustomizationName : '<Automatically Assigned>'; + this.modelName = pnfModel.modelCustomizationName; + this.isEcompGeneratedNaming = pnfModel.isEcompGeneratedNaming; + } +} diff --git a/vid-webpack-master/src/app/shared/models/serviceInstance.ts b/vid-webpack-master/src/app/shared/models/serviceInstance.ts index 38b4ac35d..d9167be16 100644 --- a/vid-webpack-master/src/app/shared/models/serviceInstance.ts +++ b/vid-webpack-master/src/app/shared/models/serviceInstance.ts @@ -3,6 +3,8 @@ import {NetworkInstance} from "./networkInstance"; import {NodeInstance} from "./nodeInstance"; import {VnfGroupInstance} from "./vnfGroupInstance"; import {VnfMember} from "./VnfMember"; +import {VrfInstance} from "./vrfInstance"; +import {VidNotions} from "./vidNotions"; export class ServiceInstance extends NodeInstance{ isEcompGeneratedNaming: boolean; @@ -20,6 +22,7 @@ export class ServiceInstance extends NodeInstance{ pause: boolean; bulkSize: number; vnfs: { [vnf_module_model_name: string]: VnfInstance; }; + vrfs: { [vrf_model_name: string]: VrfInstance; }; vnfGroups : {[vnf_module_model_name: string]: VnfGroupInstance; }; networks: { [vnf_module_model_name: string]: NetworkInstance; }; isDirty : boolean; @@ -30,20 +33,23 @@ export class ServiceInstance extends NodeInstance{ existingNames: {[key: string] : any}; modelInavariantId?: string; existingVNFCounterMap : { [vnf_module_model_name: string]: number; }; + existingVRFCounterMap : { [vrf_module_model_name: string]: number; }; existingVnfGroupCounterMap : { [vnf_group_module_model_name: string]: number; }; existingNetworksCounterMap : { [network_module_model_name: string]: number; }; optionalGroupMembersMap?: { [path: string]: VnfMember[]; }; - isFailed: boolean; statusMessage: string; + vidNotions?: VidNotions; constructor() { super(); this.isDirty = false; this.vnfs = {}; + this.vrfs = {}; this.instanceParams = []; this.validationCounter = 0; this.existingNames = {}; this.existingVNFCounterMap = {}; + this.existingVRFCounterMap = {}; this.existingVnfGroupCounterMap = {}; this.existingNetworksCounterMap = {}; this.optionalGroupMembersMap = {}; diff --git a/vid-webpack-master/src/app/shared/models/serviceInstanceActions.ts b/vid-webpack-master/src/app/shared/models/serviceInstanceActions.ts index 783f133b0..cda2d0e88 100644 --- a/vid-webpack-master/src/app/shared/models/serviceInstanceActions.ts +++ b/vid-webpack-master/src/app/shared/models/serviceInstanceActions.ts @@ -3,6 +3,7 @@ export enum ServiceInstanceActions{ Update="Update", Create="Create", None="None", + Resume = "Resume", Update_Delete = 'Update_Delete', None_Delete = 'None_Delete' } diff --git a/vid-webpack-master/src/app/shared/models/serviceModel.ts b/vid-webpack-master/src/app/shared/models/serviceModel.ts index 21a34cc95..15fb4fb0c 100644 --- a/vid-webpack-master/src/app/shared/models/serviceModel.ts +++ b/vid-webpack-master/src/app/shared/models/serviceModel.ts @@ -1,5 +1,5 @@ import {NodeModel, NodeModelResponseInterface} from "./nodeModel"; -import * as _ from "lodash"; +import {VidNotions} from "./vidNotions"; export interface ServiceModelResponseInterface extends NodeModelResponseInterface{ @@ -17,7 +17,7 @@ export class ServiceModel extends NodeModel{ servicesQty: number; isEcompGeneratedNaming: boolean; isMultiStepDesign: boolean; - vidNotions?: any; + vidNotions?: VidNotions; constructor(serviceModelJson?: any){ super(serviceModelJson.service); diff --git a/vid-webpack-master/src/app/shared/models/treeNodeModel.ts b/vid-webpack-master/src/app/shared/models/treeNodeModel.ts index 2be8b804a..9242add85 100644 --- a/vid-webpack-master/src/app/shared/models/treeNodeModel.ts +++ b/vid-webpack-master/src/app/shared/models/treeNodeModel.ts @@ -27,6 +27,9 @@ export class TreeNodeModel { provStatus?:string; inMaint?:boolean; action : string ; + instanceId?: string; + instanceType?: string; + instanceName?: string; constructor(instance: ChildNodeInstance, nodeModel: NodeModel){ this.modelCustomizationId = nodeModel.customizationUuid; @@ -48,6 +51,18 @@ export class TreeNodeModel { this.inMaint= instance.inMaint; } + if(!_.isNil(instance.instanceId)){ + this.instanceId= instance.instanceId; + } + if(!_.isNil(instance.instanceType)){ + this.instanceType= instance.instanceType; + } + if(!_.isNil(instance.instanceName)){ + this.instanceName= instance.instanceName; + } + + + } } diff --git a/vid-webpack-master/src/app/shared/models/vfModuleInstance.ts b/vid-webpack-master/src/app/shared/models/vfModuleInstance.ts index 71140d44b..566c913ae 100644 --- a/vid-webpack-master/src/app/shared/models/vfModuleInstance.ts +++ b/vid-webpack-master/src/app/shared/models/vfModuleInstance.ts @@ -3,7 +3,6 @@ import {ChildNodeInstance} from "./nodeInstance"; export class VfModuleInstance extends ChildNodeInstance{ volumeGroupName: string; instanceParams: { [key: string] : string; }; - isFailed: boolean; position: any; statusMessage?: string; diff --git a/vid-webpack-master/src/app/shared/models/vidNotions.ts b/vid-webpack-master/src/app/shared/models/vidNotions.ts new file mode 100644 index 000000000..b2e54fa65 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/vidNotions.ts @@ -0,0 +1,6 @@ +export interface VidNotions { + instantiationUI: string, + modelCategory: string, + viewEditUI: string, + instantiationType: string +} diff --git a/vid-webpack-master/src/app/shared/models/vnfGroupTreeNode.ts b/vid-webpack-master/src/app/shared/models/vnfGroupTreeNode.ts index 0e71f47b8..aa66a1abc 100644 --- a/vid-webpack-master/src/app/shared/models/vnfGroupTreeNode.ts +++ b/vid-webpack-master/src/app/shared/models/vnfGroupTreeNode.ts @@ -1,8 +1,8 @@ -import {NetworkTreeNode} from "./networkTreeNode"; import {NetworkInstance} from "./networkInstance"; import {Level1Model} from "./nodeModel"; +import {FirstLevelTreeNode} from "./firstLevelTreeNode"; -export class VnfGroupTreeNode extends NetworkTreeNode{ +export class VnfGroupTreeNode extends FirstLevelTreeNode { vnfGroupStoreKey : string; limitMembers: number; constructor(instance: NetworkInstance, vnfGroupModel: Level1Model, vnfGroupStoreKey : string){ diff --git a/vid-webpack-master/src/app/shared/models/vnfInstance.ts b/vid-webpack-master/src/app/shared/models/vnfInstance.ts index 8959cc5c3..6082de67e 100644 --- a/vid-webpack-master/src/app/shared/models/vnfInstance.ts +++ b/vid-webpack-master/src/app/shared/models/vnfInstance.ts @@ -6,7 +6,6 @@ export class VnfInstance extends Level1Instance { vfModules: { [vf_module_model_name: string] : VfModuleMap; }; vnfStoreKey : string; - isFailed: boolean; position: number; statusMessage?: string; diff --git a/vid-webpack-master/src/app/shared/models/vnfTreeNode.ts b/vid-webpack-master/src/app/shared/models/vnfTreeNode.ts index b878d016e..f925eaf86 100644 --- a/vid-webpack-master/src/app/shared/models/vnfTreeNode.ts +++ b/vid-webpack-master/src/app/shared/models/vnfTreeNode.ts @@ -1,10 +1,10 @@ import {VfModuleTreeNode} from "./vfModuleTreeNode"; -import {NetworkTreeNode} from "./networkTreeNode"; import {Level1Model} from "./nodeModel"; import {VnfInstance} from "./vnfInstance"; import {ServiceNodeTypes} from "./ServiceNodeTypes"; +import {FirstLevelTreeNode} from "./firstLevelTreeNode"; -export class VnfTreeNode extends NetworkTreeNode{ +export class VnfTreeNode extends FirstLevelTreeNode { children: VfModuleTreeNode[]; vnfStoreKey : string; diff --git a/vid-webpack-master/src/app/shared/models/vpnTreeNode.ts b/vid-webpack-master/src/app/shared/models/vpnTreeNode.ts new file mode 100644 index 000000000..b8c7f2b80 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/vpnTreeNode.ts @@ -0,0 +1,29 @@ +import {TreeNodeModel} from "./treeNodeModel"; +import {Level1Model} from "./nodeModel"; +import {Level1Instance} from "./level1Instance"; + + +export class VpnTreeNode extends TreeNodeModel { + storeKey: string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + region: string; + routeTargetId: string; + routeTargetRole: string; + customerVPNId: string; + + constructor(instance: Level1Instance, vpnModel: Level1Model, storeKey: string) { + super(instance, vpnModel); + this.name = instance.instanceName ? instance.instanceName : !vpnModel.isEcompGeneratedNaming ? vpnModel.modelCustomizationName : '<Automatically Assigned>'; + this.modelName = vpnModel.modelCustomizationName; + this.type = vpnModel.type; + this.isEcompGeneratedNaming = vpnModel.isEcompGeneratedNaming; + this.storeKey = storeKey; + this.region = instance.region; + this.routeTargetId = instance.routeTargets && instance.routeTargets.length ? instance.routeTargets[0].globalRouteTarget : null; + this.routeTargetRole = instance.routeTargets && instance.routeTargets.length ? instance.routeTargets[0].routeTargetRole : null; + this.customerVPNId = instance.customerId; + } +} diff --git a/vid-webpack-master/src/app/shared/models/vrfInstance.ts b/vid-webpack-master/src/app/shared/models/vrfInstance.ts new file mode 100644 index 000000000..4edc1e358 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/vrfInstance.ts @@ -0,0 +1,15 @@ +import {Level1Instance} from "./level1Instance"; + +export class VrfInstance extends Level1Instance{ + vrfStoreKey : string; + statusMessage?: string; + vpns : any; + networks : any; + + constructor() { + super(); + this.vrfStoreKey = null; + this.vpns = {}; + this.networks = {}; + } +} diff --git a/vid-webpack-master/src/app/shared/models/vrfModel.ts b/vid-webpack-master/src/app/shared/models/vrfModel.ts new file mode 100644 index 000000000..c9bac9cd6 --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/vrfModel.ts @@ -0,0 +1,25 @@ +import {Level1Model, Level1ModelProperties, Level1ModelResponseInterface} from "./nodeModel"; + +export interface VrfProperties extends Level1ModelProperties{ +} + +export interface VrfResponseInterface extends Level1ModelResponseInterface{ + properties: VrfProperties; +} + +export class VrfModel extends Level1Model{ + + + properties: VrfProperties; + + constructor(vrfJson?: VrfResponseInterface){ + super(vrfJson); + if(vrfJson && vrfJson.properties){ + this.properties = vrfJson.properties; + } + this.min = 1; + this.max = 1; + } + + +} diff --git a/vid-webpack-master/src/app/shared/models/vrfTreeNode.ts b/vid-webpack-master/src/app/shared/models/vrfTreeNode.ts new file mode 100644 index 000000000..7dbe92e8a --- /dev/null +++ b/vid-webpack-master/src/app/shared/models/vrfTreeNode.ts @@ -0,0 +1,22 @@ +import {TreeNodeModel} from "./treeNodeModel"; +import {NetworkInstance} from "./networkInstance"; +import {Level1Model} from "./nodeModel"; +import {VrfInstance} from "./vrfInstance"; + +export class VrfTreeNode extends TreeNodeModel { + vrfStoreKey : string; + typeName: string; + menuActions: { [p: string]: { method: Function; visible: Function; enable: Function } }; + isFailed: boolean; + statusMessage?: string; + + constructor(instance: VrfInstance, vrfModel: Level1Model, vrfStoreKey : string){ + super(instance, vrfModel); + this.name = instance.instanceName? instance.instanceName: '<Automatically Assigned>'; + this.modelName = vrfModel.modelCustomizationName; + this.type = vrfModel.type; + this.isEcompGeneratedNaming = vrfModel.isEcompGeneratedNaming; + this.vrfStoreKey = vrfStoreKey; + } +} + |