From eaaf8019188ad99ad2b76e43519c7dae9f4ac592 Mon Sep 17 00:00:00 2001 From: Arielk Date: Tue, 31 Jul 2018 12:59:36 +0300 Subject: Enhance operations to associate workflows Change-Id: Iacf74ee333a3bc2e76e764c28ae660322bc9e6e4 Issue-ID: SDC-1535 Signed-off-by: Arielk --- .../src/app/ng2/services/workflow.service.ts | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 catalog-ui/src/app/ng2/services/workflow.service.ts (limited to 'catalog-ui/src/app/ng2/services/workflow.service.ts') diff --git a/catalog-ui/src/app/ng2/services/workflow.service.ts b/catalog-ui/src/app/ng2/services/workflow.service.ts new file mode 100644 index 0000000000..7e596e1eda --- /dev/null +++ b/catalog-ui/src/app/ng2/services/workflow.service.ts @@ -0,0 +1,52 @@ +import { Injectable, Inject } from "@angular/core"; +import { Response } from "@angular/http"; +import { Observable } from "rxjs/Observable"; +import { HttpService } from "./http.service"; +import { SdcConfigToken, ISdcConfig } from "../config/sdc-config.config"; + +@Injectable() +export class WorkflowServiceNg2 { + + protected baseUrl; + protected catalogBaseUrl; + + VERSION_STATE_CERTIFIED = 'CERTIFIED'; + + constructor(private http: HttpService, @Inject(SdcConfigToken) sdcConfig:ISdcConfig) { + this.baseUrl = sdcConfig.api.workflow_root; + this.catalogBaseUrl = sdcConfig.api.POST_workflow_artifact; + } + + public getWorkflows(filterCertified: boolean = true): Observable { + return this.http.get(this.baseUrl + '/workflows' + (filterCertified ? '?versionState=' + this.VERSION_STATE_CERTIFIED : '')) + .map((res:Response) => { + return res.json().results; + }); + } + + public getWorkflowVersions(workflowId: string, filterCertified: boolean = true): Observable { + return this.http.get(this.baseUrl + '/workflows/' + workflowId + '/versions' + (filterCertified ? '?state=' + this.VERSION_STATE_CERTIFIED : '')) + .map((res:Response) => { + return res.json().results; + }); + } + + public updateWorkflowVersion(workflowId: string, versionId: string, payload: any): Observable { + return this.http.put(this.baseUrl + '/workflows/' + workflowId + '/versions/' + versionId, payload) + .map((res:Response) => { + return res; + }); + } + + public associateWorkflowArtifact(resourceUuid, operationId, workflowId, workflowVersionId, artifactUuid): Observable { + return this.http.post(this.baseUrl + '/workflows/' + workflowId + '/versions/' + workflowVersionId + '/artifact-deliveries', + { + endpoint: this.catalogBaseUrl + '/resources/' + resourceUuid + '/interfaces/' + operationId + '/artifacts/' + artifactUuid, + method: 'POST' + }) + .map((res:Response) => { + return res.json(); + }); + } + +} -- cgit 1.2.3-korg