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/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;
+}