import { Controller, Get, Request, UseGuards } from '@nestjs/common'; import { PermissionService } from './permission.service'; import { CombinedAuthGuard } from '../combined-auth.guard'; @Controller('permissions') @UseGuards(CombinedAuthGuard) export class PermissionController { constructor(private readonly permissionService: PermissionService) {} /** 获取所有可用权限(含分类) */ @Get() getAll() { return this.permissionService.getPermissionsByCategory(); } /** 获取所有权限的扁平元数据列表 */ @Get('meta') getMeta() { return this.permissionService.getAllPermissionMeta(); } /** 获取当前用户在活动租户下的权限集 */ @Get('mine') async getMine(@Request() req) { const userId = req.user.id; const tenantId = req.tenantId || req.user.tenantId; const perms = await this.permissionService.getUserPermissions(userId, tenantId); return { permissions: [...perms] }; } }