Files
dukang/server/dukang-api/src/modules/ops/admin-dashboard.controller.ts
T
jacy 5935024ea8
CI / verify (pull_request) Has been cancelled
v3.5.8和v3.5.9版本更新
2026-08-25 09:20:32 +08:00

38 lines
1.2 KiB
TypeScript

import { Controller, Get, Query, UseGuards } from '@nestjs/common';
import { HqAuthGuard } from '../../common/guards/hq-auth.guard';
import {
HqPermissionGuard,
RequireHqPermissions,
} from '../../common/guards/hq-permission.guard';
import { SuperAdminGuard } from '../../common/guards/super-admin.guard';
import { CurrentUser } from '../../common/decorators/current-user.decorator';
import type { AuthUser } from '../../common/guards/jwt-auth.guard';
import { AdminDashboardService } from './admin-dashboard.service';
import { AdminDashboardAnalyticsQueryDto } from './dto/admin-query.dto';
@Controller('admin/dashboard')
@UseGuards(HqAuthGuard, HqPermissionGuard)
@RequireHqPermissions('dashboard')
export class AdminDashboardController {
constructor(private readonly dashboardService: AdminDashboardService) {}
@Get('stats')
stats(@CurrentUser() user: AuthUser) {
return this.dashboardService.getStats(user.actorId);
}
@Get('analytics')
analytics(
@CurrentUser() user: AuthUser,
@Query() query: AdminDashboardAnalyticsQueryDto,
) {
return this.dashboardService.getAnalytics(user.actorId, query);
}
@Get('version')
@UseGuards(SuperAdminGuard)
version() {
return this.dashboardService.getLatestVersion();
}
}