import { Body, Controller, Post, Req } from '@nestjs/common'; import type { Request } from 'express'; import { AuthService } from './auth.service.js'; import { LoginDto, RefreshDto } from './dto.js'; import { Public } from './decorators.js'; @Controller('auth') export class AuthController { constructor(private readonly auth: AuthService) {} @Public() @Post('login') login(@Body() dto: LoginDto, @Req() req: Request) { return this.auth.login(dto, req.ip, req.headers['user-agent']); } @Public() @Post('refresh') refresh(@Body() dto: RefreshDto) { return this.auth.refresh(dto); } @Public() @Post('logout') logout(@Body() dto: RefreshDto, @Req() req: Request) { return this.auth.logout(dto, req.ip, req.headers['user-agent']); } }