diff options
Diffstat (limited to 'catalog-ui/src/app/ng2/services')
-rw-r--r-- | catalog-ui/src/app/ng2/services/component-services/component.service.ts | 65 | ||||
-rw-r--r-- | catalog-ui/src/app/ng2/services/tosca-types.service.ts | 55 |
2 files changed, 119 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 41bfc4e088..46dfe01992 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 @@ -25,7 +25,8 @@ import 'rxjs/add/operator/map'; import 'rxjs/add/operator/toPromise'; import {Response, URLSearchParams} from '@angular/http'; import { Component, ComponentInstance, InputBEModel, InstancePropertiesAPIMap, FilterPropertiesAssignmentData, - PropertyBEModel, OperationModel, BEOperationModel} from "app/models"; + PropertyBEModel, OperationModel, BEOperationModel, Capability, Requirement +} from "app/models"; import {downgradeInjectable} from '@angular/upgrade/static'; import {COMPONENT_FIELDS, CommonUtils, SERVICE_FIELDS} from "app/utils"; import {ComponentGenericResponse} from "../responses/component-generic-response"; @@ -207,6 +208,68 @@ export class ComponentServiceNg2 { return this.getComponentDataByFieldsName(componentType, componentId, [COMPONENT_FIELDS.COMPONENT_REQUIREMENTS, COMPONENT_FIELDS.COMPONENT_CAPABILITIES]); } + createCapability(component: Component, capabilityData: Capability): Observable<Array<Capability>> { + let capBEObj = { + 'capabilities': { + [capabilityData.type]: [capabilityData] + } + }; + return this.http.post(this.baseUrl + component.getTypeUrl() + component.uniqueId + '/capabilities', capBEObj) + .map((res: Response) => { + return res.json(); + }); + } + + updateCapability(component: Component, capabilityData: Capability): Observable<Array<Capability>> { + let capBEObj = { + 'capabilities': { + [capabilityData.type]: [capabilityData] + } + }; + return this.http.put(this.baseUrl + component.getTypeUrl() + component.uniqueId + '/capabilities', capBEObj) + .map((res: Response) => { + return res.json(); + }); + } + + deleteCapability(component: Component, capId: string): Observable<Capability> { + return this.http.delete(this.baseUrl + component.getTypeUrl() + component.uniqueId + '/capabilities/' + capId) + .map((res: Response) => { + return res.json(); + }); + } + + createRequirement(component: Component, requirementData: Requirement): Observable<any> { + let reqBEObj = { + 'requirements': { + [requirementData.capability]: [requirementData] + } + }; + return this.http.post(this.baseUrl + component.getTypeUrl() + component.uniqueId + '/requirements', reqBEObj) + .map((res: Response) => { + return res.json(); + }); + } + + updateRequirement(component: Component, requirementData: Requirement): Observable<any> { + let reqBEObj = { + 'requirements': { + [requirementData.capability]: [requirementData] + } + }; + return this.http.put(this.baseUrl + component.getTypeUrl() + component.uniqueId + '/requirements', reqBEObj) + .map((res: Response) => { + return res.json(); + }); + } + + deleteRequirement(component: Component, reqId: string): Observable<Requirement> { + return this.http.delete(this.baseUrl + component.getTypeUrl() + component.uniqueId + '/requirements/' + reqId) + .map((res: Response) => { + return res.json(); + }); + } + getDeploymentGraphData(component:Component):Observable<ComponentGenericResponse> { return this.getComponentDataByFieldsName(component.componentType, component.uniqueId, [COMPONENT_FIELDS.COMPONENT_INSTANCES_RELATION, COMPONENT_FIELDS.COMPONENT_INSTANCES, COMPONENT_FIELDS.COMPONENT_GROUPS]); } diff --git a/catalog-ui/src/app/ng2/services/tosca-types.service.ts b/catalog-ui/src/app/ng2/services/tosca-types.service.ts new file mode 100644 index 0000000000..66826c0fef --- /dev/null +++ b/catalog-ui/src/app/ng2/services/tosca-types.service.ts @@ -0,0 +1,55 @@ +/*! + * Copyright © 2016-2018 European Support Limited + * + * 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. + */ + +import {Injectable, Inject} from '@angular/core'; +import {Observable} from 'rxjs/Observable'; +import {HttpService} from './http.service'; +import {SdcConfigToken, ISdcConfig} from "../config/sdc-config.config"; +import {CapabilityTypesMap, NodeTypesMap, RelationshipTypesMap} from "app/models"; +import {Response} from '@angular/http'; + +declare var angular: angular.IAngularStatic; + +@Injectable() +export class ToscaTypesServiceNg2 { + + protected baseUrl; + + constructor(protected http: HttpService, @Inject(SdcConfigToken) sdcConfig: ISdcConfig) { + this.baseUrl = sdcConfig.api.root + sdcConfig.api.component_api_root; + } + + fetchRelationshipTypes(): Observable<RelationshipTypesMap> { + return this.http.get(this.baseUrl + 'relationshipTypes') + .map((res: Response) => { + return res.json(); + }); + } + + fetchNodeTypes(): Observable<NodeTypesMap> { + return this.http.get(this.baseUrl + 'nodeTypes') + .map((res: Response) => { + return res.json(); + }); + } + + fetchCapabilityTypes(): Observable<CapabilityTypesMap> { + return this.http.get(this.baseUrl + 'capabilityTypes') + .map((res: Response) => { + return res.json(); + }); + } +} |