import { Controller, Get, HttpCode, HttpStatus, Param, ParseIntPipe, Query, Req, UseGuards, } from '@nestjs/common'; import { DashboardService } from '../service/dashboard.service'; import { JwtAuthGuard } from 'src/module/auth/guards/jwt.guard'; @Controller('dashboard') export class DashboardController { constructor(private readonly dashboardService: DashboardService) {} @Get('page-data/:pageId') @UseGuards(JwtAuthGuard) @HttpCode(HttpStatus.OK) async getDashboard( @Param('pageId', ParseIntPipe) pageId: number, @Req() req: any, ) { const loggedInUser = req.user.userData; return this.dashboardService.getDashboardPage(pageId, loggedInUser); } @Get('pages') @UseGuards(JwtAuthGuard) @HttpCode(HttpStatus.OK) async getPages( @Query('mapped_entity_type') mapped_entity_type: string, @Req() req: any, ) { const loggedInUser = req.user.userData; return this.dashboardService.getPages(mapped_entity_type, loggedInUser); } }