diff options
author | Ezhilarasi <ezhrajam@in.ibm.com> | 2019-10-17 15:58:08 +0530 |
---|---|---|
committer | Ezhilarasi R <ezhrajam@in.ibm.com> | 2019-10-18 10:10:01 +0000 |
commit | 515636e496d18b908f2abab90439b395a66f2087 (patch) | |
tree | 02e536baa098b807cccb41860c4fb42a08f3371b /cds-ui/server/src/controllers | |
parent | 626cce5c6921376fa0ad3d927cec391b19c45b3a (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')
-rw-r--r-- | cds-ui/server/src/controllers/blueprint-rest.controller.ts | 88 |
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 |