auth.controller.ts 820 Bytes
Newer Older
1
import { Body, Controller, Get, Post, Req, UseGuards } from '@nestjs/common';
Marcos's avatar
Marcos committed
2
import { ApiBearerAuth, ApiResponse, ApiTags } from '@nestjs/swagger';
3
import { AuthService } from './domain/auth.service';
4
import { LoginDto } from './dto/auth.dto';
Vitoria Ebeling Hahn's avatar
Vitoria Ebeling Hahn committed
5
import { AuthGuard } from './auth.guard';
6

Vitoria Ebeling Hahn's avatar
Vitoria Ebeling Hahn committed
7
8
@ApiTags('Login')
@Controller('login')
9
export class AuthController {
10
  constructor(public authService: AuthService) {}
11

12
  @ApiResponse({ status: 201, description: 'SignIn successfull.' })
Marcos's avatar
Marcos committed
13
  @ApiResponse({ status: 401, description: 'Unauthorized.' })
Vitoria Ebeling Hahn's avatar
Vitoria Ebeling Hahn committed
14
  @ApiResponse({ status: 400, description: 'User not found.' })
Marcos's avatar
Marcos committed
15
  @Post()
16
  login(@Body() loginDto: LoginDto) {
Vitoria Ebeling Hahn's avatar
Vitoria Ebeling Hahn committed
17
    return this.authService.login(loginDto);
18
19
  }

Vitoria Ebeling Hahn's avatar
Vitoria Ebeling Hahn committed
20
  @UseGuards(AuthGuard)
Marcos's avatar
Marcos committed
21
  @ApiBearerAuth()
Vitoria Ebeling Hahn's avatar
Vitoria Ebeling Hahn committed
22
  @Get('/me')
23
  getCurrentUser(@Req() req: any) {
Vitoria Ebeling Hahn's avatar
Vitoria Ebeling Hahn committed
24
    return req.user;
25
26
  }
}