diff options
author | aribeiro <anderson.ribeiro@est.tech> | 2020-11-19 13:28:43 +0000 |
---|---|---|
committer | Christophe Closset <christophe.closset@intl.att.com> | 2021-01-29 08:22:04 +0000 |
commit | 5c1f5756bcb5856e2d8b35e3c6ac206f891f8695 (patch) | |
tree | 29a7c4424b3ced8800e5bcacc629c8fff8dd8753 /catalog-ui/src/app/models | |
parent | 3c957597725f306b4ca06cebfa54fbf0f2622938 (diff) |
Add support for updating interface operations
Allows to update interface operations on a component instance.
Issue-ID: SDC-3446
Signed-off-by: aribeiro <anderson.ribeiro@est.tech>
Signed-off-by: andre.schmid <andre.schmid@est.tech>
Change-Id: I6a2c44997c04d9d9ea298e3d0bc971da7b137799
Diffstat (limited to 'catalog-ui/src/app/models')
-rw-r--r-- | catalog-ui/src/app/models/componentsInstances/componentInstance.ts | 2 | ||||
-rw-r--r-- | catalog-ui/src/app/models/inputs.ts | 2 | ||||
-rw-r--r-- | catalog-ui/src/app/models/interfaceOperation.ts | 109 |
3 files changed, 113 insertions, 0 deletions
diff --git a/catalog-ui/src/app/models/componentsInstances/componentInstance.ts b/catalog-ui/src/app/models/componentsInstances/componentInstance.ts index 2e0c1a59c8..a55cd4f0d1 100644 --- a/catalog-ui/src/app/models/componentsInstances/componentInstance.ts +++ b/catalog-ui/src/app/models/componentsInstances/componentInstance.ts @@ -103,6 +103,7 @@ export class ComponentInstance implements IComponentInstance{ public invariantName:string; public originArchived:boolean; public directives: string[]; + public interfaces:any; constructor(componentInstance?:ComponentInstance) { @@ -135,6 +136,7 @@ export class ComponentInstance implements IComponentInstance{ this.sourceModelUuid = componentInstance.sourceModelUuid; this.originArchived = componentInstance.originArchived; this.directives = componentInstance.directives; + this.interfaces = componentInstance.interfaces; } } diff --git a/catalog-ui/src/app/models/inputs.ts b/catalog-ui/src/app/models/inputs.ts index 49fd16dfaf..562db98168 100644 --- a/catalog-ui/src/app/models/inputs.ts +++ b/catalog-ui/src/app/models/inputs.ts @@ -65,6 +65,7 @@ export class InputModel implements IInputModel { schema:SchemaPropertyGroupModel; defaultValue:string; value:string; + toscaDefaultValue?: string; //costom properties isNew:boolean; @@ -94,6 +95,7 @@ export class InputModel implements IInputModel { this.filterTerm = this.name + ' ' + this.description + ' ' + this.type + ' ' + this.componentInstanceName; this.inputs = input.inputs; this.properties = input.properties; + this.toscaDefaultValue = input.toscaDefaultValue; } } diff --git a/catalog-ui/src/app/models/interfaceOperation.ts b/catalog-ui/src/app/models/interfaceOperation.ts new file mode 100644 index 0000000000..5c69688745 --- /dev/null +++ b/catalog-ui/src/app/models/interfaceOperation.ts @@ -0,0 +1,109 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2021 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +'use strict'; + +export class InputOperationParameter { + name: string; + type: string; + inputId: string; + toscaDefaultValue?: string; + + constructor(param?: any) { + if (param) { + this.name = param.name; + this.type = param.type; + this.inputId = param.inputId; + this.toscaDefaultValue = param.toscaDefaultValue; + } + console.info("InputOperationParameter Constructor: ", param) + } +} + +export interface IOperationParamsList { + listToscaDataDefinition: Array<InputOperationParameter>; +} + +export class BEInterfaceOperationModel { + name: string; + description: string; + uniqueId: string; + inputs: IOperationParamsList; + implementation?: InterfaceOperationImplementation; + + constructor(operation?: any) { + if (operation) { + this.name = operation.name; + this.description = operation.description; + this.uniqueId = operation.uniqueId; + this.inputs = operation.inputs; + this.implementation = operation.implementation; + } + } +} + +export class InterfaceOperationModel extends BEInterfaceOperationModel { + interfaceType: string; + interfaceId: string; + operationType: string; + description: string; + uniqueId: string; + implementation?: InterfaceOperationImplementation; + inputParams: IOperationParamsList; + + constructor(operation?: any) { + super(operation); + if (operation) { + this.interfaceId = operation.interfaceId; + this.interfaceType = operation.interfaceType; + this.description = operation.description; + this.operationType = operation.operationType; + this.uniqueId = operation.uniqueId; + this.inputParams = operation.inputParams; + } + } + + public displayType(): string { + return displayType(this.interfaceType); + } +} + +export class InterfaceOperationImplementation { + artifactName: string; +} + +export class ComponentInstanceInterfaceModel { + type: string; + uniqueId: string; + operations: Array<InterfaceOperationModel>; + + constructor(interfaceOperation?: any) { + if (interfaceOperation) { + this.type = interfaceOperation.type; + this.uniqueId = interfaceOperation.uniqueId; + this.operations = interfaceOperation.operations; + } + } + + public displayType(): string { + return displayType(this.type); + } +} + +const displayType = (type:string) => type && type.substr(type.lastIndexOf('.') + 1); |