summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/models/networkModel.ts
blob: b4879a59d3a9e9bee7f2c57ee3d733bb7b2f0c5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import {
  Level1Model, Level1ModelProperties,
  Level1ModelResponseInterface
} from "./nodeModel";
import {Utils} from "../utils/utils";


export interface NetworkProperties extends Level1ModelProperties {
  ecomp_generated_naming: string;
  network_role: string;
}

export interface NetworkModelResponseInterface extends Level1ModelResponseInterface {
  properties: NetworkProperties;
}

export class NetworkModel extends Level1Model {

  roles: string[] = [];
  properties: NetworkProperties;

  constructor(networkJson?: NetworkModelResponseInterface, flags?: { [key: string]: boolean }) {
    super(networkJson);
    if (networkJson && networkJson.properties) {
      this.properties = networkJson.properties;
      // expecting network_role to be a comma-saparated list
      this.roles = networkJson.properties.network_role ? networkJson.properties.network_role.split(',') : [];
      this.max = Utils.getMaxFirstLevel(this.properties, flags);
    }
  }


}