@veloceapps/api 9.0.0-7 → 9.0.0-8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,7 +21,7 @@ export class ConfigurationApiService {
21
21
  if (runtimeModel) {
22
22
  return {
23
23
  ...configurePrice,
24
- lineItem: this.updatePortDomains(configurePrice.lineItem, runtimeModel),
24
+ lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel),
25
25
  };
26
26
  }
27
27
  else {
@@ -41,7 +41,7 @@ export class ConfigurationApiService {
41
41
  if (runtimeModel) {
42
42
  return {
43
43
  ...configurePrice,
44
- lineItem: this.updatePortDomains(configurePrice.lineItem, runtimeModel),
44
+ lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel),
45
45
  };
46
46
  }
47
47
  else {
@@ -68,11 +68,11 @@ export class ConfigurationApiService {
68
68
  url: `${this.SERVICE_URL}/${modelId}/model-test`,
69
69
  });
70
70
  }
71
- updatePortDomains(lineItem, runtimeModel) {
72
- const type = runtimeModel.components.get(lineItem.type);
71
+ updateDomains(lineItem, runtimeModel) {
72
+ const component = runtimeModel.components.get(lineItem.type);
73
73
  const portDomains = { ...lineItem.portDomains };
74
74
  // loop through ports to look for 'None' type domain computations
75
- for (const port of type?.ports ?? []) {
75
+ for (const port of component?.ports ?? []) {
76
76
  const { name: portName, type: typeName, min, max, domainTypes, properties } = port;
77
77
  const portDomain = portDomains[portName];
78
78
  if (portDomain) {
@@ -96,9 +96,25 @@ export class ConfigurationApiService {
96
96
  };
97
97
  }
98
98
  }
99
+ const type = runtimeModel.types.find(({ name }) => {
100
+ return lineItem.type === name;
101
+ });
102
+ const attributeDomains = lineItem.attributeDomains;
103
+ if (type) {
104
+ const initialDomains = lineItem.attributeDomains;
105
+ type.attributes.forEach(attribute => {
106
+ if (Object.prototype.hasOwnProperty.call(initialDomains, attribute.name)) {
107
+ return;
108
+ }
109
+ if (attribute.attributeDomain) {
110
+ attributeDomains[attribute.name] = attribute.attributeDomain;
111
+ }
112
+ });
113
+ }
99
114
  return {
100
115
  ...lineItem,
101
- lineItems: lineItem.lineItems?.map(i => this.updatePortDomains(i, runtimeModel)),
116
+ lineItems: lineItem.lineItems?.map(i => this.updateDomains(i, runtimeModel)),
117
+ attributeDomains,
102
118
  portDomains,
103
119
  };
104
120
  }
@@ -108,4 +124,4 @@ ConfigurationApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
108
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationApiService, decorators: [{
109
125
  type: Injectable
110
126
  }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFVTCxtQkFBbUIsR0FDcEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR3JDLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsV0FBNEI7UUFBNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRi9CLGdCQUFXLEdBQUcsZ0JBQWdCLENBQUM7SUFFRyxDQUFDO0lBRTdDLGlCQUFpQixDQUFDLEVBQ3ZCLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osY0FBYyxHQUtmO1FBQ0MsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQixHQUFHLENBQWlCO1lBQ25CLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNELElBQUksRUFBRSxvQkFBb0I7WUFDMUIsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNqQyxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNuQixJQUFJLFlBQVksRUFBRTtnQkFDaEIsT0FBTztvQkFDTCxHQUFHLGNBQWM7b0JBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFFBQVEs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TyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUM7b0JBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDO29CQUNwQixXQUFXLEVBQUUsV0FBVztvQkFDeEIsVUFBVSxFQUFFO3dCQUNWLEdBQUcsVUFBVTt3QkFDYixpQkFBaUIsRUFBRSxNQUFrQztxQkFDdEQ7aUJBQ21CLENBQUM7YUFDeEI7U0FDRjtRQUVELE9BQU87WUFDTCxHQUFHLFFBQVE7WUFDWCxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ2hGLFdBQVc7U0FDWixDQUFDO0lBQ0osQ0FBQzs7b0hBM0hVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlSHR0cFNlcnZpY2UsXG4gIENvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICBDb25maWd1cmVQcmljZSxcbiAgRG9tYWluQ29tcHV0YXRpb24sXG4gIExpbmVJdGVtLFxuICBQb3J0RG9tYWluLFxuICBSdW50aW1lRGF0YSxcbiAgUnVudGltZURhdGFEVE8sXG4gIFJ1bnRpbWVNb2RlbCxcbiAgdWlEZWZpbml0aW9uRnJvbURUTyxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uQXBpU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgU0VSVklDRV9VUkwgPSAnL2NvbmZpZ3VyYXRpb24nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEJhc2VIdHRwU2VydmljZSkge31cblxuICBwdWJsaWMgY29uZmlndXJlTGluZUl0ZW0oe1xuICAgIGNvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICAgIHJ1bnRpbWVNb2RlbCxcbiAgICBwcmljaW5nRW5hYmxlZCxcbiAgfToge1xuICAgIGNvbmZpZ3VyYXRpb25SZXF1ZXN0OiBDb25maWd1cmF0aW9uUmVxdWVzdDtcbiAgICBydW50aW1lTW9kZWw/OiBSdW50aW1lTW9kZWw7XG4gICAgcHJpY2luZ0VuYWJsZWQ/OiBib29sZWFuO1xuICB9KTogT2JzZXJ2YWJsZTxDb25maWd1cmVQcmljZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPENvbmZpZ3VyZVByaWNlPih7XG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9JHtwcmljaW5nRW5hYmxlZCA/ICcvcHJpY2UnIDogJyd9YCxcbiAgICAgICAgYm9keTogY29uZmlndXJhdGlvblJlcXVlc3QsXG4gICAgICAgIGVycm9ySGFuZGxlcjogZSA9PiB0aHJvd0Vycm9yKGUpLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoY29uZmlndXJlUHJpY2UgPT4ge1xuICAgICAgICAgIGlmIChydW50aW1lTW9kZWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmNvbmZpZ3VyZVByaWNlLFxuICAgICAgICAgICAgICBsaW5lSXRlbTogdGhpcy51cGRhdGVQb3J0RG9tYWlucyhjb25maWd1cmVQcmljZS5saW5lSXRlbSwgcnVudGltZU1vZGVsKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb25maWd1cmVQcmljZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjdXN0b21Db25maWd1cmVQcmljZSh7XG4gICAgdXJsLFxuICAgIGNvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICAgIHJ1bnRpbWVNb2RlbCxcbiAgfToge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGNvbmZpZ3VyYXRpb25SZXF1ZXN0OiBDb25maWd1cmF0aW9uUmVxdWVzdDtcbiAgICBydW50aW1lTW9kZWw/OiBSdW50aW1lTW9kZWw7XG4gIH0pOiBPYnNlcnZhYmxlPENvbmZpZ3VyZVByaWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8Q29uZmlndXJlUHJpY2U+KHtcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHVybCxcbiAgICAgICAgYm9keTogY29uZmlndXJhdGlvblJlcXVlc3QsXG4gICAgICAgIGVycm9ySGFuZGxlcjogZSA9PiB0aHJvd0Vycm9yKGUpLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoY29uZmlndXJlUHJpY2UgPT4ge1xuICAgICAgICAgIGlmIChydW50aW1lTW9kZWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmNvbmZpZ3VyZVByaWNlLFxuICAgICAgICAgICAgICBsaW5lSXRlbTogdGhpcy51cGRhdGVQb3J0RG9tYWlucyhjb25maWd1cmVQcmljZS5saW5lSXRlbSwgcnVudGltZU1vZGVsKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb25maWd1cmVQcmljZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lRGF0YUJ5UHJvZHVjdElkKHByb2R1Y3RJZDogc3RyaW5nLCBvZmZlcmluZ0lkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSdW50aW1lRGF0YT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPFJ1bnRpbWVEYXRhRFRPPih7XG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHtwcm9kdWN0SWR9L21vZGVsYCArICgob2ZmZXJpbmdJZCAmJiBgLyR7b2ZmZXJpbmdJZH1gKSB8fCAnJyksXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcDxSdW50aW1lRGF0YURUTywgUnVudGltZURhdGE+KHJ1bnRpbWVEYXRhID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucnVudGltZURhdGEsXG4gICAgICAgICAgICB1aURlZmluaXRpb25zOiBydW50aW1lRGF0YS51aURlZmluaXRpb25zLm1hcChkdG8gPT4gdWlEZWZpbml0aW9uRnJvbURUTyhkdG8pKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZURhdGFCeU1vZGVsSWQobW9kZWxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSdW50aW1lRGF0YT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L21vZGVsLXRlc3RgLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQb3J0RG9tYWlucyhsaW5lSXRlbTogTGluZUl0ZW0sIHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsKTogTGluZUl0ZW0ge1xuICAgIGNvbnN0IHR5cGUgPSBydW50aW1lTW9kZWwuY29tcG9uZW50cy5nZXQobGluZUl0ZW0udHlwZSk7XG4gICAgY29uc3QgcG9ydERvbWFpbnMgPSB7IC4uLmxpbmVJdGVtLnBvcnREb21haW5zIH07XG5cbiAgICAvLyBsb29wIHRocm91Z2ggcG9ydHMgdG8gbG9vayBmb3IgJ05vbmUnIHR5cGUgZG9tYWluIGNvbXB1dGF0aW9uc1xuICAgIGZvciAoY29uc3QgcG9ydCBvZiB0eXBlPy5wb3J0cyA/PyBbXSkge1xuICAgICAgY29uc3QgeyBuYW1lOiBwb3J0TmFtZSwgdHlwZTogdHlwZU5hbWUsIG1pbiwgbWF4LCBkb21haW5UeXBlcywgcHJvcGVydGllcyB9ID0gcG9ydDtcbiAgICAgIGNvbnN0IHBvcnREb21haW4gPSBwb3J0RG9tYWluc1twb3J0TmFtZV07XG5cbiAgICAgIGlmIChwb3J0RG9tYWluKSB7XG4gICAgICAgIC8vIHRoZXJlJ3MgYSAnTm9uZScgdHlwZSBkb21haW4gY29tcHV0YXRpb25cbiAgICAgICAgaWYgKHBvcnREb21haW4ucHJvcGVydGllcz8uWydkb21haW5Db21wdXRhdGlvbiddID09PSAoJ05vbmUnIHNhdGlzZmllcyBEb21haW5Db21wdXRhdGlvbikpIHtcbiAgICAgICAgICBwb3J0RG9tYWluLmRvbWFpblR5cGVzID0gZG9tYWluVHlwZXM7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHRoZXJlJ3Mgbm8gcG9ydCBkb21haW4gc28gY29uc2lkZXIgdGhhdCBhcyAnTm9uZScgdHlwZSBkb21haW4gY29tcHV0YXRpb25cbiAgICAgICAgcG9ydERvbWFpbnNbcG9ydE5hbWVdID0ge1xuICAgICAgICAgIG5hbWU6IHBvcnROYW1lLFxuICAgICAgICAgIHR5cGU6IHR5cGVOYW1lLFxuICAgICAgICAgIG1pbkNhcmQ6IE51bWJlcihtaW4pLFxuICAgICAgICAgIG1heENhcmQ6IE51bWJlcihtYXgpLFxuICAgICAgICAgIGRvbWFpblR5cGVzOiBkb21haW5UeXBlcyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAuLi5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgZG9tYWluQ29tcHV0YXRpb246ICdOb25lJyBzYXRpc2ZpZXMgRG9tYWluQ29tcHV0YXRpb24sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSBzYXRpc2ZpZXMgUG9ydERvbWFpbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubGluZUl0ZW0sXG4gICAgICBsaW5lSXRlbXM6IGxpbmVJdGVtLmxpbmVJdGVtcz8ubWFwKGkgPT4gdGhpcy51cGRhdGVQb3J0RG9tYWlucyhpLCBydW50aW1lTW9kZWwpKSxcbiAgICAgIHBvcnREb21haW5zLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFVTCxtQkFBbUIsR0FDcEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSXJDLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsV0FBNEI7UUFBNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRi9CLGdCQUFXLEdBQUcsZ0JBQWdCLENBQUM7SUFFRyxDQUFDO0lBRTdDLGlCQUFpQixDQUFDLEVBQ3ZCLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osY0FBYyxHQUtmO1FBQ0MsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQixHQUFHLENBQWlCO1lBQ25CLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNELElBQUksRUFBRSxvQkFBb0I7WUFDMUIsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNqQyxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNuQixJQUFJLFlBQVksRUFBRTtnQkFDaEIsT0FBTztvQkFDTCxHQUFHLGNBQWM7b0JBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVB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dUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCYXNlSHR0cFNlcnZpY2UsXG4gIENvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICBDb25maWd1cmVQcmljZSxcbiAgRG9tYWluQ29tcHV0YXRpb24sXG4gIExpbmVJdGVtLFxuICBQb3J0RG9tYWluLFxuICBSdW50aW1lRGF0YSxcbiAgUnVudGltZURhdGFEVE8sXG4gIFJ1bnRpbWVNb2RlbCxcbiAgdWlEZWZpbml0aW9uRnJvbURUTyxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBTRVJWSUNFX1VSTCA9ICcvY29uZmlndXJhdGlvbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBjb25maWd1cmVMaW5lSXRlbSh7XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3QsXG4gICAgcnVudGltZU1vZGVsLFxuICAgIHByaWNpbmdFbmFibGVkLFxuICB9OiB7XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3Q6IENvbmZpZ3VyYXRpb25SZXF1ZXN0O1xuICAgIHJ1bnRpbWVNb2RlbD86IFJ1bnRpbWVNb2RlbDtcbiAgICBwcmljaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gIH0pOiBPYnNlcnZhYmxlPENvbmZpZ3VyZVByaWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8Q29uZmlndXJlUHJpY2U+KHtcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0ke3ByaWNpbmdFbmFibGVkID8gJy9wcmljZScgOiAnJ31gLFxuICAgICAgICBib2R5OiBjb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICAgICAgZXJyb3JIYW5kbGVyOiBlID0+IHRocm93RXJyb3IoZSksXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChjb25maWd1cmVQcmljZSA9PiB7XG4gICAgICAgICAgaWYgKHJ1bnRpbWVNb2RlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uY29uZmlndXJlUHJpY2UsXG4gICAgICAgICAgICAgIGxpbmVJdGVtOiB0aGlzLnVwZGF0ZURvbWFpbnMoY29uZmlndXJlUHJpY2UubGluZUl0ZW0sIHJ1bnRpbWVNb2RlbCksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gY29uZmlndXJlUHJpY2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3VzdG9tQ29uZmlndXJlUHJpY2Uoe1xuICAgIHVybCxcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICBydW50aW1lTW9kZWwsXG4gIH06IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdDogQ29uZmlndXJhdGlvblJlcXVlc3Q7XG4gICAgcnVudGltZU1vZGVsPzogUnVudGltZU1vZGVsO1xuICB9KTogT2JzZXJ2YWJsZTxDb25maWd1cmVQcmljZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPENvbmZpZ3VyZVByaWNlPih7XG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICB1cmwsXG4gICAgICAgIGJvZHk6IGNvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICAgICAgICBlcnJvckhhbmRsZXI6IGUgPT4gdGhyb3dFcnJvcihlKSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGNvbmZpZ3VyZVByaWNlID0+IHtcbiAgICAgICAgICBpZiAocnVudGltZU1vZGVsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5jb25maWd1cmVQcmljZSxcbiAgICAgICAgICAgICAgbGluZUl0ZW06IHRoaXMudXBkYXRlRG9tYWlucyhjb25maWd1cmVQcmljZS5saW5lSXRlbSwgcnVudGltZU1vZGVsKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb25maWd1cmVQcmljZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lRGF0YUJ5UHJvZHVjdElkKHByb2R1Y3RJZDogc3RyaW5nLCBvZmZlcmluZ0lkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSdW50aW1lRGF0YT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPFJ1bnRpbWVEYXRhRFRPPih7XG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHtwcm9kdWN0SWR9L21vZGVsYCArICgob2ZmZXJpbmdJZCAmJiBgLyR7b2ZmZXJpbmdJZH1gKSB8fCAnJyksXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcDxSdW50aW1lRGF0YURUTywgUnVudGltZURhdGE+KHJ1bnRpbWVEYXRhID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucnVudGltZURhdGEsXG4gICAgICAgICAgICB1aURlZmluaXRpb25zOiBydW50aW1lRGF0YS51aURlZmluaXRpb25zLm1hcChkdG8gPT4gdWlEZWZpbml0aW9uRnJvbURUTyhkdG8pKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZURhdGFCeU1vZGVsSWQobW9kZWxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSdW50aW1lRGF0YT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L21vZGVsLXRlc3RgLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEb21haW5zKGxpbmVJdGVtOiBMaW5lSXRlbSwgcnVudGltZU1vZGVsOiBSdW50aW1lTW9kZWwpOiBMaW5lSXRlbSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gcnVudGltZU1vZGVsLmNvbXBvbmVudHMuZ2V0KGxpbmVJdGVtLnR5cGUpO1xuICAgIGNvbnN0IHBvcnREb21haW5zID0geyAuLi5saW5lSXRlbS5wb3J0RG9tYWlucyB9O1xuXG4gICAgLy8gbG9vcCB0aHJvdWdoIHBvcnRzIHRvIGxvb2sgZm9yICdOb25lJyB0eXBlIGRvbWFpbiBjb21wdXRhdGlvbnNcbiAgICBmb3IgKGNvbnN0IHBvcnQgb2YgY29tcG9uZW50Py5wb3J0cyA/PyBbXSkge1xuICAgICAgY29uc3QgeyBuYW1lOiBwb3J0TmFtZSwgdHlwZTogdHlwZU5hbWUsIG1pbiwgbWF4LCBkb21haW5UeXBlcywgcHJvcGVydGllcyB9ID0gcG9ydDtcbiAgICAgIGNvbnN0IHBvcnREb21haW4gPSBwb3J0RG9tYWluc1twb3J0TmFtZV07XG5cbiAgICAgIGlmIChwb3J0RG9tYWluKSB7XG4gICAgICAgIC8vIHRoZXJlJ3MgYSAnTm9uZScgdHlwZSBkb21haW4gY29tcHV0YXRpb25cbiAgICAgICAgaWYgKHBvcnREb21haW4ucHJvcGVydGllcz8uWydkb21haW5Db21wdXRhdGlvbiddID09PSAoJ05vbmUnIHNhdGlzZmllcyBEb21haW5Db21wdXRhdGlvbikpIHtcbiAgICAgICAgICBwb3J0RG9tYWluLmRvbWFpblR5cGVzID0gZG9tYWluVHlwZXM7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHRoZXJlJ3Mgbm8gcG9ydCBkb21haW4gc28gY29uc2lkZXIgdGhhdCBhcyAnTm9uZScgdHlwZSBkb21haW4gY29tcHV0YXRpb25cbiAgICAgICAgcG9ydERvbWFpbnNbcG9ydE5hbWVdID0ge1xuICAgICAgICAgIG5hbWU6IHBvcnROYW1lLFxuICAgICAgICAgIHR5cGU6IHR5cGVOYW1lLFxuICAgICAgICAgIG1pbkNhcmQ6IE51bWJlcihtaW4pLFxuICAgICAgICAgIG1heENhcmQ6IE51bWJlcihtYXgpLFxuICAgICAgICAgIGRvbWFpblR5cGVzOiBkb21haW5UeXBlcyxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAuLi5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgZG9tYWluQ29tcHV0YXRpb246ICdOb25lJyBzYXRpc2ZpZXMgRG9tYWluQ29tcHV0YXRpb24sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSBzYXRpc2ZpZXMgUG9ydERvbWFpbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0eXBlID0gcnVudGltZU1vZGVsLnR5cGVzLmZpbmQoKHsgbmFtZSB9KSA9PiB7XG4gICAgICByZXR1cm4gbGluZUl0ZW0udHlwZSA9PT0gbmFtZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGF0dHJpYnV0ZURvbWFpbnMgPSBsaW5lSXRlbS5hdHRyaWJ1dGVEb21haW5zO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICBjb25zdCBpbml0aWFsRG9tYWlucyA9IGxpbmVJdGVtLmF0dHJpYnV0ZURvbWFpbnM7XG4gICAgICB0eXBlLmF0dHJpYnV0ZXMuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGluaXRpYWxEb21haW5zLCBhdHRyaWJ1dGUubmFtZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXR0cmlidXRlLmF0dHJpYnV0ZURvbWFpbikge1xuICAgICAgICAgIGF0dHJpYnV0ZURvbWFpbnNbYXR0cmlidXRlLm5hbWVdID0gYXR0cmlidXRlLmF0dHJpYnV0ZURvbWFpbjtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmxpbmVJdGVtLFxuICAgICAgbGluZUl0ZW1zOiBsaW5lSXRlbS5saW5lSXRlbXM/Lm1hcChpID0+IHRoaXMudXBkYXRlRG9tYWlucyhpLCBydW50aW1lTW9kZWwpKSxcbiAgICAgIGF0dHJpYnV0ZURvbWFpbnMsXG4gICAgICBwb3J0RG9tYWlucyxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -368,7 +368,7 @@ class ConfigurationApiService {
368
368
  })
369
369
  .pipe(map(configurePrice => {
370
370
  if (runtimeModel) {
371
- return Object.assign(Object.assign({}, configurePrice), { lineItem: this.updatePortDomains(configurePrice.lineItem, runtimeModel) });
371
+ return Object.assign(Object.assign({}, configurePrice), { lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel) });
372
372
  }
373
373
  else {
374
374
  return configurePrice;
@@ -385,7 +385,7 @@ class ConfigurationApiService {
385
385
  })
386
386
  .pipe(map(configurePrice => {
387
387
  if (runtimeModel) {
388
- return Object.assign(Object.assign({}, configurePrice), { lineItem: this.updatePortDomains(configurePrice.lineItem, runtimeModel) });
388
+ return Object.assign(Object.assign({}, configurePrice), { lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel) });
389
389
  }
390
390
  else {
391
391
  return configurePrice;
@@ -408,12 +408,12 @@ class ConfigurationApiService {
408
408
  url: `${this.SERVICE_URL}/${modelId}/model-test`,
409
409
  });
410
410
  }
411
- updatePortDomains(lineItem, runtimeModel) {
411
+ updateDomains(lineItem, runtimeModel) {
412
412
  var _a, _b, _c;
413
- const type = runtimeModel.components.get(lineItem.type);
413
+ const component = runtimeModel.components.get(lineItem.type);
414
414
  const portDomains = Object.assign({}, lineItem.portDomains);
415
415
  // loop through ports to look for 'None' type domain computations
416
- for (const port of (_a = type === null || type === void 0 ? void 0 : type.ports) !== null && _a !== void 0 ? _a : []) {
416
+ for (const port of (_a = component === null || component === void 0 ? void 0 : component.ports) !== null && _a !== void 0 ? _a : []) {
417
417
  const { name: portName, type: typeName, min, max, domainTypes, properties } = port;
418
418
  const portDomain = portDomains[portName];
419
419
  if (portDomain) {
@@ -434,7 +434,23 @@ class ConfigurationApiService {
434
434
  };
435
435
  }
436
436
  }
437
- return Object.assign(Object.assign({}, lineItem), { lineItems: (_c = lineItem.lineItems) === null || _c === void 0 ? void 0 : _c.map(i => this.updatePortDomains(i, runtimeModel)), portDomains });
437
+ const type = runtimeModel.types.find(({ name }) => {
438
+ return lineItem.type === name;
439
+ });
440
+ const attributeDomains = lineItem.attributeDomains;
441
+ if (type) {
442
+ const initialDomains = lineItem.attributeDomains;
443
+ type.attributes.forEach(attribute => {
444
+ if (Object.prototype.hasOwnProperty.call(initialDomains, attribute.name)) {
445
+ return;
446
+ }
447
+ if (attribute.attributeDomain) {
448
+ attributeDomains[attribute.name] = attribute.attributeDomain;
449
+ }
450
+ });
451
+ }
452
+ return Object.assign(Object.assign({}, lineItem), { lineItems: (_c = lineItem.lineItems) === null || _c === void 0 ? void 0 : _c.map(i => this.updateDomains(i, runtimeModel)), attributeDomains,
453
+ portDomains });
438
454
  }
439
455
  }
440
456
  ConfigurationApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });