import { Controller, Get, Patch, Body, UseGuards, Req } from "@nestjs/common"; import { UsersService } from "./users.service"; import { JwtAuthGuard } from "../auth/guards/jwt-auth.guard"; import { ApiTags, ApiOperation } from "@nestjs/swagger"; @ApiTags("users") @Controller("me") @UseGuards(JwtAuthGuard) export class UsersController { constructor(private usersService: UsersService) {} @Get() @ApiOperation({ summary: "Get current user profile" }) async getProfile(@Req() req: any) { return this.usersService.findById(req.user.id); } @Get("summary") @ApiOperation({ summary: "Get user dashboard summary" }) async getSummary(@Req() req: any) { return this.usersService.getUserSummary(req.user.id); } @Patch() @ApiOperation({ summary: "Update user profile" }) async updateProfile(@Req() req: any, @Body() updateData: any) { return this.usersService.update(req.user.id, updateData); } @Patch("billing") @ApiOperation({ summary: "Update billing information" }) async updateBilling(@Req() req: any, @Body() billingData: any) { // TODO: Sync to WHMCS custom fields throw new Error("Not implemented"); } }