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/interfaceOperation.ts | |
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/interfaceOperation.ts')
-rw-r--r-- | catalog-ui/src/app/models/interfaceOperation.ts | 109 |
1 files changed, 109 insertions, 0 deletions
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); |