From 7cfca9c44b6465d7eb88d64e3fa38c7f1a09c096 Mon Sep 17 00:00:00 2001 From: Shaaban Ebrahim Date: Wed, 6 Nov 2019 13:23:28 +0200 Subject: add search by meta data in cds-ui server and blueprint processor Issue-ID: CCSDK-1770 Signed-off-by: Shaaban Ebrahim Change-Id: I8ac77ab4903e3141d065a61bf28404f3d16077cd --- .../src/controllers/blueprint-rest.controller.ts | 16 +++++++++++++++- .../src/datasources/blueprint.datasource-template.ts | 18 +++++++++++++++++- cds-ui/server/src/services/blueprint.service.ts | 3 ++- 3 files changed, 34 insertions(+), 3 deletions(-) (limited to 'cds-ui/server/src') diff --git a/cds-ui/server/src/controllers/blueprint-rest.controller.ts b/cds-ui/server/src/controllers/blueprint-rest.controller.ts index 1eef6fbcb..b52952826 100644 --- a/cds-ui/server/src/controllers/blueprint-rest.controller.ts +++ b/cds-ui/server/src/controllers/blueprint-rest.controller.ts @@ -69,6 +69,20 @@ export class BlueprintRestController { return await this.bpservice.getAllblueprints(); } + @get('/controllerblueprint/meta-data/{keyword}', { + responses: { + '200': { + description: 'Blueprint model instance', + content: { 'application/json': { schema: { 'x-ts-type': Blueprint } } }, + }, + }, + }) + async getAllPacakgesByKeword(@param.path.string('keyword') keyword: string) { + return await this.bpservice.getBlueprintsByKeyword(keyword); + } + + + @get('/controllerblueprint/searchByTags/{tags}', { responses: { '200': { @@ -344,4 +358,4 @@ export class BlueprintRestController { }); }); } -} \ No newline at end of file +} diff --git a/cds-ui/server/src/datasources/blueprint.datasource-template.ts b/cds-ui/server/src/datasources/blueprint.datasource-template.ts index 85e0aa342..b0aaf01eb 100644 --- a/cds-ui/server/src/datasources/blueprint.datasource-template.ts +++ b/cds-ui/server/src/datasources/blueprint.datasource-template.ts @@ -38,5 +38,21 @@ export default { } }, + { + "template": { + "method": "GET", + "url": processorApiConfig.http.url + "/blueprint-model/meta-data/{keyword}", + "headers": { + "accepts": "application/json", + "content-type": "application/json", + "authorization": processorApiConfig.http.authToken + }, + "responsePath": "$.*" + }, + "functions": { + "getBlueprintsByKeyword": ["keyword"] + + } + }, ] -}; \ No newline at end of file +}; diff --git a/cds-ui/server/src/services/blueprint.service.ts b/cds-ui/server/src/services/blueprint.service.ts index 0545faca8..7952859d1 100644 --- a/cds-ui/server/src/services/blueprint.service.ts +++ b/cds-ui/server/src/services/blueprint.service.ts @@ -4,6 +4,7 @@ import {BlueprintDataSource} from '../datasources'; export interface BlueprintService { getAllblueprints(): Promise; + getBlueprintsByKeyword(keyword: string): Promise; getByTags(tags: string): Promise; } @@ -17,4 +18,4 @@ export class BlueprintServiceProvider implements Provider { value(): Promise { return getService(this.dataSource); } -} \ No newline at end of file +} -- cgit 1.2.3-korg