import { Controller, Get, Patch, Body } from '@nestjs/common'; import { ApiTags, ApiOperation, ApiResponse, ApiBearerAuth } from '@nestjs/swagger'; import { UsersService } from './users.service'; import { CurrentUser } from '../../common/decorators/current-user.decorator'; import type { UserPayload } from '../../common/types'; @ApiTags('users') @Controller('users') @ApiBearerAuth() export class UsersController { constructor(private readonly usersService: UsersService) {} @Get('me') @ApiOperation({ summary: '获取当前用户信息' }) @ApiResponse({ status: 200, description: '用户信息' }) async getProfile(@CurrentUser() user: UserPayload) { return this.usersService.getProfile(String(user.id)); } @Patch('me') @ApiOperation({ summary: '更新用户资料' }) async updateProfile(@CurrentUser() user: UserPayload, @Body() body: any) { return this.usersService.updateProfile(String(user.id), body); } @Patch('me/preferences') @ApiOperation({ summary: '更新用户偏好' }) async updatePreferences(@CurrentUser() user: UserPayload, @Body() body: any) { return this.usersService.updatePreferences(String(user.id), body); } }