import { Body, Controller, Delete, Get, Param, Post, Query, } from '@nestjs/common'; import { CatalogService } from './catalog.service'; @Controller('catalog') export class CatalogController { constructor(private catalogService: CatalogService) {} @Get('all') async catalogAll(@Body() body) { console.log(`/catalog`, 'ON CATALOG ALL ROUTE'); const res = await this.catalogService.catalogAll(body); return res; } @Get('data_apps') async dataAppsAll(@Body() body) { console.log(`/catalog`, 'ON FIND ALL DATA APPS ROUTE'); const res = await this.catalogService.dataAppsAll(body); return res; } @Delete('data_apps/:id') async dataAppsOne(@Param() params, @Body() body) { console.log(`/catalog`, 'ON FIND ONE DATA APP ROUTE'); const { id } = params; const res = await this.catalogService.dataAppsOne(id, body); return res; } @Get('dashboard-metabase') async getAllDashboardMetabase(@Body() body) { console.log(`/catalog`, 'ON GET ALL DASHBOARDS METABASE ROUTE'); const res = await this.catalogService.getAllDashboardMetabase(body); return res; } @Get('dashboard-metabase/:id') async getOneDashboardMetabase(@Body() body, @Param() params) { const { id } = params; console.log(`/catalog`, 'ON GET ONE DASHBOARD METABASE ROUTE'); const res = await this.catalogService.getOneDashboardMetabase(id, body); return res; } @Get('table-metadata') async getAllTableMetadata(@Body() body, @Query() query) { console.log(`/catalog`, 'ON GET ALL TABLES METADATA ROUTE'); if (!query) { const res = await this.catalogService.getAllTableMetadata(body); return res; } else { const res = await this.catalogService.getOneTableMetadata(body, query); return res; } } @Delete('table-metadata/:id') async deleteOneTableMetadata(@Param() params, @Body() body) { const { id } = params; console.log(`/catalog`, 'ON DELETE ONE TABLE METADATA ROUTE'); const res = await this.catalogService.deleteOneTableMetadata(id, body); return res; } @Get('column-metadata') async getOneColumnMetadata(@Body() body, @Query() params) { console.log(`/catalog`, 'ON GET ONE COLUMN METADATA ROUTE'); const res = await this.catalogService.getOneColumnMetadata(body, params); return res; } @Delete('column-metadata/:id') async deleteOneColumnMetadata(@Param() params, @Body() body) { console.log(`/catalog`, 'ON DELETE ONE COLUMN METADATA ROUTE'); const { id } = params; const res = await this.catalogService.deleteOneColumnMetadata(id, body); return res; } @Get('data-preview') async getOneDataPreview(@Body() body, @Query() params) { console.log(`/catalog`, 'ON GET ONE DATAPREVIEW ROUTE'); const res = await this.catalogService.getOneDataPreview(body, params); return res; } @Get('data-status') async getDataStatus(@Body() body) { console.log(`/catalog`, 'ON GET DATA STATUS ROUTE'); const res = await this.catalogService.getDataStatus(body); return res; } @Get('data-status') async createDataStatus(@Body() body) { console.log(`/catalog`, 'ON CREATE DATA STATUS ROUTE'); const res = await this.catalogService.createDataStatus(body); return res; } @Get('data-description') async getDataDescription(@Body() body) { console.log(`/catalog`, 'ON GET DATA DESCRIPTION ROUTE'); const res = await this.catalogService.getDataDescription(body); return res; } @Post('data-description') async createDataDescription(@Body() body) { console.log(`/catalog`, 'ON CREATE DATA DESCRIPTION ROUTE'); const res = await this.catalogService.createDataDescription(body); return res; } @Get('data-docs') async getDataDocs(@Body() body) { console.log(`/catalog`, 'ON GET DATA DOCS ROUTE'); const res = await this.catalogService.getDataDocs(body); return res; } @Post('data-docs') async createDataDocs(@Body() body) { console.log(`/catalog`, 'ON CREATE DATA DOCS ROUTE'); const res = await this.catalogService.createDataDocs(body); return res; } @Get('data-rating') async getDataRating(@Body() body) { console.log(`/catalog`, 'ON GET DATA RATING ROUTE'); const res = await this.catalogService.getDataRating(body); return res; } @Post('data-rating') async createDataRating(@Body() body) { console.log(`/catalog`, 'ON GET DATA RATING ROUTE'); const res = await this.catalogService.createDataRating(body); return res; } @Get('summary-rating/:id') async getSummaryRating() { console.log(`/catalog`, 'ON GET SUMMARY RATING ROUTE'); //const { id } = params; // //const res = await this.catalogService.getSummaryRating(id, body); return { avg_rating: 0, rating_count: 0, }; } @Get('data-comment') async getDataComment(@Body() body) { console.log(`/catalog`, 'ON GET DATA COMMENT ROUTE'); const res = await this.catalogService.getDataComment(body); return res; } @Post('data-comment') async createDataComment(@Body() body) { console.log(`/catalog`, 'ON GET DATA COMMENT ROUTE'); const res = await this.catalogService.createDataComment(body); return res; } @Get('data-review') async getDataReview(@Body() body, @Query() params) { console.log(`/catalog`, 'ON GET DATA REVIEW ROUTE'); const res = await this.catalogService.getDataReview(body, params); return res; } @Post('tags') async createTags(@Body() body) { console.log(`/catalog`, 'ON CREATE TAG ROUTE'); const res = await this.catalogService.createTags(body); return res; } @Get('tags') async findAllTags(@Body() body) { console.log(`/catalog`, 'ON FIND ALL TAGS ROUTE'); const res = await this.catalogService.findAllTags(body); return res; } @Delete('tags/:id') async deleteTags(@Param() params, @Body() body) { console.log(`/catalog`, 'ON DELETE TAG ROUTE'); const { id } = params; const res = await this.catalogService.deleteTags(id, body); return res; } @Post('table-tags') async createTableTags(@Body() body) { console.log(`/catalog`, 'ON CREATE TABLE TAG ROUTE'); const res = await this.catalogService.createTableTags(body); return res; } @Get('table-tags') async getAllTableTags(@Body() body) { console.log(`/catalog`, 'ON GET ALL TABLE TAGS ROUTE'); const res = await this.catalogService.findAllTableTags(body); return res; } @Delete('table-tags/:id') async deleteTableTags(@Param() params, @Body() body) { console.log(`/catalog`, 'ON CREATE TABLE TAGS ROUTE'); const { id } = params; const res = await this.catalogService.deleteTableTags(id, body); return res; } @Get('table-rules') async getTableRules(@Body() body) { console.log(`/catalog`, 'ON GET TABLE RULES ROUTE'); const res = await this.catalogService.getTableRules(body); return res; } @Delete('table-rules/:id') async deleteTableRules(@Param() params, @Body() body) { console.log(`/catalog`, 'ON DELETE TABLE RULES ROUTE'); const { id } = params; const res = await this.catalogService.deleteTableRules(id, body); return res; } }