auth.controller.ts 757 Bytes
import { Controller, Request, Post, UseGuards } from '@nestjs/common';
import { AuthService } from './auth.service';
import { AuthGuard } from '@nestjs/passport';
import { clientEncryptBody, privateEncryptBody } from 'src/helpers/encryptor.helper';
import { ApiKeyGuard } from './guards/public-api-key.guard';

@Controller('auth')
export class AuthController {
  constructor(private readonly authService: AuthService) { }

  @UseGuards(AuthGuard('local'))
  @Post('login')
  async privateLogin(@Request() req) {
    return privateEncryptBody(await this.authService.privateLogin(req.user));
  }

  @UseGuards(ApiKeyGuard)
  @Post('public/login')
  async publicLogin(@Request() req) {
    return clientEncryptBody(await this.authService.publicLogin());
  }
}