import { Controller, Get, UseGuards, Request } from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport';
import { UsersService } from './users.service.js';

@UseGuards(AuthGuard('jwt'))
@Controller('users')
export class UsersController {
  constructor(private readonly usersService: UsersService) {}

  @Get('me')
  async getProfile(@Request() req: any) {
    const user = await this.usersService.findById(req.user.userId);
    return {
      id: user?.id,
      email: user?.email,
      storageUsedBytes: user?.storageUsedBytes ? Number(user.storageUsedBytes) : 0,
      storageQuotaBytes: user?.storageQuotaBytes ? Number(user.storageQuotaBytes) : 15 * 1024 * 1024 * 1024 // 15GB fallback
    };
  }
}
