diff options
author | vasraz <vasyl.razinkov@est.tech> | 2022-03-24 18:31:14 +0000 |
---|---|---|
committer | Vasyl Razinkov <vasyl.razinkov@est.tech> | 2022-04-04 16:56:40 +0000 |
commit | 4aff8f5eafb6fbd6cc2c764fa1a5a676fa05c89c (patch) | |
tree | 4fbb91db254b1e4791830f5f91673e58376b293e /catalog-ui/src/app/ng2/services | |
parent | f6b81e6da9b95ec5ef2c8b2b7b50fb8de9f3dd28 (diff) |
Implement adding Interface to VFC
Change-Id: I7cd8b82c306294d897d37d486aa3eeff7ca4206d
Signed-off-by: Vasyl Razinkov <vasyl.razinkov@est.tech>
Issue-ID: SDC-3893
Signed-off-by: andre.schmid <andre.schmid@est.tech>
Diffstat (limited to 'catalog-ui/src/app/ng2/services')
-rw-r--r-- | catalog-ui/src/app/ng2/services/component-services/component.service.ts | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/catalog-ui/src/app/ng2/services/component-services/component.service.ts b/catalog-ui/src/app/ng2/services/component-services/component.service.ts index 8d91eede84..3889b73f49 100644 --- a/catalog-ui/src/app/ng2/services/component-services/component.service.ts +++ b/catalog-ui/src/app/ng2/services/component-services/component.service.ts @@ -238,12 +238,44 @@ export class ComponentServiceNg2 { }); } + createComponentInterfaceOperation(componentMetaDataId: string, + componentMetaDataType: string, + operation: InterfaceOperationModel): Observable<InterfaceOperationModel> { + const operationList = { + interfaces: { + [operation.interfaceType]: { + type: operation.interfaceType, + operations: { + [operation.name]: new BEInterfaceOperationModel(operation) + } + } + } + }; + console.log(operationList); + console.log(this.baseUrl + componentMetaDataType + componentMetaDataId + '/resource/interfaceOperation') + return this.http.post<any>(this.baseUrl + componentMetaDataType + componentMetaDataId + '/resource/interfaceOperation', operationList) + .map((res: any) => { + const interf: InterfaceModel = _.find(res.interfaces, interf => interf.type === operation.interfaceType); + const newOperation: OperationModel = _.find(interf.operations, op => op.name === operation.name); + + return new InterfaceOperationModel({ + ...newOperation, + interfaceType: interf.type, + interfaceId: interf.uniqueId, + }); + }); + } + deleteInterfaceOperation(component: Component, operation: OperationModel): Observable<OperationModel> { return this.http.delete<OperationModel>(this.baseUrl + component.getTypeUrl() + component.uniqueId + '/interfaces/' + operation.interfaceId + '/operations/' + operation.uniqueId); } getInterfaceTypes(component: Component): Observable<{ [id: string]: Array<string> }> { - return this.http.get<any>(this.baseUrl + 'interfaceLifecycleTypes' + ((component && component.model) ? '?model=' + component.model : '')) + return this.getInterfaceTypesByModel(component && component.model); + } + + getInterfaceTypesByModel(model: string): Observable<{ [id: string]: Array<string> }> { + return this.http.get<any>(this.baseUrl + 'interfaceLifecycleTypes' + ((model) ? '?model=' + model : '')) .map((res: any) => { const interfaceMap = {}; if (!res) { |