summaryrefslogtreecommitdiffstats
path: root/cds-ui/server/src/controllers/blueprint-rest.controller.ts
diff options
context:
space:
mode:
authorEzhilarasi <ezhrajam@in.ibm.com>2019-10-17 15:58:08 +0530
committerEzhilarasi R <ezhrajam@in.ibm.com>2019-10-18 10:10:01 +0000
commit515636e496d18b908f2abab90439b395a66f2087 (patch)
tree02e536baa098b807cccb41860c4fb42a08f3371b /cds-ui/server/src/controllers/blueprint-rest.controller.ts
parent626cce5c6921376fa0ad3d927cec391b19c45b3a (diff)
Loopback code for GRPC functionality
GRPC integration for Draft, Publish, Download Change-Id: I24e138fae766da7a112ac9f49a8ba036d81b5bb5 Issue-ID: CCSDK-1785 Signed-off-by: Ezhilarasi <ezhrajam@in.ibm.com>
Diffstat (limited to 'cds-ui/server/src/controllers/blueprint-rest.controller.ts')
-rw-r--r--cds-ui/server/src/controllers/blueprint-rest.controller.ts88
1 files changed, 66 insertions, 22 deletions
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