diff options
Diffstat (limited to 'catalog-ui/src/app/services/components/component-service.ts')
-rw-r--r-- | catalog-ui/src/app/services/components/component-service.ts | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/catalog-ui/src/app/services/components/component-service.ts b/catalog-ui/src/app/services/components/component-service.ts index 1b2b9f2fa1..74166a0c9f 100644 --- a/catalog-ui/src/app/services/components/component-service.ts +++ b/catalog-ui/src/app/services/components/component-service.ts @@ -18,6 +18,7 @@ * ============LICENSE_END========================================================= */ 'use strict'; +import * as _ from "lodash"; import {ArtifactModel, IFileDownload, InstancesInputsPropertiesMap, InputModel, IValidate, RelationshipModel, PropertyModel, Component, ComponentInstance, AttributeModel, IAppConfigurtaion, Resource, Module, DisplayModule, ArtifactGroupModel, InputsAndProperties} from "app/models"; import {ComponentInstanceFactory, CommonUtils} from "app/utils"; @@ -40,6 +41,7 @@ export interface IComponentService { updateAttribute(componentId:string, attribute:AttributeModel):ng.IPromise<AttributeModel>; deleteProperty(componentId:string, propertyId:string):ng.IPromise<PropertyModel>; deleteAttribute(componentId:string, attributeId:string):ng.IPromise<AttributeModel>; + checkResourceInstanceVersionChange(componentId:string, componentInstanceId:string, componentUid:string):ng.IPromise<any>; changeResourceInstanceVersion(componentId:string, componentInstanceId:string, componentUid:string):ng.IPromise<ComponentInstance>; updateInstanceArtifact(componentId:string, instanceId:string, artifact:ArtifactModel):ng.IPromise<ArtifactModel>; addInstanceArtifact(componentId:string, instanceId:string, artifact:ArtifactModel):ng.IPromise<ArtifactModel>; @@ -55,7 +57,7 @@ export interface IComponentService { deleteRelation(componentId:string, link:RelationshipModel):ng.IPromise<RelationshipModel>; fetchRelation(componentId:string, linkId:string):ng.IPromise<RelationshipModel>; getRequirementsCapabilities(componentId:string):ng.IPromise<any>; - updateInstanceProperty(componentId:string, property:PropertyModel):ng.IPromise<PropertyModel>; + updateInstanceProperties(componentId:string, componentInstanceId:string, properties:PropertyModel[]):ng.IPromise<PropertyModel[]>; updateInstanceAttribute(componentId:string, attribute:AttributeModel):ng.IPromise<AttributeModel>; getComponentInstancesFilteredByInputsAndProperties(componentId:string, searchText:string):ng.IPromise<Array<ComponentInstance>> getComponentInstanceInputs(componentId:string, instanceId:string, originComponentUid):ng.IPromise<Array<InputModel>>; @@ -422,6 +424,16 @@ export class ComponentService implements IComponentService { return deferred.promise; }; + public checkResourceInstanceVersionChange = (componentId:string, componentInstanceId:string, componentUid:string):ng.IPromise<ComponentInstance> => { + let deferred = this.$q.defer(); + this.restangular.one(componentId).one("resourceInstance").one(componentInstanceId).one(componentUid).one("checkForwardingPathOnVersionChange").get().then((response:any) => { + deferred.resolve(response); + }, err => { + deferred.reject(err); + }); + return deferred.promise; + }; + public changeResourceInstanceVersion = (componentId:string, componentInstanceId:string, componentUid:string):ng.IPromise<ComponentInstance> => { let deferred = this.$q.defer(); this.restangular.one(componentId).one("resourceInstance").one(componentInstanceId).one("changeVersion").customPOST({'componentUid': componentUid}).then((response:any) => { @@ -498,14 +510,16 @@ export class ComponentService implements IComponentService { return deferred.promise; }; - public updateInstanceProperty = (componentId:string, property:PropertyModel):ng.IPromise<PropertyModel> => { - let deferred = this.$q.defer(); - let instanceId = property.resourceInstanceUniqueId; - this.restangular.one(componentId).one("resourceInstance").one(instanceId).one("property").customPOST(JSON.stringify(property)).then((response:any) => { - let newProperty = new PropertyModel(response); - newProperty.readonly = true; - newProperty.resourceInstanceUniqueId = instanceId; - deferred.resolve(newProperty); + public updateInstanceProperties = (componentId:string, componentInstanceId:string, properties:PropertyModel[]):ng.IPromise<PropertyModel[]> => { + let deferred = this.$q.defer<PropertyModel[]>(); + this.restangular.one(componentId).one("resourceInstance").one(componentInstanceId).one("properties").customPOST(JSON.stringify(properties)).then((response:any) => { + const newProperties = response.map((res) => { + const newProperty = new PropertyModel(res); + newProperty.readonly = true; + newProperty.resourceInstanceUniqueId = componentInstanceId; + return newProperty; + }); + deferred.resolve(newProperties); }, (err)=> { deferred.reject(err); }); |