summaryrefslogtreecommitdiffstats
path: root/cds-ui
diff options
context:
space:
mode:
Diffstat (limited to 'cds-ui')
-rw-r--r--cds-ui/client/angular.json11
-rw-r--r--cds-ui/client/package.json12
-rw-r--r--cds-ui/client/src/app/app-routing.module.ts4
-rw-r--r--cds-ui/client/src/app/app.module.ts4
-rw-r--r--cds-ui/client/src/app/common/shared/components/home/home.component.html1
-rw-r--r--cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer-routing.module.ts38
-rw-r--r--cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.html21
-rw-r--r--cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.scss20
-rw-r--r--cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.spec.ts46
-rw-r--r--cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.ts71
-rw-r--r--cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.module.ts34
-rw-r--r--cds-ui/server/src/clients/blueprint-management-service-grpc-client.ts37
-rw-r--r--cds-ui/server/src/config/app-config.ts4
-rw-r--r--cds-ui/server/src/controllers/blueprint-rest.controller.ts88
14 files changed, 360 insertions, 31 deletions
diff --git a/cds-ui/client/angular.json b/cds-ui/client/angular.json
index c5800f050..2bf255ddf 100644
--- a/cds-ui/client/angular.json
+++ b/cds-ui/client/angular.json
@@ -31,7 +31,10 @@
"./node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
"./node_modules/material-design-icons/iconfont/material-icons.css",
"./node_modules/font-awesome/css/font-awesome.css",
- "./node_modules/bootstrap/dist/css/bootstrap.min.css"
+ "./node_modules/bootstrap/dist/css/bootstrap.min.css",
+ "./node_modules/jointjs/css/layout.css",
+ "./node_modules/jointjs/css/themes/material.css",
+ "./node_modules/jointjs/css/themes/default.css"
],
"scripts": [
"./node_modules/ace-builds/src-min/ace.js",
@@ -43,7 +46,11 @@
"./node_modules/ace-builds/src-min/mode-kotlin.js",
"./node_modules/ace-builds/src-min/mode-text.js",
"./node_modules/ace-builds/src-min/mode-velocity.js",
- "./node_modules/ace-builds/src-min/mode-yaml.js"
+ "./node_modules/ace-builds/src-min/mode-yaml.js",
+ "./node_modules/jquery/dist/jquery.js",
+ "./node_modules/lodash/index.js",
+ "./node_modules/backbone/backbone.js",
+ "./node_modules/jointjs/dist/joint.js"
]
},
"configurations": {
diff --git a/cds-ui/client/package.json b/cds-ui/client/package.json
index 2e19d29fe..4da70110e 100644
--- a/cds-ui/client/package.json
+++ b/cds-ui/client/package.json
@@ -29,14 +29,18 @@
"@ngrx/store-devtools": "^6.1.2",
"@types/d3": "^5.7.0",
"ang-jsoneditor": "1.6.1",
+ "backbone": "^1.4.0",
+ "bootstrap": "^4.3.1",
"core-js": "^2.5.4",
"d3": "^5.9.1",
- "bootstrap": "^4.3.1",
"file-saver": "^2.0.1",
"font-awesome": "^4.7.0",
"hammerjs": "^2.0.8",
+ "jointjs": "^3.0.4",
+ "jquery": "^3.1.1",
"jsoneditor": "^5.31.1",
"jszip": "^3.2.0",
+ "lodash": "^3.10.1",
"material-design-icons": "^3.0.1",
"ng2-ace-editor": "^0.3.9",
"rxjs": "6.3.3",
@@ -49,9 +53,13 @@
"@angular/cli": "7.1.0",
"@angular/compiler-cli": "7.1.0",
"@angular/language-service": "7.1.0",
- "@types/node": "8.9.4",
+ "@types/backbone": "^1.4.1",
"@types/jasmine": "2.8.8",
"@types/jasminewd2": "2.0.3",
+ "@types/jointjs": "^2.0.0",
+ "@types/jquery": "^3.3.31",
+ "@types/lodash": "^3.10.1",
+ "@types/node": "^8.10.54",
"codelyzer": "4.5.0",
"jasmine-core": "2.99.1",
"jasmine-spec-reporter": "4.2.1",
diff --git a/cds-ui/client/src/app/app-routing.module.ts b/cds-ui/client/src/app/app-routing.module.ts
index 01ecfe48b..998194274 100644
--- a/cds-ui/client/src/app/app-routing.module.ts
+++ b/cds-ui/client/src/app/app-routing.module.ts
@@ -42,6 +42,10 @@ const routes: Routes = [
{
path: 'controller-catalog',
loadChildren: './feature-modules/controller-catalog/controller-catalog.module#ControllerCatalogModule'
+ },
+ {
+ path: 'blueprint-designer',
+ loadChildren: './feature-modules/blueprint-designer/blueprint-designer.module#BlueprintDesignerModule'
}
]
}
diff --git a/cds-ui/client/src/app/app.module.ts b/cds-ui/client/src/app/app.module.ts
index e4cc4a15d..998a80077 100644
--- a/cds-ui/client/src/app/app.module.ts
+++ b/cds-ui/client/src/app/app.module.ts
@@ -33,6 +33,7 @@ import { SharedModule } from './common/shared/shared.module';
import { CoreModule } from './common/core/core.module';
import { AppMaterialModule } from './common/modules/app-material.module';
import { ResourceDefinitionModule } from './feature-modules/resource-definition/resource-definition.module';
+import { BlueprintDesignerModule } from './feature-modules/blueprint-designer/blueprint-designer.module';
@NgModule({
declarations: [
@@ -48,7 +49,8 @@ import { ResourceDefinitionModule } from './feature-modules/resource-definition/
AppMaterialModule,
SharedModule,
CoreModule,
- ResourceDefinitionModule
+ ResourceDefinitionModule,
+ BlueprintDesignerModule
],
providers: [],
bootstrap: [AppComponent]
diff --git a/cds-ui/client/src/app/common/shared/components/home/home.component.html b/cds-ui/client/src/app/common/shared/components/home/home.component.html
index beff353ef..2f1ec45ec 100644
--- a/cds-ui/client/src/app/common/shared/components/home/home.component.html
+++ b/cds-ui/client/src/app/common/shared/components/home/home.component.html
@@ -53,6 +53,7 @@ limitations under the License.
</nav> -->
<a mat-list-item [routerLink]="['/resource-definition']">Resource Definition</a>
<a mat-list-item [routerLink]="['/controller-catalog']">Controller Catalog</a>
+ <a mat-list-item [routerLink]="['/blueprint-designer']">Blueprint Designer</a>
</mat-nav-list>
</mat-sidenav>
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer-routing.module.ts b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer-routing.module.ts
new file mode 100644
index 000000000..6b0749603
--- /dev/null
+++ b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer-routing.module.ts
@@ -0,0 +1,38 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+import { BlueprintDesignerComponent } from './blueprint-designer.component';
+
+
+const routes: Routes = [
+ {
+ path: '',
+ component: BlueprintDesignerComponent
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule]
+})
+export class BlueprintDesignerRoutingModule { }
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.html b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.html
new file mode 100644
index 000000000..11a5d72d3
--- /dev/null
+++ b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.html
@@ -0,0 +1,21 @@
+<!-- ============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+-->
+
+<div id="paper" style="height: 100%; width: 100%"></div>
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.scss b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.scss
new file mode 100644
index 000000000..93f5c9dea
--- /dev/null
+++ b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.scss
@@ -0,0 +1,20 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/ \ No newline at end of file
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.spec.ts b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.spec.ts
new file mode 100644
index 000000000..1972e75b7
--- /dev/null
+++ b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.spec.ts
@@ -0,0 +1,46 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { BlueprintDesignerComponent } from './blueprint-designer.component';
+
+describe('BlueprintDesignerComponent', () => {
+ let component: BlueprintDesignerComponent;
+ let fixture: ComponentFixture<BlueprintDesignerComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ BlueprintDesignerComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(BlueprintDesignerComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.ts b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.ts
new file mode 100644
index 000000000..ac9637722
--- /dev/null
+++ b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.component.ts
@@ -0,0 +1,71 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { Component, OnInit } from '@angular/core';
+import * as $ from 'jquery';
+import * as _ from 'lodash';
+import * as joint from '../../../../node_modules/jointjs/dist/joint.js';
+
+@Component({
+ selector: 'app-blueprint-designer',
+ templateUrl: './blueprint-designer.component.html',
+ styleUrls: ['./blueprint-designer.component.scss']
+})
+export class BlueprintDesignerComponent implements OnInit {
+
+ public graph: any;
+ public paper: any;
+
+ constructor() { }
+
+ ngOnInit() {
+ // this.createGraph();
+ }
+
+ createGraph() {
+ this.graph = new joint.dia.Graph,
+ this.paper = new joint.dia.Paper({
+ el: $('#paper'),
+ model: this.graph,
+ height: 700,
+ width: 1000,
+ gridSize: 2,
+ drawGrid: true
+ });
+
+ this.paper = new joint.dia.Paper({
+ el: document.getElementById('paper'),
+ width: 1000,
+ height: 1000,
+ model: this.graph,
+ gridSize: 2,
+ drawGrid: true
+ });
+
+ this.paper.setGrid({
+ name: 'dot',
+ args:
+ { color: 'black', thickness: 2, scaleFactor: 8 }
+
+ }).drawGrid();
+ }
+
+}
diff --git a/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.module.ts b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.module.ts
new file mode 100644
index 000000000..f338f790d
--- /dev/null
+++ b/cds-ui/client/src/app/feature-modules/blueprint-designer/blueprint-designer.module.ts
@@ -0,0 +1,34 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { BlueprintDesignerComponent } from './blueprint-designer.component';
+import { BlueprintDesignerRoutingModule } from './blueprint-designer-routing.module'
+
+@NgModule({
+ declarations: [BlueprintDesignerComponent],
+ imports: [
+ CommonModule,
+ BlueprintDesignerRoutingModule
+ ]
+})
+export class BlueprintDesignerModule { }
diff --git a/cds-ui/server/src/clients/blueprint-management-service-grpc-client.ts b/cds-ui/server/src/clients/blueprint-management-service-grpc-client.ts
index b66b2a771..8975f4501 100644
--- a/cds-ui/server/src/clients/blueprint-management-service-grpc-client.ts
+++ b/cds-ui/server/src/clients/blueprint-management-service-grpc-client.ts
@@ -17,7 +17,7 @@ import * as fs from 'fs';
import * as uuidv1 from 'uuid/v1';
const grpc = require('grpc');
import * as protoLoader from '@grpc/proto-loader';
-import {processorApiConfig} from '../config/app-config';
+import { processorApiConfig } from '../config/app-config';
const PROTO_PATH = processorApiConfig.grpc.bluePrintManagement.protoPath;
@@ -44,7 +44,7 @@ metadata.add('Authorization', processorApiConfig.grpc.authToken);
class BluePrintManagementServiceGrpcClient {
- async uploadBlueprint(filePath: string): Promise<any> {
+ async uploadBlueprint(filePath: string, actionName: string): Promise<any> {
let input = {
commonHeader: {
@@ -55,6 +55,11 @@ class BluePrintManagementServiceGrpcClient {
},
fileChunk: {
chunk: fs.readFileSync(filePath)
+ },
+ actionIdentifiers: {
+ mode: "sync",
+ blueprintName: "cds.zip",
+ actionName: actionName
}
}
@@ -80,6 +85,34 @@ class BluePrintManagementServiceGrpcClient {
});
}
+
+ async downloadBlueprint(blueprintName: string,blueprintVersion: string): Promise<any> {
+
+ let input = {
+ commonHeader: {
+ timestamp: new Date(),
+ originatorId: "cds-ui",
+ requestId: uuidv1(),
+ subRequestId: "1234-56",
+ },
+ actionIdentifiers: {
+ mode: "sync",
+ blueprintName: blueprintName,
+ blueprintVersion: blueprintVersion
+ }
+ }
+
+ return new Promise<any>((resolve, reject) => {
+ stub.downloadBlueprint(input, metadata, (err: any, output: any) => {
+ if (err) {
+ reject(err);
+ return;
+ }
+ resolve(output);
+ });
+ });
+
+ }
}
export const bluePrintManagementServiceGrpcClient = new BluePrintManagementServiceGrpcClient();
diff --git a/cds-ui/server/src/config/app-config.ts b/cds-ui/server/src/config/app-config.ts
index a2cebe59d..9b253b8fc 100644
--- a/cds-ui/server/src/config/app-config.ts
+++ b/cds-ui/server/src/config/app-config.ts
@@ -15,9 +15,9 @@
*/
export const appConfig = Object.freeze({
action: Object.freeze({
- deployBlueprint: Object.freeze({
+ // deployBlueprint: Object.freeze({
grpcEnabled: process.env.APP_ACTION_DEPLOY_BLUEPRINT_GRPC_ENABLED || true
- })
+ // })
})
});
diff --git a/cds-ui/server/src/controllers/blueprint-rest.controller.ts b/cds-ui/server/src/controllers/blueprint-rest.controller.ts
index 789589837..1eef6fbcb 100644
--- a/cds-ui/server/src/controllers/blueprint-rest.controller.ts
+++ b/cds-ui/server/src/controllers/blueprint-rest.controller.ts
@@ -98,15 +98,26 @@ export class BlueprintRestController {
): Promise<Response> {
return new Promise((resolve, reject) => {
this.getFileFromMultiPartForm(request).then(file => {
- this.uploadFileToBlueprintController(file, "/blueprint-model/", response).then(resp => {
- resolve(resp);
- }, err => {
- reject(err);
- });
+ // if (appConfig.action.deployBlueprint.grpcEnabled)
+ if (appConfig.action.grpcEnabled)
+ return this.uploadFileToBlueprintProcessorGrpc(file, "DRAFT", response);
+ else
+ return this.uploadFileToBlueprintController(file, "/blueprint-model/", response);
}, err => {
reject(err);
});
});
+ // return new Promise((resolve, reject) => {
+ // this.getFileFromMultiPartForm(request).then(file => {
+ // this.uploadFileToBlueprintController(file, "/blueprint-model/", response).then(resp => {
+ // resolve(resp);
+ // }, err => {
+ // reject(err);
+ // });
+ // }, err => {
+ // reject(err);
+ // });
+ // });
}
@post('/controllerblueprint/publish')
@@ -127,15 +138,26 @@ export class BlueprintRestController {
): Promise<Response> {
return new Promise((resolve, reject) => {
this.getFileFromMultiPartForm(request).then(file => {
- this.uploadFileToBlueprintController(file, "/blueprint-model/publish/", response).then(resp => {
- resolve(resp);
- }, err => {
- reject(err);
- });
+ // if (appConfig.action.deployBlueprint.grpcEnabled)
+ if (appConfig.action.grpcEnabled)
+ return this.uploadFileToBlueprintProcessorGrpc(file, "PUBLISH", response);
+ else
+ return this.uploadFileToBlueprintController(file, "/blueprint-model/publish/", response);
}, err => {
reject(err);
});
});
+ // return new Promise((resolve, reject) => {
+ // this.getFileFromMultiPartForm(request).then(file => {
+ // this.uploadFileToBlueprintController(file, "/blueprint-model/publish/", response).then(resp => {
+ // resolve(resp);
+ // }, err => {
+ // reject(err);
+ // });
+ // }, err => {
+ // reject(err);
+ // });
+ // });
}
@post('/controllerblueprint/enrich-blueprint')
@@ -156,13 +178,17 @@ export class BlueprintRestController {
): Promise<Response> {
return new Promise((resolve, reject) => {
this.getFileFromMultiPartForm(request).then(file => {
- this.uploadFileToBlueprintController(file, "/blueprint-model/enrich/", response).then(resp => {
- resolve(resp);
- }, err => {
- reject(err);
- });
- }, err => {
- reject(err);
+ if (appConfig.action.grpcEnabled)
+ return this.uploadFileToBlueprintProcessorGrpc(file, "ENRICH", response);
+ else
+ return this.uploadFileToBlueprintController(file, "/blueprint-model/enrich/", response)
+ // this.uploadFileToBlueprintController(file, "/blueprint-model/enrich/", response).then(resp => {
+ // resolve(resp);
+ // }, err => {
+ // reject(err);
+ // });
+ // }, err => {
+ // reject(err);
});
});
}
@@ -173,9 +199,14 @@ export class BlueprintRestController {
@param.path.string('version') version: string,
@inject(RestBindings.Http.RESPONSE) response: Response,
): Promise<Response> {
- return this.downloadFileFromBlueprintController("/blueprint-model/download/by-name/" + name + "/version/" + version, response);
+
+ if (appConfig.action.grpcEnabled)
+ return this.downloadFileFromBlueprintProcessorGrpc(name, version, response);
+ else
+ return this.downloadFileFromBlueprintController("/blueprint-model/download/by-name/" + name + "/version/" + version, response);
}
+
async getFileFromMultiPartForm(request: Request): Promise<multiparty.File> {
return new Promise((resolve, reject) => {
let form = new multiparty.Form();
@@ -209,8 +240,9 @@ export class BlueprintRestController {
): Promise<Response> {
return new Promise((resolve, reject) => {
this.getFileFromMultiPartForm(request).then(file => {
- if (appConfig.action.deployBlueprint.grpcEnabled)
- return this.uploadFileToBlueprintProcessorGrpc(file, response);
+ // if (appConfig.action.deployBlueprint.grpcEnabled)
+ if (appConfig.action.grpcEnabled)
+ return this.uploadFileToBlueprintProcessorGrpc(file, "PUBLISH", response);
else
return this.uploadFileToBlueprintProcessor(file, "/execution-service/upload/", response);
}, err => {
@@ -289,9 +321,9 @@ export class BlueprintRestController {
})
}
- async uploadFileToBlueprintProcessorGrpc(file: multiparty.File, response: Response): Promise<Response> {
+ async uploadFileToBlueprintProcessorGrpc(file: multiparty.File, actionName: string, response: Response): Promise<Response> {
return new Promise<Response>((resolve, reject) => {
- bluePrintManagementServiceGrpcClient.uploadBlueprint(file.path).then(output => {
+ bluePrintManagementServiceGrpcClient.uploadBlueprint(file.path, actionName).then(output => {
response.send(output.status.message);
resolve(response);
}, err => {
@@ -300,4 +332,16 @@ export class BlueprintRestController {
});
});
}
+ async downloadFileFromBlueprintProcessorGrpc(blueprintName: string, blueprintVersion: string, response: Response): Promise<Response> {
+ return new Promise<Response>((resolve, reject) => {
+ bluePrintManagementServiceGrpcClient.downloadBlueprint(blueprintName, blueprintVersion)
+ .then(output => {
+ response.send(output.status.message);
+ resolve(response);
+ }, err => {
+ response.status(500).send(err);
+ resolve(response);
+ });
+ });
+ }
} \ No newline at end of file