import { Controller, Get, UseGuards } from '@nestjs/common'; import { ApiOperation, ApiTags } from '@nestjs/swagger'; import { CurrentUser } from '../auth/decorators/current-user.decorator'; import { SessionGuard } from '../auth/guards/session.guard'; import { assertSuperAdmin } from './admin-auth.util'; import { AdminDashboardService } from './admin-dashboard.service'; @ApiTags('admin') @Controller('admin/dashboard') @UseGuards(SessionGuard) export class AdminDashboardController { constructor(private readonly dashboard: AdminDashboardService) {} @Get() @ApiOperation({ summary: 'Admin dashboard statistics' }) stats(@CurrentUser() user: { roles: string[] }) { assertSuperAdmin(user.roles); return this.dashboard.getStats(); } }