aboutsummaryrefslogtreecommitdiffstats
path: root/cds-ui/server/src/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'cds-ui/server/src/controllers')
-rw-r--r--cds-ui/server/src/controllers/controller-catalog.controller.ts73
-rw-r--r--cds-ui/server/src/controllers/index.ts1
2 files changed, 74 insertions, 0 deletions
diff --git a/cds-ui/server/src/controllers/controller-catalog.controller.ts b/cds-ui/server/src/controllers/controller-catalog.controller.ts
new file mode 100644
index 000000000..20e1cded6
--- /dev/null
+++ b/cds-ui/server/src/controllers/controller-catalog.controller.ts
@@ -0,0 +1,73 @@
+// Uncomment these imports to begin using these cool features!
+
+// import {inject} from '@loopback/context';
+import {
+ post,
+ param,
+ get,
+ getFilterSchemaFor,
+ getWhereSchemaFor,
+ patch,
+ put,
+ del,
+ requestBody,
+ Request,
+ Response,
+ RestBindings,
+} from '@loopback/rest';
+import { inject } from '@loopback/core';
+import { ControllerCatalogService } from '../services';
+
+export class ControllerCatalogController {
+ constructor(
+ @inject('services.ControllerCatalogService')
+ public Ccservice: ControllerCatalogService,
+ ){ }
+
+ @get('/controllercatalog/search/{tags}', {
+ responses: {
+ '200': {
+ content: { 'application/json': {} },
+ },
+ },
+ })
+ async getByTags(@param.path.string('tags') tags: string) {
+ return await this.Ccservice.getByTags(tags);
+ }
+
+ @post('/controllercatalog/save', {
+ responses: {
+ '200': {
+ content: { 'application/json': {} }
+ }
+ },
+ })
+ async save(@requestBody({
+ content: { 'application/json': { schema: { 'x-ts-type': JSON } } },
+ accepts: { 'application/json': { schema: { 'x-ts-type': JSON } } }
+ }) controllerCatalog: JSON): Promise<any> {
+ return await this.Ccservice.save(controllerCatalog);
+ }
+
+ @get('/controllercatalog/model-type/by-definition/{definitionType}', {
+ responses: {
+ '200': {
+ content: { 'application/json': {} },
+ },
+ },
+ })
+ async getDataTypes(@param.path.string('definitionType') definitionType: string) {
+ return await this.Ccservice.getDefinitionTypes(definitionType);
+ }
+
+ @del('/controllercatalog/model-type/{name}', {
+ responses: {
+ '200': {
+ content: { 'application/json': {} }
+ }
+ },
+ })
+ async delete(@param.path.string('name') name: string): Promise<JSON> {
+ return await this.Ccservice.deleteCatalog(name);
+ }
+}
diff --git a/cds-ui/server/src/controllers/index.ts b/cds-ui/server/src/controllers/index.ts
index fd4d9c8ac..28327ab9d 100644
--- a/cds-ui/server/src/controllers/index.ts
+++ b/cds-ui/server/src/controllers/index.ts
@@ -22,3 +22,4 @@ limitations under the License.
export * from './ping.controller';
export * from './blueprint-rest.controller';
export * from './data-dictionary.controller';
+export * from './controller-catalog.controller';