From 54865af76aedb77dc6abc560c095864094e6ad64 Mon Sep 17 00:00:00 2001 From: ShaabanEltanany Date: Wed, 4 Dec 2019 17:09:41 +0200 Subject: add service for getting model type with definition Issue-ID: CCSDK-1770 Signed-off-by: ShaabanEltanany Change-Id: I7f3278e97119a144c889d83891fa5de6796c7fb2 --- .../src/controllers/data-dictionary.controller.ts | 16 ++++++++++++++++ .../resource-dictionary.datasource-template.ts | 18 +++++++++++++++++- .../server/src/services/resource-dictionary.service.ts | 3 ++- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/cds-ui/server/src/controllers/data-dictionary.controller.ts b/cds-ui/server/src/controllers/data-dictionary.controller.ts index eab0bc50c..076d714c6 100644 --- a/cds-ui/server/src/controllers/data-dictionary.controller.ts +++ b/cds-ui/server/src/controllers/data-dictionary.controller.ts @@ -96,6 +96,9 @@ export class DataDictionaryController { return await this.rdservice.getModelType(source); } + /** + * @deprecated use getResourceDictionaryByType Instead. + */ @get('/resourcedictionary/model-type/by-definition/data_type', { responses: { '200': { @@ -104,6 +107,19 @@ export class DataDictionaryController { }, }) async getDataTypes() { + console.warn("Calling deprecated function!"); return await this.rdservice.getDataTypes(); } + + @get('/resourcedictionary/model-type/by-definition/{type}', { + responses: { + '200': { + content: {'application/json': {}}, + }, + }, + }) + async getResourceDictionaryByType(@param.path.string('type') type: string) { + return await this.rdservice.getResourceDictionaryByType(type); + } + } diff --git a/cds-ui/server/src/datasources/resource-dictionary.datasource-template.ts b/cds-ui/server/src/datasources/resource-dictionary.datasource-template.ts index f839bb225..7373d069e 100644 --- a/cds-ui/server/src/datasources/resource-dictionary.datasource-template.ts +++ b/cds-ui/server/src/datasources/resource-dictionary.datasource-template.ts @@ -118,7 +118,23 @@ export default { "functions": { "getDataTypes": [] + } + }, + { + "template": { + "method": "GET", + "url": processorApiConfig.http.url + "/model-type/by-definition/{type}", + "headers": { + "accepts": "application/json", + "content-type": "application/json", + "authorization": processorApiConfig.http.authToken + }, + "responsePath": "$.*" + }, + "functions": { + "getResourceDictionaryByType": ["type"] + } } ] -}; \ No newline at end of file +}; diff --git a/cds-ui/server/src/services/resource-dictionary.service.ts b/cds-ui/server/src/services/resource-dictionary.service.ts index 8df22085c..a36c7fe75 100644 --- a/cds-ui/server/src/services/resource-dictionary.service.ts +++ b/cds-ui/server/src/services/resource-dictionary.service.ts @@ -7,9 +7,10 @@ export interface ResourceDictionaryService { getSourceMapping(): Promise; getByTags(tags: string): Promise; save(resourceDictionary: JSON): Promise; - searchbyNames(resourceDictionaryList: JSON): Promise; + searchbyNames(resourceDictionaryList: JSON): Promise; getModelType(source: string): Promise; getDataTypes(): Promise; + getResourceDictionaryByType(type: string): Promise; } export class ResourceDictionaryServiceProvider implements Provider { -- cgit 1.2.3-korg