summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmed Abbas <ahmad.helmy@orange.com>2019-11-13 11:09:25 +0200
committerAhmed Abbas <ahmad.helmy@orange.com>2019-11-14 09:06:58 +0200
commit43bbe44b1babdcfc91ad47df2b3c6a93e525b6a6 (patch)
tree422b5ecd30206fa0004bf16942f5c7262066b5a3
parent54eb2f2680d4f2447a4d48b612b2b83e37d90754 (diff)
add API to list blueprints with pagination in loopback server
Issue-ID: CCSDK-1770 Signed-off-by: Ahmed Abbas <ahmad.helmy@orange.com> Change-Id: I705135af4898db68eeddb8b67bf62fbbea6921ac
-rw-r--r--cds-ui/server/src/controllers/blueprint-rest.controller.ts15
-rw-r--r--cds-ui/server/src/datasources/blueprint.datasource-template.ts41
-rw-r--r--cds-ui/server/src/services/blueprint.service.ts1
3 files changed, 44 insertions, 13 deletions
diff --git a/cds-ui/server/src/controllers/blueprint-rest.controller.ts b/cds-ui/server/src/controllers/blueprint-rest.controller.ts
index b52952826..49ecb9df1 100644
--- a/cds-ui/server/src/controllers/blueprint-rest.controller.ts
+++ b/cds-ui/server/src/controllers/blueprint-rest.controller.ts
@@ -69,6 +69,21 @@ export class BlueprintRestController {
return await this.bpservice.getAllblueprints();
}
+ @get('/controllerblueprint/paged', {
+ responses: {
+ '200': {
+ description: 'Blueprint model instance with pagination',
+ content: { 'application/json': { schema: { 'x-ts-type': Blueprint } } },
+ },
+ },
+ })
+ async getPagedBlueprints(
+ @param.query.number('limit') limit: number,
+ @param.query.number('offset') offset: number,
+ @param.query.string('sort') sort: string) {
+ return await this.bpservice.getPagedBueprints(limit, offset, sort);
+ }
+
@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 b0aaf01eb..914021887 100644
--- a/cds-ui/server/src/datasources/blueprint.datasource-template.ts
+++ b/cds-ui/server/src/datasources/blueprint.datasource-template.ts
@@ -38,21 +38,36 @@ 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": "$.*"
+ {
+ "template": {
+ "method": "GET",
+ "url": processorApiConfig.http.url + "/blueprint-model/meta-data/{keyword}",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
},
- "functions": {
- "getBlueprintsByKeyword": ["keyword"]
+ "responsePath": "$.*"
+ },
+ "functions": {
+ "getBlueprintsByKeyword": ["keyword"]
- }
+ }
+ },
+ {
+ "template": {
+ "method": "GET",
+ "url": processorApiConfig.http.url + "/blueprint-model/paged?limit={limit}&offset={offset}&sort={sort}",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
+ },
+ "responsePath": "$",
},
+ "functions": {
+ "getPagedBueprints": ["limit","offset", "sort"],
+ }
+ },
]
};
diff --git a/cds-ui/server/src/services/blueprint.service.ts b/cds-ui/server/src/services/blueprint.service.ts
index 7952859d1..bc93fa1be 100644
--- a/cds-ui/server/src/services/blueprint.service.ts
+++ b/cds-ui/server/src/services/blueprint.service.ts
@@ -6,6 +6,7 @@ export interface BlueprintService {
getAllblueprints(): Promise<any>;
getBlueprintsByKeyword(keyword: string): Promise<any>;
getByTags(tags: string): Promise<JSON>;
+ getPagedBueprints(limit: number, offset: number , sort: string): Promise<any>;
}
export class BlueprintServiceProvider implements Provider<BlueprintService> {