From 6ae5484164a944e9ad3211c1cbdc89cfc520688d Mon Sep 17 00:00:00 2001 From: Shaaban Ebrahim Date: Mon, 18 Nov 2019 19:39:26 +0200 Subject: add service for searching in meta data pageable Issue-ID: CCSDK-1770 Signed-off-by: Shaaban Ebrahim Change-Id: Ibf718314f2f818108af3133641ab7be48c334dce --- .../server/src/controllers/blueprint-rest.controller.ts | 16 ++++++++++++++++ .../src/datasources/blueprint.datasource-template.ts | 15 +++++++++++++++ cds-ui/server/src/services/blueprint.service.ts | 3 +++ 3 files changed, 34 insertions(+) (limited to 'cds-ui') diff --git a/cds-ui/server/src/controllers/blueprint-rest.controller.ts b/cds-ui/server/src/controllers/blueprint-rest.controller.ts index 49ecb9df1..1a8de6b47 100644 --- a/cds-ui/server/src/controllers/blueprint-rest.controller.ts +++ b/cds-ui/server/src/controllers/blueprint-rest.controller.ts @@ -84,6 +84,22 @@ export class BlueprintRestController { return await this.bpservice.getPagedBueprints(limit, offset, sort); } + @get('/controllerblueprint/metadata/paged/{keyword}', { + responses: { + '200': { + description: 'Blueprint model instance with pagination', + content: { 'application/json': { schema: { 'x-ts-type': Blueprint } } }, + }, + }, + }) + async getMetaDataPagedBlueprints( + @param.path.string('keyword') keyword: string, + @param.query.number('limit') limit: number, + @param.query.number('offset') offset: number, + @param.query.string('sort') sort: string) { + return await this.bpservice.getMetaDataPagedBlueprints(limit, offset, sort,keyword); + } + @get('/controllerblueprint/meta-data/{keyword}', { responses: { '200': { diff --git a/cds-ui/server/src/datasources/blueprint.datasource-template.ts b/cds-ui/server/src/datasources/blueprint.datasource-template.ts index 914021887..a7cea1d4a 100644 --- a/cds-ui/server/src/datasources/blueprint.datasource-template.ts +++ b/cds-ui/server/src/datasources/blueprint.datasource-template.ts @@ -69,5 +69,20 @@ export default { "getPagedBueprints": ["limit","offset", "sort"], } }, + { + "template": { + "method": "GET", + "url": processorApiConfig.http.url + "/blueprint-model/paged/meta-data/{keyword}?limit={limit}&offset={offset}&sort={sort}", + "headers": { + "accepts": "application/json", + "content-type": "application/json", + "authorization": processorApiConfig.http.authToken + }, + "responsePath": "$", + }, + "functions": { + "getMetaDataPagedBlueprints": ["limit","offset", "sort","keyword"], + } + }, ] }; diff --git a/cds-ui/server/src/services/blueprint.service.ts b/cds-ui/server/src/services/blueprint.service.ts index bc93fa1be..b6474a3a2 100644 --- a/cds-ui/server/src/services/blueprint.service.ts +++ b/cds-ui/server/src/services/blueprint.service.ts @@ -7,6 +7,9 @@ export interface BlueprintService { getBlueprintsByKeyword(keyword: string): Promise; getByTags(tags: string): Promise; getPagedBueprints(limit: number, offset: number , sort: string): Promise; + getMetaDataPagedBlueprints(limit: number, offset: number, sort: string, keyword: string): Promise; + + } export class BlueprintServiceProvider implements Provider { -- cgit 1.2.3-korg