Interface Operation tab and screens
Change-Id: If03234c783d6ce16fdd0945987ada83b6285f97f
Issue-ID: SDC-1060
Signed-off-by: Arielk <Ariel.Kenan@amdocs.com>
diff --git a/catalog-ui/src/app/models/components/component.ts b/catalog-ui/src/app/models/components/component.ts
index b7f5722..adcf498 100644
--- a/catalog-ui/src/app/models/components/component.ts
+++ b/catalog-ui/src/app/models/components/component.ts
@@ -23,7 +23,7 @@
import * as _ from "lodash";
import {AsdcComment, ArtifactModel, ArtifactGroupModel, IFileDownload, PropertyModel, PropertiesGroup, AttributeModel, AttributesGroup, ComponentInstance,
InputModel, DisplayModule, Module, IValidate, RelationshipModel, IMainCategory, RequirementsGroup, CapabilitiesGroup, AdditionalInformationModel,
- Resource, IAppMenu, Service} from "../../models";
+ Resource, IAppMenu, OperationModel, Service} from "../../models";
import {IComponentService} from "../../services/components/component-service";
import {CommonUtils} from "../../utils/common-utils";
@@ -134,6 +134,7 @@
public deploymentArtifacts:ArtifactGroupModel;
public artifacts:ArtifactGroupModel;
public toscaArtifacts:ArtifactGroupModel;
+ public interfaceOperations:Array<OperationModel>;
public distributionStatus:string;
public categories:Array<IMainCategory>;
public categoryNormalizedName: string;
@@ -178,6 +179,7 @@
this.additionalInformation = component.additionalInformation;
this.artifacts = new ArtifactGroupModel(component.artifacts);
this.toscaArtifacts = new ArtifactGroupModel(component.toscaArtifacts);
+ this.interfaceOperations = component.interfaceOperations;
this.contactId = component.contactId;
this.categories = component.categories;
this.categoryNormalizedName = component.categoryNormalizedName;
diff --git a/catalog-ui/src/app/models/operation.ts b/catalog-ui/src/app/models/operation.ts
new file mode 100644
index 0000000..55fcd82
--- /dev/null
+++ b/catalog-ui/src/app/models/operation.ts
@@ -0,0 +1,51 @@
+'use strict';
+
+export class OperationParam {
+ paramName: string = '';
+ paramId: string = '';
+
+ constructor(param?: OperationParam) {
+ if (param) {
+ this.paramId = param.paramId;
+ this.paramName = param.paramName;
+ }
+ }
+}
+
+export interface IOperationParamsList {
+ listToscaDataDefinition: Array<OperationParam>;
+}
+
+export class OperationModel {
+ description: string;
+ inputParams: IOperationParamsList;
+ operationType: string;
+ outputParams: IOperationParamsList;
+ uniqueId: string;
+
+ constructor(operation?: any) {
+ if (operation) {
+ this.description = operation.description;
+ this.inputParams = operation.inputParams;
+ this.operationType = operation.operationType;
+ this.outputParams = operation.outputParams;
+ this.uniqueId = operation.uniqueId;
+ }
+ }
+
+ public createInputParamsList(inputParams: Array<OperationParam>): void {
+ this.inputParams = {
+ listToscaDataDefinition: inputParams
+ };
+ }
+
+ public createOutputParamsList(outputParams: Array<OperationParam>): void {
+ this.outputParams = {
+ listToscaDataDefinition: outputParams
+ };
+ }
+}
+
+export interface CreateOperationResponse extends OperationModel {
+ artifactUUID: string;
+}